学生成绩管理程序: 用面向对象的方法设计一个菜单驱动的学生成绩管理程
序。 学生的基本信息包括学生的学号、 姓名、 数学、 语文、 英语等信息。 实
现如下管理功能:
(1) 能输入并显示n 个学生的基本信息。
(2) 计算学生的平均分和总分。
(3) 按总分降序进行排序。
(4) 任意输入一个学号, 能显示该学生的基本信息。
(5) 可添加学生信息到指定位置, 亦可在最后追加一批学生信息。
(6) 文件的导入和导出(从文件中读取若干条学生信息, 或者将学生信息
输出到文件中) 。
输出菜单形式如下:
请选择下面的菜单:
1 创建
2 添加
3 汇总
4 排序
5 查询
6 显示
7 从文件导入
8 导出到文件
9 退出
请选择:
- #include
- #include
- #include
- #include
- using namespace std;
- int n=0;//学生总数
- int m=0;//课程数
- int number;//功能键
-
-
- class Student
- {
- public:
- Student() {}
- long int num;//学号
- char name[100];//姓名
- float score[7];//各科成绩
- float sum;//成绩总和
- float aver;//平均分
- };
-
- Student s[1000];
-
- void menu();//菜单
- void inputscore(Student s[]);//输入分数
- void averofs(Student s[]);//每名学生总分和平均分
- void sortbynum(Student s[]);//学生总分排行
- void chose(int);//功能的选择
- void findstu(Student s[]);//任意输入一个学号,能显示该学生的基本信息
- void daoru(Student s[]);//文件的导入
- void daochu(Student s[]);//文件的导出
- void adds(Student s[]);//添加
- void creat();//创建
-
-
-
- int main()
- {
-
- while(1)
- {
- menu();
- cin>>number;
- chose(number);
- }
- return 0;
- }
-
-
-
- void menu()//菜单
- {
- cout<<"\n***********请选择下面的菜单:***********\n";
- cout<<"\t 1.创建\n";//
- cout<<"\t 2.添加\n";//可在最后追加一批学生信息
- cout<<"\t 3.汇总\n";//输入数据
- cout<<"\t 4.排序\n";// 按总分降序进行排序
- cout<<"\t 5.查询\n";//任意输入一个学号,能显示该学生的基本信息。
- cout<<"\t 6.显示\n";//显示n个学生的基本信息
- cout<<"\t 7.从文件导入\n";//
- cout<<"\t 8.导出到文件\n";//将学生信息 输出到文件中
- cout<<"\t 9.退出\n";
- cout<<"\t 请选择";
- cout<<"\n***************************************\n";
- }
-
-
-
-
- void chose(int number)
- {
- switch(number)
- {
- case 1:
- creat();// 创建
- break;
- case 2:
- adds(s);//可在最后追加一批学生信息
- break;
- case 3:
- inputscore(s);//输入数据
- break;
- case 4:
- sortbynum(s);//排序
- break;
- case 5:
- findstu(s);//查询
- break;
- case 6:
- averofs(s);//显示
- break;
- case 7:
- daoru(s);//导入
- break;
- case 8:
- daochu(s);//导出
- break;
- case 9:
- exit(0);//退出
- break;
- default:
- break;
- }
- }
-
-
- void creat()//创建
- {
- cout<<"请输入学生总数(n<=100):\n";
- cin>>n;
- cout<<"请输入课程的总数(m<=7):\n";
- cin>>m;
- }
-
-
- void inputscore(Student s[])//录入信息
- {
- cout<<"请输入学生学号,姓名,及各科成绩\n";
- for(int i=0; i
- {
- cout<<"学号:"<
- cin>>s[i].num;
- if(s[i].num==0) break;
- getchar();
- cout<<"姓名:"<
- gets(s[i].name);
- cout<<"请输入各科成绩:"<
- for(int j=0; j
- {
- cin>>s[i].score[j];
- s[i].sum+=s[i].score[j];
- }
- }
- }
-
- void averofs(Student s[])//显示
- {
- for(int i=0; i
-
- {
- s[i].sum=0;
- s[i].aver=0;
- for(int j=0; j
- {
- s[i].sum+=s[i].score[j];
- }
- s[i].aver=s[i].sum/m;
- cout<
" 总分:"<" 平均分:"<" 学号:"<- }
-
- }
-
-
- bool comp1(Student a,Student b)
- {
- return a.sum>b.sum;
- }
- void sortbynum(Student s[])//从大到小排序
- {
- sort(s,s+n,comp1);
- cout<<"按总分降序进行排序"<
- for(int j=0; j
- {
- cout<
" "<- }
-
- }
-
-
-
- void daochu(Student s[])//文件的导出
- {
- ofstream ofs;
- ofs.open("student.txt",ios::out);
- ofs<
" "<" "; - for(int i=0; i
- {
- ofs<
" "<" "; - for(int j=0; j
- {
- ofs<
" "; - }
- }
- cout<<"导出成功"<
- ofs.close();
- }
-
- void daoru(Student s[])//文件的导入
- {
- ifstream ifs;
- ifs.open("student.txt",ios::in);
- for(int i=0;i
- {
- ifs>>n>>m>>s[i].num>>s[i].name>>s[i].score[0];
- }
- for(int i=0;i
- {
- cout<
" "<" "<" "<" "<0]<<" "<1]<<" "<2]< - }
- cout<<"导入成功"<
- ifs.close();
- }
-
-
-
- void findstu(Student s[])//根据学号查询
- {
- int xh,i;
- cout<<"请输入要查找的学号:"<
- cin>>xh;
- for( i=0; i
- {
- if(s[i].num==xh)
- {
- cout<
- cout<
- for(int j=0; j
- {
- cout<
- }
- }
- }
-
- }
-
-
- void adds(Student s[])//添加,在最后追加一批学生信息
- {
-
- int x;
- cout<<"请输入要添加的人数:"<
- cin>>x;
- cout<<"请输入学生学号,姓名,及各科成绩"<
- for(int i=n; i<(n+x); i++)
- {
- cout<<"学号:"<
- cin>>s[i].num;
- if(s[i].num==0) break;
- getchar();
- cout<<"姓名:"<
- gets(s[i].name);
- cout<<"请输入各科成绩:"<
- for(int j=0; j
- {
- cin>>s[i].score[j];
- s[i].sum+=s[i].score[j];
- }
- }
- n=n+x;
- }
-
-
-
相关阅读:
Flink实时数仓同步:切片表实战详解
GPU架构演进十年,从费米到安培
java.lang.ClassNotFoundException: rx.Single(hystrix)
安卓玩机搞机之. 更换内核 .内核比rom重要.了解内核相关
winapi获取鼠标指向当前元素
Talk预告 | 腾讯微信司马驰骏:OSDI论文分享-Ekko:大规模推荐系统模型低延时更新
解决windows termail中文乱码的问题
AI论文速读 | TPLLM:基于预训练语言模型的交通预测框架
hive字段关键字问题处理
C++动态内存分配
-
原文地址:https://blog.csdn.net/m0_68176382/article/details/126190104