最新c++简单学生成绩系统(c++课程设计).doc

上传人:1595****071 文档编号:33829670 上传时间:2022-08-12 格式:DOC 页数:14 大小:182KB
返回 下载 相关 举报
最新c++简单学生成绩系统(c++课程设计).doc_第1页
第1页 / 共14页
最新c++简单学生成绩系统(c++课程设计).doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

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

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

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

3、utput();函数:用于输出学生信息,包括学号姓名各科及总分平均成绩主函数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.“=”“”符号的重载:在各个函数处理数据过程中对这些的调用处理函数源代码:此函数源代码在VisualC+

5、6.0环境下编译通过。具体如下:#includeiostream.h #includeconio.h #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(); /学生构造函数

6、,用于学生数据的初始化及保存学生数据void add(); /添加学生信息函数void output(); /输出学生信息函数void find(); /查找学生数据函数void modify(); /修改学生信息函数void deleted(); /删除学生信息函数void sort(); /排序函数void save(); /保存学生信息并写入文件函数void load (); /打开写有学生信息的文件的函数student & operator=(student & T); /重载“=”符号friend istream & operator (istream & scin, student

7、 &s1); /重载“”符号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 t

8、otal averagen; cout - n; for(int t=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

9、 - n; cout temp.number temp.name temp.sex temp.score0 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; coutstu

10、t.name; coutstut.sex; coutstut.score0; coutstut.score1; coutstut.score2; 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-;

11、do stui=stui+1; i+; while(i=n); if(f5=0) cout您要求删除的对象本来就不存在!; cout要继续删除吗?(y/n)c; if(toupper(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; st

12、uk=s3; coutnn排序成功!nn; void student:save() /保存函数 char filename120;coutfilename1; ofstream fout(filename1,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();

13、void student:load() /读取函数 char filename220; coutfilename2; ifstream fin(filename2,ios:in); if(!fin)cout文件打不开 !stui.namestui.sexstui.number stui.score0stui.score1stui.score2stui.totalstui.average; cout文件已读取成功!endl; fin.close(); getch(); student & student:operator=(student & T) /重载= strcpy(name,T.name

14、); 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 & 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(

15、8)s2.average (istream & scin,student &s1) /重载 couts1.number; couts1.name; couts1.sex; couts1.score0; couts1.score1; couts1.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;i3;i+)scorei=0;

16、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