当前位置:首页 > c++面向对象课程设计报告 - (学生成绩管理系统)
理,那就是说一个程序的产生需要一个对题目要求有一个正确全面的分析。其次,就该考虑程序算法的问题了,一个好的算法是一个好程序的灵魂,也决定了一个程序的质量。
两个星期的课设虽然有些疲劳和困倦,但带给我很多的收获。C++已经学了一个学期了,有许多知识都存在似懂非懂的现象,这种现象通过实际的上机操作,已经减少了许多。对这些知识也有了更深的理解和很好的掌握。也有很多理论上说得过去的代码,但到了实际操作,却是行不通的。这种困惑,有许多已经通过实际操作解决了,并能够深刻认识,但也有很多没有明白。只能避过这些方法,换方法实现。在课程设计之前,因为有了综合实验的经验与教训,明白了写代码这一步是非常重要的,因为当你把代码输入电脑,并用编译器将其运行,发现通过不了,再来检查找出问题,这是一件非常辛苦的事情,也很浪费时间。于是在课程设计的时候,我花了四天的时间来规划与写代码,将要实现的内容分析清楚,才把代码输入电脑。我觉得写程序,应该先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避免等到发现逻辑上或者编译器不支持上的错误,才来想补救的措施,这样花费时间在想补救措施是很不值得的。
这次的课程设计,真是让我充分的感觉到了要自己设计一个程序是多么的难,以及学习好c++是多么的重要。在这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,课程的知识学得有多么的不扎实。看网上的例子好像觉得也没那么难,自己一上机实际操作就出现了很多问题,调试的时候系统总是在报错,还有很多警告,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。
以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。
7. 程序代码
#include
#include
#include
int M=100; static int M2=0;
class Score{ //分数类
private: int score;
public:
Score(int s=0){ score=s;
}
void set1(){
cout<<\请输入分数:\
cin>>score;
}
void show1(){
cout<<\
} };
class Subject{ //科目类
private: Score sc; char subject[20];
public: Subject(){
for(int i=0;i<20;i++) subject[i]=0;
}
void set2(){
cout<<\请输入科目名称:\
cin>>subject; sc.set1();
}
void show2(){ cout< } }; class Student{ //学生类 private: Subject p1[8]; char name[20]; int num; char S; int n; public: Student(){ for(int i=0;i<20;i++) name[i]=0; num=0; S=0; } void set3(); void show3(); int getNU1(){return num;} char *getNA1(){return name;} }; void Student::show3(){ //学生类显示函数 int i; cout<<\姓名:\性别:\学号:\ for(i=0;i<8;i++) p1[i].show2(); } void Student::set3(){ //学生类修改函数 int i; cout<<\请输入学生姓名:\ cin>>name; cout<<\请输入该生学号:\ cin>>num; cout<<\请输入该生性别:\ cin>>S; cout<<\请输入每门课程的名字及分数.\ for(i=0;i<8;i++) p1[i].set2(); } class Class{ //班级类 private: Student stu; char name2[20]; int num2; public: Class(){ for(int i=0;i<20;i++) name2[i]=0; num2=0; } int getNU(){return stu.getNU1();} string getNA(){return stu.getNA1();} void set4(){ cout<<\请输入该生所在班级名称:\ cin>>name2; cout<<\请输入该班班号:\ cin>>num2; stu.set3(); } void show4(){ cout<<\班级:\班号:\\t\ stu.show3(); } friend void Search1(Class c1[],int count1); friend void Search2(Class c2[],int count2); friend void Update1(Class c3[],int count_d); friend void Delete(Class c4[],int *count_c); friend void Insert(Class c5[],int &count_a); }b[100]; void Save(Class c6[],int count) //记录存入文件函数 { fstream file(\ if(!file) { cout<<\ abort(); } for(int i=0;i file.write(reinterpret_cast
共分享92篇相关文档