一道题.现在每面一次都总一次总结,希望早日可以找到工作.

a291410855 2013-05-09 09:20:42
实现一个Person类有name,age,sex,
还有一个Student类继承Person,还包括学生五门功课的成绩.
该类要实现求每门课的平均成绩.并且得到在平均值以上的学生数.
...全文
333 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
老老实实写for循环吧,不见得多简洁,但很实际、
please_call_me_J 2013-05-10
  • 打赏
  • 举报
回复
补充一下,成绩我觉得应该是属于学科类
please_call_me_J 2013-05-10
  • 打赏
  • 举报
回复
引用 14 楼 a291410855 的回复:
[quote=引用 12 楼 wolf_y 的回复:] 两个类,person类,学生类。 该类要实现求每门课的平均成绩.并且得到在平均值以上的学生数. 该类时指的哪个类,学生类?
我当时做的时候就是写了就是三个类,person,student,Mycalc(计算平均成绩) 很戳的.这样写我也知道哪里有问题(就是当增加一门课程的时候扩展性极差)[/quote] 我不太擅长怎么增加扩展性,不过这里我想到了弄个成绩接口,你的stu类里再放成绩的接口list,现在新加一个成绩就加上1个实现成绩接口的类,然后把这个类add到stu里面的list,最后stu提供一个方法就是遍历这个list中的类,并计算平均
a291410855 2013-05-10
  • 打赏
  • 举报
回复
引用 12 楼 wolf_y 的回复:
两个类,person类,学生类。 该类要实现求每门课的平均成绩.并且得到在平均值以上的学生数. 该类时指的哪个类,学生类?
我当时做的时候就是写了就是三个类,person,student,Mycalc(计算平均成绩) 很戳的.这样写我也知道哪里有问题(就是当增加一门课程的时候扩展性极差)
a291410855 2013-05-10
  • 打赏
  • 举报
回复
引用 12 楼 wolf_y 的回复:
两个类,person类,学生类。 该类要实现求每门课的平均成绩.并且得到在平均值以上的学生数. 该类时指的哪个类,学生类?
这就是我所纳闷的地方.我回忆一下题目,应该是Stu类里实现求平均值.
狼烟辉 2013-05-10
  • 打赏
  • 举报
回复
两个类,person类,学生类。 该类要实现求每门课的平均成绩.并且得到在平均值以上的学生数. 该类时指的哪个类,学生类?
a291410855 2013-05-10
  • 打赏
  • 举报
回复
我知道是很基础的问题,可是应该怎么写扩展性好呢?
linrachel 2013-05-10
  • 打赏
  • 举报
回复
老师留的作业吧,还面试题。。
a291410855 2013-05-10
  • 打赏
  • 举报
回复
谁能帮我写一下,我实在不知道这道题目的答案.
a291410855 2013-05-10
  • 打赏
  • 举报
回复
引用 19 楼 wjp111_0 的回复:
using System; using System.Collections.Generic; using System.Linq; using System.Text; //实现一个Person类有name,age,sex, //还有一个Student类继承Person,还包括学生五门功课的成绩. //该类要实现求每门课的平均成绩.并且得到在平均值以上的学生数. namespace ConsoleApplication10 { class Program { static void Main(string[] args) { Student s01 = new Student("学生01"); Student s02 = new Student("学生02"); Student s03 = new Student("学生03"); Student s04 = new Student("学生04"); Course c01 = new Course(); c01.Students.Add(s01,90); c01.Students.Add(s02,60); c01.Students.Add(s03,40); c01.Students.Add(s04,40); Console.WriteLine(c01.GetOverAverageCountNumber()); Console.ReadKey(); } } public class Student : Person { public String Sno { set; get; } public Student(String value) { Sno = value; } public List<Course> Courses = new List<Course>(); } public class Course { public String CourseName { set; get; } public Dictionary<Student, int> Students = new Dictionary<Student,int>(); public int GetOverAverageCountNumber() { int sum = 0; int average = 0; foreach (int item in Students.Values) { average += item; } foreach (int item in Students.Values) { if(item > average/Students.Count) { sum++; } } return sum; } } //人类 public class Person { public String Name { set; get; } public int Age { set; get; } public int Gender { set; get; } } }
不错.不过五门课程.这样是不是也有点繁琐了呢?
please_call_me_J 2013-05-10
  • 打赏
  • 举报
回复
引用 18 楼 a291410855 的回复:
这里我有一点疑问.这里求某科在平均数以上的学生数明明是针对若干个stu对象中的某一科.对student类内部能实现某一科在平均数以上的学生数?
我没认真看题,是我的错误
wjp111_0 2013-05-10
  • 打赏
  • 举报
回复
using System; using System.Collections.Generic; using System.Linq; using System.Text; //实现一个Person类有name,age,sex, //还有一个Student类继承Person,还包括学生五门功课的成绩. //该类要实现求每门课的平均成绩.并且得到在平均值以上的学生数. namespace ConsoleApplication10 { class Program { static void Main(string[] args) { Student s01 = new Student("学生01"); Student s02 = new Student("学生02"); Student s03 = new Student("学生03"); Student s04 = new Student("学生04"); Course c01 = new Course(); c01.Students.Add(s01,90); c01.Students.Add(s02,60); c01.Students.Add(s03,40); c01.Students.Add(s04,40); Console.WriteLine(c01.GetOverAverageCountNumber()); Console.ReadKey(); } } public class Student : Person { public String Sno { set; get; } public Student(String value) { Sno = value; } public List<Course> Courses = new List<Course>(); } public class Course { public String CourseName { set; get; } public Dictionary<Student, int> Students = new Dictionary<Student,int>(); public int GetOverAverageCountNumber() { int sum = 0; int average = 0; foreach (int item in Students.Values) { average += item; } foreach (int item in Students.Values) { if(item > average/Students.Count) { sum++; } } return sum; } } //人类 public class Person { public String Name { set; get; } public int Age { set; get; } public int Gender { set; get; } } }
a291410855 2013-05-10
  • 打赏
  • 举报
回复
引用 15 楼 juyangjia 的回复:
[quote=引用 14 楼 a291410855 的回复:] [quote=引用 12 楼 wolf_y 的回复:] 两个类,person类,学生类。 该类要实现求每门课的平均成绩.并且得到在平均值以上的学生数. 该类时指的哪个类,学生类?
我当时做的时候就是写了就是三个类,person,student,Mycalc(计算平均成绩) 很戳的.这样写我也知道哪里有问题(就是当增加一门课程的时候扩展性极差)[/quote] 我不太擅长怎么增加扩展性,不过这里我想到了弄个成绩接口,你的stu类里再放成绩的接口list,现在新加一个成绩就加上1个实现成绩接口的类,然后把这个类add到stu里面的list,最后stu提供一个方法就是遍历这个list中的类,并计算平均[/quote] 这里我有一点疑问.这里求某科在平均数以上的学生数明明是针对若干个stu对象中的某一科.对student类内部能实现某一科在平均数以上的学生数?
niaoked 2013-05-09
  • 打赏
  • 举报
回复

///Person
calss Person
{
  public strig Name{get;set;}
  public byte Age{get;set;}
  public byte Sex{get;set;}
}
///Student
class Student:Person
{
   /// Scores list
   public List<float> Scores{get;set}
   
  /// Get Avg Score
  public float GetAvgScore()
  {
    if(Scores==null|| Scores.Count==0){return 0F;}
    float avgScore=0F;
    foreach(float score in Scores)
    {
     avgScoe+=score;  
    }
    avgScore=avgScore/(float)Scores.Count;
   return avgScore;  
  }
}

a291410855 2013-05-09
  • 打赏
  • 举报
回复
如何实现啊,这些都是很基础的问题.我希望能得到答案.谢了.
_小黑_ 2013-05-09
  • 打赏
  • 举报
回复
a291410855 2013-05-09
  • 打赏
  • 举报
回复
是哪个SB把我帖子移动到非技术区了?
a291410855 2013-05-09
  • 打赏
  • 举报
回复
和数据库没有关系.
大腹 2013-05-09
  • 打赏
  • 举报
回复
楼上说的有道理,很基础的问题。 无非就是设计数据库,然后根据需求计算数据啦 楼主是哪里不会呢?
cheng2005 2013-05-09
  • 打赏
  • 举报
回复
楼主还没毕业? 这种题目一般是某种编程语言的入门题,对于此语言零基础的学生大概在学习6-8课时之后会被留这种小作业,如果是有一点基础的学生,一般2-4课时就会被留这种小作业。
加载更多回复(1)

110,535

社区成员

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

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

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