6.
定义一个学生类CStudent实现简单的学籍管理功能,要求该类至少实现以下功能:
(1) 录入学生的基本信息(包括姓名,学号,性别,年龄,专业,入学时间,各门功课成绩) (2) 输出学生的基本信息
(3) 选课(输入时间和所选的课程) (4) 统计每门课的学分绩点 (5) 统计每学期的平均学分绩点 (6) 统计重考科目 (7) 统计重修科目 #include
为什么建立数据时使用的数组? {
通过对角标的控制 便可以把一行数据全部对 cout<<\构造CStudent 开始录入基本信息\应起来 cout<<\
cout<<\
请看下面数据对应关系: cout<<\
角标 科目名称成绩学分 cout<<\
(sbj[i]) (mark[i]) (m_mark[i]) cout<<\
0 44 6 数学 cout<<\
1 92 6 C语言 cout<<\
2 72 4 英语 for(int i=0;i 便于统计也可以方便地调用出一门科目的 { 全部内容 cout<<\ cout<<\ } } void baseprint() //按(2)要求 输出基本信息 { cout<<\基本信息:\ cout<<\学生姓名:\学号:\年龄:\性别\ cout<<\入学时间:\专业:\ cout<<\成绩:\ 6 for(int i=0;i retry=0; for(i=0;i 7 for(int i=0;i int main(void) { CStudent a; a.baseprint(); a.chose(); a.Point(); a.check(); return 0; } 注意: (1)新设计的类中所需要的数据成员需要根据所要实现的功能自行设计; (2)用一个演示程序完成对所设计的新类的功能测试,并给出测试数据和实验结果; (3)为增加程序可读性,请在程序中对类成员进行适当注释说明; 补充实验题: (1)教材134页【3.33】-【3.36】 8 实验二 (2010-3-23) 实验名称: 复杂形式的对象。 实验目的: (1)掌握对象数组、对象指针和string类的使用方法; 把对象想象成一种数据类型 比如整型 有整型数组吧(int a[10])自然也有对象数组 对象指针以以上类似 有时涉及到动态联编() String类 不如说是string类型 类似于智能化的字符串数组 (2)掌握对象数组、对象指针和对象引用作为函数参数的使用方法; 主要看书 实际用的不多 注意对象数组初始化方法(书P77中上的说明) (3)掌握类对象作为成员的使用方法; 了解就行 (4)掌握友元的概念和使用方法; 通常的,通过A对象想要访问B对象的私有成员是不可能的 而通过友元就可以做到 需要注意的是 友元函数虽然在类内声明 但是友元函数不是成员函数 独立于类外 所以类外定义是不能加作用域“::” 另外,由于使用的Visual C++6.0不是完全使用C++标准 编程时如果遇到 报错内容为一堆大写字母 且错误位置指向友元函数的话 把#include (5)掌握静态数据成员和静态成员函数的使用方法; 例如:有Object类,拥有数据成员a,由Object类声明出的对象A、B、C,那么A、B、C都拥有各自的a,内存中也会分配出各自的内存空间A::a,B::a,C::a(共3个)。而如果将数据成员a声明为静态成员(static),那么A、B、C则共用一个内存空间a(只有1个) 最典型的例子是统计声明对象的数量 使用方法: static 数据类型 数据成员名 由于不能直接对数据成员赋初值 所以静态数据成员初始化方法为: 数据类型 类名::静态数据成员名= 9 初值(注意:1.是类名,不是对象名;2.之前不要加static) 静态成员函数 静态成员函数属于整个类 而不是某个对象 所以调用方法为 类名::静态成员函数名(参数表) 其他参看书P103几点说明 练习项目 Time类的框架定义如下: #include Time(int A=0,int B=0,int C=0) // 带默认参数的构造函数 { } // set functions void setTime(int a,int b,int c) { } { } { for(;;) { if(a>=60||a<0) 10 for(;;) { } hour=a; if(a>=24||a<0) { cout<<\小时输入错误 再来一次\cin>>a; } else {break;} cout<<\setHour(a); setMinute(b); setSecond(c); // 设置hour, minute, second hour=A; minute=B; second=C; //声明Time类 } // 设置second (确保数据在合理 { cout<<\分钟输入错误 再来一次\cin>>a; } else {break;} } minute=a; void setSecond( int a) 范围) { } for(;;) { if(a>=60||a<0) { cout<<\秒输入错误 再来一次\cin>>a; } else {break;} } second=a; void setHour(int a)// 设置hour (确保数据在合理范围) // get functions int getHour()// 返回 hour { } { } { } return second; return minute; return hour; int getMinute()// 返回 minute int getSecond()// 返回 second void setMinute(int a) // 设置minute (确保数据在合理范围) void printUniversal()// 按24小时格式输出时间:23:56:12 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库天津理工大学C++期末考试(2)在线全文阅读。
相关推荐: