鱼C论坛

 找回密码
 立即注册
查看: 4606|回复: 9

为什么不能输入3次啊

[复制链接]
发表于 2013-3-27 21:26:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 .._再_ 于 2013-3-27 21:43 编辑


编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。 //要求: //设计一个学生类Stud,除了包括no(学号)、name(姓名)和deg(成绩)数据成员外,有两个静态变量 // sum和num,分别存放总分和人数,另有两个普通成员函数setdata()和disp(),前者用于设置对象数据,后者用于制输出成绩在80-89分数段的学生数据。在main()函数中 // 定义了一个对象数组用于存储输入的学生数据


我这里写给出一些代码。。其他球帮完善..为什么我主函数那边的代码有错误啊...
还有set_data()函数和构造函数的代码内容是一样的吗?
不要setdata()函数可以吗??
怎么改啊。。球正确答案和详细解释。。。
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;

  4. class Stud
  5. {
  6. private:
  7. int no;
  8. string name;
  9. int deg;
  10. public:
  11. void set_data();
  12. void disp();
  13. Stud ();
  14. Stud (int tno,string tname,int tdeg);
  15. };

  16. Stud ::Stud(int tno,string tname,int tdeg)
  17. {
  18. no=tno;
  19. name=tname;
  20. deg=tdeg;
  21. }

  22. Stud ::Stud()
  23. {

  24. }

  25. void Stud::disp()
  26. {
  27. if (deg>80 &°<89)
  28. {
  29. cout<<"no:"<<no<<endl;
  30. cout<<"name:"<<name<<endl;
  31. cout<<"deg:"<<deg<<endl;
  32. }
  33. }


  34. int main()
  35. {
  36. int i;
  37. int a[3][3];
  38. for (i=0;i<3;i++)
  39. {
  40. cout<<"学号:"<<endl;
  41. cin>>a[i][0];
  42. cout<<"姓名:"<<endl;
  43. cin>>a[i][1];
  44. cout<<"成绩:"<<endl;
  45. cin>>a[i][2];

  46. }
  47. return 0;
  48. }
复制代码



小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-27 21:47:25 | 显示全部楼层
顺便问一下..使用类来定义对象数组..如何用数组对数据成员 进行动态赋值啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:Q
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-28 09:00:12 | 显示全部楼层
楼主的代码没看懂,不知道楼主想干些什么??
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-28 11:56:08 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-28 12:02:44 | 显示全部楼层
  1. class Stud

  2. {

  3. private:

  4. int no;

  5. string name;

  6. int deg;

  7. public:

  8. void set_data();

  9. void disp();

  10. Stud ();

  11. Stud (int tno,string tname,int tdeg);

  12. };

复制代码
这里你是定义一个类,是吧。而在主函数当中你却没有这个类,而是用个一个二维数组,然后给这个二位数组赋值,然后.....就没然后了。既然这样的话,你上面的类的定义和实现有什么用呢?不是吗??
下面是楼主的主函数代码。
  1. int main()

  2. {

  3. int i;

  4. int a[3][3];

  5. for (i=0;i<3;i++)

  6. {

  7. cout<<"学号:"<<endl;

  8. cin>>a[i][0];

  9. cout<<"姓名:"<<endl;

  10. cin>>a[i][1];

  11. cout<<"成绩:"<<endl;

  12. cin>>a[i][2];



  13. }

  14. return 0;

  15. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-28 12:10:55 | 显示全部楼层
小亮1201 发表于 2013-3-28 12:02
这里你是定义一个类,是吧。而在主函数当中你却没有这个类,而是用个一个二维数组,然后给这个二位数组赋值 ...

主函数那里是用类定义数组的 --
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-28 12:50:23 | 显示全部楼层
主函数那里是用类定义数组的

但是你代码里数组的类型是 int 呀
  1. int a[3][3];
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-28 13:55:52 | 显示全部楼层
set函数跟构造函数不一样 啊~完全可以不要~只是给外部提供一种机制去修改类中的私有成员
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-28 16:51:02 | 显示全部楼层
小亮1201 发表于 2013-3-28 12:50
但是你代码里数组的类型是 int 呀

打错了哇.......:L
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-28 18:31:31 | 显示全部楼层
这个代码是不是略长啊
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-5 03:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表