




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生成绩管理系统要求用C+语言编写学生成绩管理系统,要求能进行添加删除修改输入输出等的操作,并能使用面相对像原理对此系统进行实现。学生成绩管理系统分析:学生成绩管理系统分为8个模块,分别是:添加学生信息,输出学生成绩,查找学生成绩,修改学生成绩,删除学生成绩,学生成绩排序,保存数据到文件和读取文件中学生成绩的模块。学生成绩管理系统结构: Main()函数Menu()函数Student()Add()Output()Find()Modify()Deleted()Sort()Save()Load()重载符号Student类私有成员:char name20; char sex5; int number
2、; int score3; int total; int average;公有函数各个子函数功能及其流程:1. 首先定义一个学生类Class Student;并定义其各个私有变量和公有函数Class Studentload重载Classaddoutputfinddeletemodifysave私有变量2. Student();构造函数,用于初始化学生类中的各个变量并记录3. Add();函数:用于添加学生信息的函数包括学号姓名成绩等的内容主函数main()菜单函数menu()选择菜单中的选项添加学生信息调用Add()函数调用重载<<并添加信息4. Output();函数:用于输出学
3、生信息,包括学号姓名各科及总分平均成绩主函数main()菜单函数menu()选择菜单中的选项输出学生信息调用Output()函数输出学生信息5. Find();函数:用于查找学生各项信息。主函数main()菜单函数menu()选择菜单中的选项查找学生信息调用find()函数查找并输出学生信息要求输入学生姓名6. modify();函数:用于修改学生各项信息。主函数main()菜单函数menu()选择菜单中的选项修改学生信息调用modify()函数修改并保存学生信息要求输入学生姓名7. delete();函数:用于删除学生信息。主函数main()菜单函数menu()选择菜单中的选项删除学生信息调
4、用delete()函数删除学生信息要求输入学生姓名8.sort();函数:对学生各项信息进行排序操作。主函数main()菜单函数menu()选择菜单中的选项学生信息排序调用Sort()函数完成排序操作8. save()和load();函数:将学生信息保存到文件中,并在需要的时候调用该文件将其中的学生信息显示出来 主函数main()菜单函数menu()选择菜单中的选项选保存或读取调用load()函数文件读取成功调用save()函数按要求输入文件名文件保存成功9.“=”“<<”“>>”符号的重载:在各个函数处理数据过程中对这些的调用处理函数源代码:此函数源代码在Visual
5、C+6.0环境下编译通过。具体如下:#include"iostream.h" #include"conio.h" #include"iomanip.h" #include"stdio.h" #include"string.h" #include"stdlib.h" #include"fstream.h" class student /定义学生类 char name20; /名字char sex5; /性别int number; /学号int score3;
6、 /分数int total; /总分int average; /平均分 public: /公有成员student(); /学生构造函数,用于学生数据的初始化及保存学生数据void add(); /添加学生信息函数void output(); /输出学生信息函数void find(); /查找学生数据函数void modify(); /修改学生信息函数void deleted(); /删除学生信息函数void sort(); /排序函数void save(); /保存学生信息并写入文件函数void load (); /打开写有学生信息的文件的函数student & operator=(s
7、tudent & T); /重载“=”符号friend istream & operator >> (istream & scin, student &s1); /重载“>>”符号friend ostream & operator << (ostream & scout, student &s2); /重载“>>”符号; student stu100; int n=0;void student:add() /添加函数 char flag='Y' while(toupper(f
8、lag)='Y') cin>>stun; n+; cout<<" 要继续添加吗(y/n)" cin>>flag; if(toupper(flag)!='Y') if(toupper(flag)='N') break; else cout<<"错误,请重输:" cin>>flag; void student:output() /输出函数 if(n!=0) cout<<" -n" cout<<" n
9、umber name sex math C+ English total averagen" cout<<" - n" for(int t=0;t<n;t+) cout<<stut; getch(); void student:find() /查找函数 int f3=0; char n120; student temp; cout<<" 输入你要查找的人的姓名: " cin>>n1; for(int j=0;j<n;j+) if(strcmp(,n1)=0) temp
10、=stuj; f3=1; if(f3=0) cout<<"对不起,没有你要查找的学生成绩"<<endl; else cout<<" -n" cout<<" number name sex math C+ English total averagen" cout<<" - n" cout<<" "<<temp.number<<" "<<<<&
11、quot; "<<temp.sex<<" "<<temp.score0 <<" "<<temp.score1<<" "<<temp.score2<<" "<<temp.total<<" "<<temp.average<<endl; getch(); void student:modify() /修改函数 int f4=0; int t; cha
12、r n250; cout<<" 输入你要修改的人的姓名:" cin>>n2; for(int j=0;j<n;j+) if(strcmp(,n2)=0) t=j; f4=1; if(f4=0) cout<<"对不起,没有你要修改的学生成绩"<<endl; else cout<< "请输入学号: " cin>>stut.number; cout<< " 姓名: " cin>>; c
13、out<< " 性别 : " cin>>stut.sex; cout<< " 数学成绩: " cin>>stut.score0; cout<< " C+成绩: " cin>>stut.score1; cout<< " 英语成绩: " cin>>stut.score2; stut.total=stut.score0+stut.score1+stut.score2; stut.average=stut.total/3; co
14、ut<<" 修改成功 !"<<endl; getch(); void student:deleted() /删除函数 char n320; bool f5=0; char c; do cout<<"请输入您要删除的学生姓名:" cin>>n3; for(int i=0;i<n;i+) if(strcmp(n3,)=0) f5=1; n-; do stui=stui+1; i+; while(i<=n); if(f5=0) cout<<"您要求删除的对象本来
15、就不存在!" cout<<"要继续删除吗?(y/n)"<<endl; cin>>c; if(toupper(c)!='Y'&&toupper(c)!='N') cout<<"输入指令错误!请重新输入Y或N!"<<endl; cin>>c; while(toupper(c)='Y'); getch(); void student:sort() /排序函数 int i,j,k; student s3; for( i
16、=0;i<(n-1);i+) k=i; for(j=i+1;j<n;j+) if(stuj.average>stui.average)k=j; if(k!=i) s3=stui; stui=stuk; stuk=s3; cout<<"nn排序成功!nn" void student:save() /保存函数 char filename120;cout<<"请输入文件名: " cin>>filename1; ofstream fout(filename1,ios:app); if(!fout)cout&l
17、t;<"文件不能打开!"<<endl; else for(int i=0;i<n;i+) fout<<' '<<<<' '<<stui.sex<<' '<<stui.number<<' ' <<stui.score0<<' '<<stui.score1<<' '<<stui.score2<&
18、lt;' '<<stui.total<<' '<<stui.average<<' ' cout<<"保存成功!"<<endl; fout.close(); getch(); void student:load() /读取函数 char filename220; cout<<"请输入你要读取的文件名: " cin>>filename2; ifstream fin(filename2,ios:in); if(!fin
19、)cout<<"文件打不开 !"<<endl; else for(int i=0;i+,n=i-1) if(fin.eof()break; fin>>>>stui.sex>>stui.number >>stui.score0>>stui.score1>>stui.score2>>stui.total>>stui.average; cout<<"文件已读取成功!"<<endl; fin.close
20、(); getch(); student & student:operator=(student & T) /重载= strcpy(name,T.name); strcpy(sex,T.sex); number=T.number; for(int i=0;i<3;i+)scorei=T.scorei; total=T.total; average=T.average; return ( * this ); ostream & operator << (ostream & scout, student &s2) /重载<< c
21、out<<setw(6)<<s2.number<<setw(10)<<<<setw(8)<<s2.sex<<setw(8)<<s2.score0 <<setw(8)<<s2.score1<<setw(10)<<s2.score2<<setw(10)<<s2.total<<setw(8)<<s2.average<<endl; return scout; istream &
22、operator >> (istream & scin,student &s1) /重载>> cout<< " t学号:" scin>>s1.number; cout<< " t姓名:" scin>>; cout<< " t性别 :" scin>>s1.sex; cout<< " t数学成绩:" scin>>s1.score0; cout<< "
23、 tC+成绩:" scin>>s1.score1; cout<< " t英语成绩:" scin>>s1.score2; s1.total=s1.score0+s1.score1+s1.score2; s1.average=s1.total/3; return scin; student:student() /构造函数 strcpy(name," "); strcpy(sex," "); number=0; for(int i=0;i<3;i+)scorei=0; total=0; average=0; void menu() /菜单函数 cout<<"nnn学生成绩管理系统主菜单 "<<endl; cout<<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年新教材高中数学 第五章 三角函数 5.4 三角函数的图象与性质(5)教学实录 新人教A版必修第一册
- 2024-2025学年新教材高中生物 第4章 细胞的生命历程 第3节 细胞凋亡是编程性死亡教学实录 浙科版必修第一册
- 1挑战第一次 第一课时 (教学设计)-部编版道德与法治二年级下册
- 城市智慧水务建设与管理解决方案
- 6《有多少浪费本可避免 餐桌上的浪费》教学设计-2023-2024学年道德与法治四年级下册统编版
- 11一块奶酪教学设计-2024-2025学年三年级上册语文统编版
- 三农技术推广体系构建指南
- 2024年春七年级语文下册 第二单元 6 最后一课教学实录 新人教版
- 人教版六年级语文上册第四课《花之歌》教学设计
- DB3715-T 6-2022 博洋61甜瓜设施栽培技术规程
- 统编版(2024)道德与法治七年级下册第一单元 珍惜青春时光 单元测试卷(含答案)
- 2025年甘肃省张掖市民乐县招聘专业技术人员9人(第二期)历年高频重点模拟试卷提升(共500题附带答案详解)
- 2025年湖北武汉理工大学学生辅导员招聘18人历年高频重点模拟试卷提升(共500题附带答案详解)
- 北京服装学院招聘考试题库2024
- 金融科技概论-课件 第十五章 金融科技监管与监管科技
- 2024年江苏省南京市中考数学试卷真题(含答案解析)
- 物资装卸培训课件
- DB5101-T 71-2020 成都市电动汽车充电设施 安全管理规范
- 2025年北京电子科技职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年乌兰察布医学高等专科学校高职单招职业技能测试近5年常考版参考题库含答案解析
- 2024年二级建造师之二建机电工程实务考试题库含完整答案
评论
0/150
提交评论