C++实现基本的成绩管理系统
需求:
1-学生姓名等基本字段
2-学生成绩字段
3-实现成绩修改和基本统计输出
1 #include2 #include 3 #include 4 #include 5 using namespace std; 6 const int MAX=100; 7 const char* savefile="info.dat"; //文件保存地址 8 class student//先定义一个学生信息类,内部的成员变量是公有的。 9 { public: 10 char name[30];//学生姓名 11 int stu_no;//学号,只能输入数字 12 double c_score;//分数,双浮点类型 13 }; 14 class ManageStu 15 { public: 16 ManageStu();//初始化 17 ~ManageStu(); 18 void controlsystem(); 19 private: 20 void menu();//菜单 21 void input();//输入学生成绩 22 void displayone(int i,int style=0); 23 void search();//按照学号和姓名查询成绩 24 void ModifyScore() ;//修改学生成绩 25 void waitkey();//等待输入按键函数 26 void statistics();//统计,最低成绩,最高成绩,总成绩和平均成绩 27 void Initial();//从数据记录中下载数据 28 void Save();//将数据上传到数据库中 29 void displayarea(int low,int high); 30 void print();//显示输出 31 student stu[MAX];//最多放MAX的个学生 32 int N;//目前学生人数 33 }; 34 //主菜单 35 void ManageStu::menu() 36 { 37 system("cls"); 38 cout< >cho; 68 system("cls");//选择相应的操作后,清除屏幕上的其他信息,只显示要操作的信息 69 switch(cho)//选择结构,灵活进入各个功能 70 { 71 case 1:input();break; 72 case 2:search();break; 73 case 3:ModifyScore();break; 74 case 4:print();break; 75 case 5:statistics();break; 76 case 0:return;//程序结束的地方 77 default: goto OPEN; //输入错误,默认重新开始 78 } 79 goto OPEN; 80 } 81 void ManageStu::input()//输入函数实现代码 82 { //输入相应的信息 83 char conti='Y'; 84 do{ 85 cout<<"根据提示输入信息"< >stu[N].stu_no; 87 cout<<"姓名:";cin>>stu[N].name; 88 cout<<"C++成绩: ";cin>>stu[N].c_score; 89 cout<<"是否继续输出(y/n): ";cin>>conti; 90 N++; 91 }while(conti=='Y'||conti=='y');//判断是否继续输入 92 } 93 void ManageStu::displayone(int i,int style) 94 { 95 if(style==0) 96 { 97 cout<<"学号:"< < >choice;121 int result=-1;//保存查找到的信息 122 switch(choice)123 {124 case 1:{125 int stuno;126 cout<<"输入学号:";cin>>stuno;127 for(int i=0;i >name;139 for(int i=0;i > ch;162 if(ch=='y'||ch=='Y')goto SEAR;//如果继续查询则返回初始菜单状态 163 //否则默认退出本函数 164 }165 void ManageStu::ModifyScore()166 { //修改分数代码实现 167 MODI:168 int result=-1;//保存查找的结果 169 char name[30];170 cout<<"输入学生姓名:";cin>>name;171 for(int i=0;i >stu[result].c_score;189 cout<<"修改后的信息如下"< > ch;195 if(ch=='y'||ch=='Y')goto MODI;196 }197 void ManageStu::waitkey()//等待按键的函数实现代码 198 {199 cout< <<"按ENTER键退出"< stu[result].c_score)217 result=i;218 else if(stu[i].c_score >stu[N].stu_no)//直到将文件中的信息全部加载完为止 248 {249 in>>stu[N].name>>stu[N].c_score;250 N++;//自动使记录加一 251 }252 in.close();//关闭文件句柄 253 }254 void ManageStu::Save()//保存文件 255 {256 ofstream out(savefile,ios::out);//打开文件,输出模式 257 for(int i=0;i <"< <<" :"< =low&&stu[i].c_score =90284 displayarea(90,101);285 //80-89286 displayarea(80,90);287 //70-79288 displayarea(70,80);289 //60-70290 displayarea(60,70);291 //0-60292 displayarea(0,60);293 waitkey();//在此等待按键,若不按键就会留在这个输出界面上294 //否则无法留在输出界面,直接返回菜单,导致无法看到输出结果 295 }296 int main()297 {298 ManageStu command;299 command.controlsystem();//调用控制函数实现代码 300 return 0;301 }