C++简单学生成绩管理系统(C++课程设计).pdf

上传人:索**** 文档编号:75098517 上传时间:2023-03-01 格式:PDF 页数:12 大小:135.40KB
返回 下载 相关 举报
C++简单学生成绩管理系统(C++课程设计).pdf_第1页
第1页 / 共12页
C++简单学生成绩管理系统(C++课程设计).pdf_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《C++简单学生成绩管理系统(C++课程设计).pdf》由会员分享,可在线阅读,更多相关《C++简单学生成绩管理系统(C++课程设计).pdf(12页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C+学生成绩管理系统要求用 C+语言编写学生成绩管理系统,要求能进行添加删除修改输入输出等的操作,并能使用面相对像原理对此系统进行实现。学生成绩管理系统分析:学生成绩管理系统分为8 个模块,分别是:添加学生信息,输出学生成绩,查找学生成绩,修改学生成绩,删除学生成绩,学生成绩排序,保存数据到文件和读取文件中学生成绩的模块。学生成绩管理系统结构:Menu()函数Student()Add()Output()Find()Modify()Deleted()Sort()Save()Load()重载符号Student 类私有成员:char name20;char sex5;int number;int s

2、core3;int total;int average;公有函数Main()函数各个子函数功能及其流程:1.首先定义一个学生类Class Student;并定义其各个私有变量和公有函数2.Student();构造函数,用于初始化学生类中的各个变量并记录3.Add();函数:用于添加学生信息的函数包括学号姓名成绩等的内容4.Output();函数:用于输出学生信息,包括学号姓名各科及总分平均成绩主函数 main()菜单函数menu()选 择 菜 单 中 的选项添加学生信息调用 Add()函数调用重载 并添加信息主函数 main()菜单函数 menu()选 择 菜 单 中 的选项输出学生信息调用

3、Output()函数输出学生信息Class Student load 重载Class add output find delete modify save 私有变量5.Find();函数:用于查找学生各项信息。6.modify();函数:用于修改学生各项信息。7.delete();函数:用于删除学生信息。主函数 main()菜单函数 menu()选 择 菜 单 中 的选项修改学生信息调用 modify()函数修改并保存学生信息要求输入学生姓名主函数 main()菜单函数 menu()选 择 菜 单 中 的选项查找学生信息调用 find()函数查找并输出学生信息要求输入学生姓名8.sort();

4、函数:对学生各项信息进行排序操作。8.save()和 load();函数:将学生信息保存到文件中,并在需要的时候调用该文件将其中的学生信息显示出来主函数 main()菜单函数menu()选 择 菜 单 中 的选项学生信息排序调用 Sort()函数完成排序操作主函数 main()菜单函数 menu()选 择 菜 单 中 的选项删除学生信息调用 delete()函数删除学生信息要求输入学生姓名9.“=”“”符号的重载:在各个函数处理数据过程中对这些的调用处理函数源代码:此函数源代码在VisualC+6.0 环境下编译通过。具体如下:#includeiostream.h#includeconio.h

5、#includeiomanip.h#includestdio.h#includestring.h#includestdlib.h#includefstream.h class student/定义学生类 private:/定义学生类的私有成员char name20;/名字char sex5;/性别int number;/学号int score3;/分数int total;/总分int average;/平均分public:/公有成员student();/学生构造函数,用于学生数据的初始化及保存学生数据void add();/添加学生信息函数void output();/输出学生信息函数void

6、 find();/查找学生数据函数void modify();/修改学生信息函数void deleted();/删除学生信息函数void sort();/排序函数void save();/保存学生信息并写入文件函数void load();/打开写有学生信息的文件的函数主函数 main()菜单函数menu()选择菜单中的选项选保存或读取调用 load()函数文件读取成功调用 save()函数按要求输入文件名文件保存成功student&operator=(student&T);/重载“=”符号friend istream&operator (istream&scin,student&s1);/重载

7、“”符号friend ostream&operator”符号;student stu100;int n=0;void student:add()/添加函数 char flag=Y;while(toupper(flag)=Y)cinstun;n+;coutflag;if(toupper(flag)!=Y)if(toupper(flag)=N)break;else coutflag;void student:output()/输出函数 if(n!=0)cout-n;cout number name sex math C+English total averagen;cout-n;for(int t

8、=0;tn;t+)coutstut;getch();void student:find()/查找函数 int f3=0;char n120;student temp;coutn1;for(int j=0;jn;j+)if(strcmp(stuj.name,n1)=0)temp=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 temp.name temp.sex temp.score0

9、temp.score1 temp.score2 temp.total temp.averageendl;getch();void student:modify()/修改函数 int f4=0;int t;char n250;coutn2;for(int j=0;jn;j+)if(strcmp(stuj.name,n2)=0)t=j;f4=1;if(f4=0)cout 对不起,没有你要修改的学生成绩endl;else coutstut.number;coutstut.name;coutstut.sex;coutstut.score0;coutstut.score1;coutstut.score2

10、;stut.total=stut.score0+stut.score1+stut.score2;stut.average=stut.total/3;cout 修改成功!endl;getch();void student:deleted()/删除函数 char n320;bool f5=0;char c;do coutn3;for(int i=0;in;i+)if(strcmp(n3,stui.name)=0)f5=1;n-;do stui=stui+1;i+;while(i=n);if(f5=0)cout 您要求删除的对象本来就不存在!;cout 要继续删除吗?(y/n)c;if(touppe

11、r(c)!=Y&toupper(c)!=N)cout 输入指令错误!请重新输入Y 或 N!c;while(toupper(c)=Y);getch();void student:sort()/排序函数 int i,j,k;student s3;for(i=0;i(n-1);i+)k=i;for(j=i+1;jstui.average)k=j;if(k!=i)s3=stui;stui=stuk;stuk=s3;coutnn 排序成功!nn;void student:save()/保存函数 char filename120;coutfilename1;ofstream fout(filename1,

12、ios:app);if(!fout)cout 文件不能打开!endl;else for(int i=0;in;i+)fout stui.name stui.sex stui.number stui.score0 stui.score1 stui.score2 stui.total stui.average;cout 保存成功!endl;fout.close();getch();void student:load()/读取函数 char filename220;coutfilename2;ifstream fin(filename2,ios:in);if(!fin)cout 文件打不开!stui

13、.namestui.sexstui.number stui.score0stui.score1stui.score2stui.totalstui.average;cout 文件已读取成功!endl;fin.close();getch();student&student:operator=(student&T)/重载=strcpy(name,T.name);strcpy(sex,T.sex);number=T.number;for(int i=0;i3;i+)scorei=T.scorei;total=T.total;average=T.average;return(*this);ostream

14、&operator (ostream&scout,student&s2)/重载 coutsetw(6)s2.numbersetw(10)s2.namesetw(8)s2.sexsetw(8)s2.score0 setw(8)s2.score1setw(10)s2.score2setw(10)s2.totalsetw(8)s2.average(istream&scin,student&s1)/重载 couts1.number;couts1.name;couts1.sex;couts1.score0;couts1.score1;couts1.score2;s1.total=s1.score0+s1

15、.score1+s1.score2;s1.average=s1.total/3;return scin;student:student()/构造函数 strcpy(name,);strcpy(sex,);number=0;for(int i=0;i3;i+)scorei=0;total=0;average=0;void menu()/菜单函数 coutnnn 学生成绩管理系统主菜单endl;coutnnn1.添加学生信息endl;cout2.输出学生信息endl;cout3.查找学生信息endl;cout4.修改学生信息endl;cout5.删除学生信息endl;cout6.学生信息排序endl;cout7.保存数据endl;cout8.读出数据endl;cout9.退出系统endl;coutchoose;switch(choose)case 1:s.add();break;case 2:s.output();break;case 3:s.find();break;case 4:s.modify();break;case 5:s.deleted();break;case 6:s.sort();break;case 7:s.save();break;case 8:s.load();break;default:break;while(choose!=0);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com