谁来写写看看这个C#题目(初级的)

zh6335901 2010-10-26 10:23:50
定义一个学生类,其中有3个私有数据成员学号、姓名、成绩,以及若干成员函数实现对学生数据的赋值和输出。
要求 (1)在主函数中定义一个对象数组,完成对数组中每个对象的赋值。
(2)定义一个友元函数找出成绩最高的学生的学号和姓名,该函数的形式参数为对象引用。
小弟刚学C#。。自己写了个结果运行不了。。。
这是我自己写的
namespace Student
{
class Program
{
public class Student
{
private int number;
private string name;
private int grade;

public int Grade
{
get
{
return grade;
}
set
{
grade = value;
}
}

public Student()
{
}

public void scan()
{
Console.Write("请输入学号:");
this.number = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入姓名:");
this.name = Console.ReadLine();
Console.Write("请输入成绩:");
this.Grade = Convert.ToInt32(Console.ReadLine());
}

public void print(Student theStudent)
{
Console.WriteLine("学号:{0}\n姓名:{1}\n成绩:{2}", theStudent.number, theStudent.name, theStudent.grade);
}
}
static void Main(string[] args)
{
Student[] myStudents=new Student[5];
for (int i = 0; i < 5; i++)
{
myStudents[i].scan();
}
Student maxStudent = MaxGrade(myStudents);
maxStudent.print(maxStudent);
}

static Student MaxGrade(Student[] theStudent)
{
int maxVal=0;
for (int i = 0; i < 4; i++)
{
if (theStudent[i].Grade < theStudent[i + 1].Grade)
{
maxVal = i + 1;
}
}
return theStudent[maxVal];
}
}
}
编译器老是说myStudents[i].scan();这句未将对象引用设置到对象实例
...全文
141 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
王少雷 2010-10-26
  • 打赏
  • 举报
回复
未将对象引用设置到对象实例

这句话的意思就是,空指针异常,没有实例化对象的意思。
zh6335901 2010-10-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
Student[] myStudents=new Student[5];
for (int i = 0; i < 5; i++)
{
myStudents[i]=new Student();

}
使用List<student>保存数据,通过索引器取值
获取最大值LINQ MAX就可
[/Quote]
你能帮我改改吗?
yudengchang 2010-10-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
Student[] myStudents=new Student[5];
for (int i = 0; i < 5; i++)
{
myStudents[i]=new Student();

}
使用List<student>保存数据,通过索引器取值
获取最大值LINQ MAX就可
[/Quote]

上面的实现就可以.
qq463179018 2010-10-26
  • 打赏
  • 举报
回复
恩,感觉C#代码写得不是很规范啊!
wuyq11 2010-10-26
  • 打赏
  • 举报
回复
Student[] myStudents=new Student[5];
for (int i = 0; i < 5; i++)
{
myStudents[i]=new Student();

}
使用List<student>保存数据,通过索引器取值
获取最大值LINQ MAX就可
龍月 2010-10-26
  • 打赏
  • 举报
回复
Student[] myStudents=new Student[5];

==================

这里要给 Student数组设置 对象啊
Student S1 =new Student();
Student[0]=S1 ;
设置属性
Student S2 =new Student();
Student[1]=S2 ;
....
================
for (int i = 0; i < 5; i++)
{
myStudents[i].scan();
}
3 种 考 试 笔 试,电话面试,面试,是顺利求职的 3 个过程。三关全过才能顺 利签约,只要有一关没能通过,就会被“刷”掉。 3.1 笔试 我认为笔试是程序员面试 3 个过程中最重要的一个环节,也是最难 以提升的一个环节。本书中主要叙述的也是程序员的笔试经历。不论你 有多么大的才干,多么广博的知识,如果未能通过笔试,则无缘下面的 进程。下面是一个表,描述了各种 IT 公司笔试所考题目的类型。 公 司 名 称  Trend 公 司 类 型  网络公司 笔 试 内 容  C++ 或 Java,网络,数据库,设计模式,智力测 试,英语阅读 SAP Advantech Synopsys NEC 金山 华为 中兴 VIA 华为 3COM SPSS 软件咨询,ERP,CRM 硬件,自动化公司 电子类公司 综合软件公司 综合软件公司 通信公司 通信公司 硬件公司 网络公司 数据统计软件公司 C++ ,概率问题,设计模式,智力测试 C++ (尤其是指针问题),嵌入式编程 C++ (尤其是指针问题),数据结构 C ,数据结构 C++或 PHP ,数据库,数据结构,设计模式 C++或 Java,数据结构,数据库 C++或 Java,数据结构,数据库 C++ (尤其是指针问题),嵌入式编程 C++ ,网络 C++ (尤其是继承、多态问题),数据结构 程序员面试宝典 (续表) 公 司 名 称  Sybase Motorola IBM Oracle HP 腾讯 Yahoo 微软 神州数码 大唐移动 Siemens Grapecity 公 司 类 型  数据库公司 网络公司 综合软件公司 数据库公司 综合软件公司 综合软件公司 综合软件公司 综合软件公司 金融软件公司 通信公司 数据通信公司 软件公司 笔 试 内 容  C++ ,Linux,UNIX C++ ,网络 C++或 Java Java,数据库 C++ C++ C++或 Java 或 C# C++ ,数据结构,智力测试 C++或 Java,数据结构,数据库(SQL) C++ C++ ,设计模式 C++ ,C#,智力测验 根据上表,对各大 IT 公司的笔试题目和所考的内容,我们可以窥见 一斑,并得出以下几个结论。 1.语言的偏向性 综合上表所示, 公司笔试在编程语言上有一定偏向性, C、 IT 以 C++ 为主或者是以 Java 为主。语言本身并没有什么高低贵贱之分,但相对来 说,考到 Delphi 或者 VB 的可能性很小。作为应届毕业生,如果只是学 过 VB、VF 却从来没有接触过 C 系语言,则在笔试中是比较吃亏的。 2.英语的重要性 我所经历过的外企的笔试卷子基本上都是英语试卷,无论从出题到 解答,都是让你用英文去回答,所以必须有很好的英文阅读能力,这也 是外企招人对英语非常看重的原因。其实也不需要一定通过六级,但一 定要有相对多的单词量,能够看懂考题的意思。然后按自己的想法组织 语言来描述就可以。 国内企业一般对外语要求不是很看重,题目也是中文的。如果不想 进外企的话,也不用特别准备英语。 3.淡看智力测试 之所以要强调这一点,是和市面上过度强调外企智力测试有关。实 际上笔者参加过的微软等外企笔试,智力测试只占很小的比例,约 3%~ 14 在3 种考试中 5%左右。而华为、神州数码等国内 IT 企业基本上没有智力测试,完全是 技术考试。所以奉劝大家不要把精力都投在所谓的外企智力测试上面, 还是应该以准备技术方面的笔试为主。 4.有的放矢准备简历 不同的公司会考不同的内容,这就像高中时准备不同科目考试的差 别。比如说神州数码不会考嵌入式编程,而 VIA 考设计模式的可能性很 小。一般有点儿偏“硬”的 IT 公司会对 C++中指针的用法、数据结构考 得比较多。偏“软”的企业会对设计模式、模板着重一些。所以本书分 得很细,力求对各种 IT 公司的笔试题目做一个详尽的阐述。 作为求职者,笔试前你要首先搞清这个公司的基本情况,它是做什么 的,它有什么产品,你是学什么方面的。有的放矢才能折桂。 5.纸上写程序 搞计算机的肯定不习惯在纸上写程序,然而技术面试的时候这是面 试官最常用的一招。让写的常见程序有:数据结构书上的程序,经典 C 程序(strcmp、strcpy、atoi……) ,C++程序(表现 C++经典特性的) 。第 一次在面试官眼皮底下在纸上写程序,思路容易紊乱。建议大家事先多 练习,找个同学坐在边上,在他面前写程序,把该同学当成面试官。经 过多次考验,在纸上写程序就基本不慌了。 每次面试总会有些问题回答得不好,回来之后一定要总结,把不懂 的问题搞明白。一个求职者就碰到两家公司问了同样的问题,第一次答 不出,回去没查,第二次又被问到,当然这是很郁闷的事情。  3.2 电话面试 电话面试主要是对简历上一些模糊信息的确认、之前经历的验证、 针对应聘职位简单技术问题的提问,以及英文方面的考查。 由于模式的限制,电话面试时间不会很长。在这个环节中,一定要 表现得自信、礼貌、认真、严肃,这样会在声音上给对方一个良好的印 象。如果声音慵懒,语气生硬,除非是技术题目及英文方面表现得足够 好,否则很难予以平衡。 15 程序员面试宝典 在回答电话面试的问题时,不要过于紧张,要留心对方的问题,这 些问题也许在当面的面试中还会再出现。如果对方在电话面试中要求你 做英文的自我介绍,或者干脆用英文和你对话,那在电话面试结束后一 定要好好准备英文面试的内容。 笔者曾经参加过 Thoughtworks 、Sybase、 SAP、麒麟原创等公司的电 话面试。外企一般都会要求你做一个英文自我介绍和一些小问题,总的 来说不会太过涉及技术方面,因为用英语来描述技术对国人而言还是有 一定困难的。国企会问到技术问题,我就曾被问到如何在 C++中调用 C 程序、索引的分类等技术问题,回答基本上要靠平时的积累和对知识的 掌控能力。电话面试的具体内容可参见第 18 章。 3.3 面试 一个比较好的面试是能够问出求职者擅长哪方面而哪方面不足的面 试。如果面试官针对求职者不足之处穷追猛打,或是炫耀自己的才能, 这是不足取的。 对于求职者而言,面试是重点环节,要守时是当然的了。如果不能 按时参加面试,最好提前通知对方。着装上不需要过分准备,舒服、干 净就好了。一般的 IT 公司对技术人员都不会有很高的着装要求。虽然着 装不要求,但精神状态一定要好。饱满的精神状态会显得你很自信。 有笔试的话(有时笔试和面试是同时进行的,即面试官会在提问后 请你回答并写下详细描述) 也无非是与应聘职位相关的技术考查或者英 , 文考查,如英汉互译等。应视你应聘职位的等级进行准备。 应聘初级职位,会针对你的编程能力和以往的项目经验进行重点的 考查。如果面试官针对你做的某个项目反复提问,那么你就需要注意了, 要么面试官在这个方面特别精通,要么就是未来的职位需要用到这方面 的技术。我们应该抱着一种诚恳的态度来回答,对熟悉的技术点可以详 细阐述,对于不熟悉的部分可以诚实地告诉面试官,千万不要不懂装懂。 不过,我们同意可以引导与面试官的谈话,把他尽量引导到我们所擅长 的领域。在 SPSS 公司面试时, 在回答完面试官单链表逆置和拷贝构造函 数问题之后,我把话题引入了我所擅长的设计模式方面,这是一种谈话

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧