C++简单学生成绩管理系统(C++课程设计)_第1页
C++简单学生成绩管理系统(C++课程设计)_第2页
C++简单学生成绩管理系统(C++课程设计)_第3页
C++简单学生成绩管理系统(C++课程设计)_第4页
C++简单学生成绩管理系统(C++课程设计)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、Output ();函数:用于输出学生信息,包括学号姓名各科及总分平均成绩主函数 main()菜单函数 menu()选 择菜 单 中 的选项输出学生信息调用 Output()函数输出学生信息2 / 12.5. Find ();函数:用于查找学生各项信息。主函数 main()菜单函数 menu()选 择 菜 单 中 的选项查找学生信息调用 find ()函数要求输入学生姓名查找并输出学生信息6. modify(); 函数:用于修改学生各项信息。主函数 main()菜单函数 menu()选 择菜 单 中 的选项修改学生信息调用 modify ()函数要求输入学生姓名修改并保存学生信息7. dele

4、te(); 函数:用于删除学生信息。3 / 12.主函数 main()菜单函数 menu()选 择菜 单 中 的选项删除学生信息调用 delete()函数要求输入学生姓名删除学生信息8.sort(); 函数:对学生各项信息进行排序操作。主函数 main()菜单函数menu()选择 菜 单 中 的选项学生信息排序调用 Sort()函数完成排序操作8. save()和 load(); 函数:将学生信息保存到文件中, 并在需要的时候调用该文件将其中的学生信息显示出来4 / 12.主函数 main()菜单函数menu()选择菜单中的选项调用 save()函数选保存或读取调用 load()函数按要求输入

5、文件名文件读取成功文件保存成功9.“ =”“ ”符号的重载:在各个函数处理数据过程中对这些的调用处理函数源代码 :此函数源代码在VisualC+6.0 环境下编译通过。具体如下:#includeiostream.h#includeconio.h#includeiomanip.h#includestdio.h#includestring.h#includestdlib.h#includefstream.hclass student /定义学生类private:/ 定义学生类的私有成员char name20; / 名字char sex5; / 性别int number; / 学号int score

6、3; / 分数int total; / 总分int average; /平均分public: / 公有成员student(); / 学生构造函数,用于学生数据的初始化及保存学生数据void add(); / 添加学生信息函数void output(); / 输出学生信息函数void find(); / 查找学生数据函数void modify(); / 修改学生信息函数void deleted(); / 删除学生信息函数void sort(); / 排序函数void save(); / 保存学生信息并写入文件函数void load (); / 打开写有学生信息的文件的函数5 / 12.stude

7、nt & operator=(student & T); / 重载“ =”符号friend istream & operator (istream & scin, student &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;elsecoutflag;void

8、 student:output() / 输出函数if(n!=0)cout -n;coutnumbernamesexmathC+Englishtotalaveragen;cout - n;for(int t=0;tn;t+)coutstut;getch();6 / 12.void student:find() / 查找函数int f3=0;char n120;student temp;coutn1;for(int j=0;jn;j+)if(strcmp(,n1)=0)temp=stuj;f3=1;if(f3=0)cout 对不起,没有你要查找的学生成绩endl;elsecout

9、 -n;cout number name sex math C+ English total averagen;cout - n;cout temp.number temp.sex temp.score0temp.score1temp.score2temp.totaltemp.averageendl;getch();void student:modify() / 修改函数int f4=0;int t;char n250;coutn2;for(int j=0;jn;j+)if(strcmp(,n2)=0)t=j;f4=1;7 / 12.if(f4=0)cou

10、t 对不起,没有你要修改的学生成绩endl;elsecoutstut.number;;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;docoutn3;for(int i=0;in;i+)if(st

11、rcmp(n3,)=0)f5=1;n-;dostui=stui+1;i+;while(i=n);if(f5=0)cout 您要求删除的对象本来就不存在!;8 / 12.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

12、!=i)s3=stui;stui=stuk;stuk=s3;coutnn 排序成功 !nn;void student:save() / 保存函数char filename120;coutfilename1;ofstream fout(filename1,ios:app);if(!fout)cout 文件不能打开!endl;elsefor(int i=0;in;i+)fout stui.sex stui.number stui.score0 stui.score1 stui.score2 stui.total stui.average ;9 / 12.cout 保存成功 !e

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

14、=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 & operator (ostream & scout, student &s2) / 重载 coutsetw(6)s2.numbersetw(10)setw(8)s2.sexsetw(8)s2.score0setw(8)s2.score1setw(10)s2.score2setw(10)s

15、2.totalsetw(8)s2.average (istream & scin,student &s1) /重载 couts1.number;;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;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;swi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论