ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:476.38KB ,
资源ID:12311375      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12311375.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++学生成绩管理系统课设报告含程序和截图.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++学生成绩管理系统课设报告含程序和截图.docx

1、c+学生成绩管理系统课设报告含程序和截图C+程序设计 课程设计报告设计题目:学生成绩管理系统一、设计任务与要求31.设计容32.课程设计的要求3二、系统分析(需求分析)31.需求分析32.系统性能要求33.系统的功能分析34.系统功能模块35.模块框架图3三、系统设计与实现41.界面设计42.功能设计与实现4四、运行显示4五、总结11六、参考资料11附录:源程序11一、设计任务与要求1.目的: 通过一个实际的系统开发,提高学生应用所学知识分析问题,解决问题和实际动手的能力,更加熟练的掌握C+程序开发的基本方法和基本步骤,对系统开发时间又进一步体会。从而综合复习C+程序设计语言的所有知识点,进一

2、步熟练面向对象程序的开发方法和流程,提高学生独立分析问题和解决问题的能力。真正理解书本知识,牢固掌握课堂教学容。为毕业设计及毕业后从事专业技术工作打下基础,提高学生全面素质。2.课程设计的要求:(1) 要求用VC+语言来实现一个简单的学生数据管理系统,该系统完成后基本上要能够无错运行,能达到学生成绩管理系统的基本要求。(2) 各个功能分别是用函数来完成,函数存放在一个.cpp文件中。(3) 准备系统运行的模拟数据不得少于十条。(4) 成绩管理系统至少具有以下功能: 1)输入:学生的基本信息,包括学号、姓名、性别、籍贯、VC+成绩、英语成绩、物理成绩等;2)计算:每个学生的总成绩、平均成绩所有学

3、生单科的平均成绩,找出总成绩和单科成绩最高的学生并输出;3)查询:可以按学好姓名等进行查询;4)排序:可以按学号、姓名、VC+成绩、英语成绩、物理成绩、总成绩、平均成绩等进行排序并输出;5)删除:删除某条记录;6)帮助和关于;7)退出:推出整个系统的运行。8)一些时间富裕的学生可以增加更多的菜单项,比如设置颜色、字体风格等。二、系统分析(需求分析)1.需求分析:a.能对学生各科成绩进行录入。b.能显示各科成绩平均分。c.能显示总成绩和单科分最高的同学。d.能对删除学生信息。e.能对学生的成绩按姓名、学号进行查询。f.能按学号和成绩排序。g.能显示所有学生信息。2.系统性能要求:a.系统安全、可

4、靠;b.功能齐全;c.操作方便、界面友好;d易于维护和扩充。3.系统的功能分析:资料维护:系统维护包括对学生信息的录入操作及数据表中的信息进行浏览。系统功能:可以对数据表中的信息进行浏览。系统查询:可以对学生的信息进行查询。4.系统功能模块学生成绩查询系统有:成绩录入、删除,数据查询,排序显示构成。5.模块框架图三、系统设计与实现1.界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。2.功能设计与实现通过主窗体调用其他窗体,具体实现可以参照系统分析相关容。应用系统主控界面包括记录编辑和记录查询等功能模块。记录编辑功能完成学生成绩记录编辑和记录查询功能。记录查询功能可以对数据各分类的记录

5、进行查询。四、运行显示1初始页界面:2.输入学生信息界面:“请按照提示输入学生信息”是帮助和关于,其他同学的信息如该截图依照提示录入即可。录入完毕显示界面为:3.显示总成绩和各单科分最高的同学的界面为:4、删除学生的信息界面为:5. 按姓名查询:6. 按学号查询:7. 排序分系统:1)姓名排序:2)学号排序:3)VC+成绩排序:其他排序法与以上一样,此处不再一一显示。8. 显示所有学生信息:9. 保存文件:10退出系统:. 此外,界面的颜色与文字的颜色,也是可以改变的。 system(color 97); /设置 背景 和 字体颜色 F是背景颜色的设置值 0是字体颜色的设置值(程序第764行)

6、改变9和7的值即改变颜色。五、总结此次c+课程设计,在指导教师的精心教导下,我们学会了如何用C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。根据C+课程所学的概念、理论和方法,按照C+程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C+语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。

7、六、参考资料C+程序设计 谭浩强 清华大学出版社附录:源程序 #include#include #include#include#include#include using namespace std;class student private: char name20; /姓名 char sex8; /性别 char native8; /籍贯 double cpro; double english; double physical; double allscore; double average; /课程 int order; /名次 int number; /学号 public: stud

8、ent() student(char* n,int nu,char* sex,char* native,double cc,double eng,double phy,double as,double av) strcpy(this-name,n); this-number=nu; strcpy(this-native,native); strcpy(this-sex,sex); this-cpro=cc; this-english=eng; this-physical=phy; this-allscore=as; this-average=av; double getcpro() retur

9、n this-cpro; double getenglish() return this-english; double getphysical() return this-physical; double getalls() return this-allscore; double getAverage() return this-average; char* getname() return this-name; int getnumber() return this-number; friend void ShowHightsrcore(); friend void ShowStuInf

10、o(); friend void QueryByNumber(); friend void QueryByName(); friend void SaveFlie(); friend void InputStudentInfo();student s50; /指针对象,最多存50个学生数据int index = 0; void ShowMenu() cout*endl; cout* 学生成绩管理系统 *endl; cout*endl; cout 0、输入学生信息endl; cout 1、显示各单科成绩平均分endl; cout 2、显示总成绩和各单科分最高的同学endl; cout 3、删除学

11、生的信息endl; cout 4、按姓名查询 endl; cout 5、按学号查询 endl; cout 6、排序分系统endl; cout 7、显示所有学生信息endl; cout 8、保存文件endl; cout 9、退出系统endl; cout*endl; cout 选择0-9数字进行操作endl; cout*endl;void InputStudentInfo() char getkey = 0; /是否录入的选择标记 char name20 = 0; /姓名 临时中间变量 int number=0; /学号 char sex8=0; /性别 char native8=0; /籍贯 d

12、ouble cpro = 0; /c语言成绩 double english = 0; /英语成绩 double physical = 0; /物理成绩 double allscore = 0; /总成绩 double average = 0; /平均成绩 int core = 0; /名次 cout请按照提示输入学生信息. . .endl; do coutendlnumber; bool IsOk; do bool IsOk = true; for(int n=0;nindex;n+) if(number=sn.number) cout输入的学号重复,请重新输入:number; IsOk =

13、false; break; while(!IsOk); coutendlname; coutendlsex; coutendlnative; coutendlcpro; coutendlenglish; coutendlphysical; coutendl; allscore=cpro + english + physical;/计算该生的总成绩 cout 总成绩:allscoreendl; /显示该生总成绩 average= allscore / 3; /技术该生平均成绩 总成绩/科目数 cout 平均成绩:averageendl;/显示该生平均成绩 sindex= student(name

14、, number,sex,native,cpro,english,physical,allscore,average); coutgetkey; index+; while( getkey = y | getkey = Y ); cout学生数据录入完毕,键入任意键返回主菜单。; getchar(); getchar();void ShowAverage() if( index = 0 ) cout 管理系统中没有输入数据!endl; coutendl键入任意键返回主菜单。endl; getchar(); getchar(); return; double cpro_ave = 0; doub

15、le english_av = 0 ; double physical_ave = 0; for(int i=0;iindex;i+) cpro_ave += si.getcpro(); english_av += si.getenglish(); physical_ave += si.getphysical(); cout该班级各单科总平均分分别为:endlendl; coutVC+平均成绩为cpro_ave/index分endl; cout英语平均成绩为english_av/index分endl; cout物理平均成绩为physical_ave/index分endl; coutendl键入

16、任意键返回主菜单。endl; getchar(); getchar();void ShowStuInfo() cout 学号 姓名 c+ 英语 物理 总成绩 平均成绩 endl; for(int i=0;iindex;i+) coutsi.numbersetw(7)si.namesetw(4) si.cprosetw(5)si.englishsetw(5) si.physicalsetw(6)si.allscoresetw(10) si.averageendl; void ShowHightsrcore() if( index = 0 ) cout 管理系统中没有输入数据!endl; cout

17、endl键入任意键返回主菜单。endl; getchar(); getchar(); return; double allscoretmp = 0; /用来存放总分最高的临时变量 double cprotmp = 0; /用来存放 VC 最高的临时变量 double englishtmp = 0; /用来存放英语最高的临时变量 double physicaltmp = 0; /用来存放物理最高的临时变量 int i; for(i=0;iindex;i+) /遍历存储学生信息的数组,找出 总分 VC 英语 物理的最高分 allscoretmp = allscoretmp si.getalls()

18、 ? si.getalls() : allscoretmp; cprotmp = cprotmp si.getcpro() ? si.getcpro() :cprotmp; englishtmp = englishtmp si.getenglish() ? si.getenglish() :englishtmp; physicaltmp = physicaltmp si.getphysical() ? si.getphysical() : physicaltmp; cout总成绩最高的学生为:endl; cout学号 姓名 c+ 英语 物理 总成绩 平均成绩 endl; for(i=0;iin

19、dex;i+) /遍历数组,输出总分最高的学生信息 if( allscoretmp = si.getalls() coutsi.numbersetw(7)si.namesetw(4) si.cprosetw(5)(si).englishsetw(5)si.physicalsetw(6) si.allscoresetw(10)si.averageendl; coutVC成绩最高的学生为:endl; cout学号 姓名 c+ 英语 物理 总成绩 平均成绩 endl; for(i=0;iindex;i+) /遍历数组,输出总分最高的学生信息 if( cprotmp = si.getcpro() co

20、utsi.numbersetw(7)si.namesetw(4) si.cprosetw(5)(si).englishsetw(5)si.physicalsetw(6) si.allscoresetw(10)si.averageendl; cout英语成绩最高的学生为:endl; cout学号 姓名 c+ 英语 物理 总成绩 平均成绩 endl; for(i=0;iindex;i+) /遍历数组,输出总分最高的学生信息 if( englishtmp = si.getenglish() coutsi.numbersetw(7)si.namesetw(4) si.cprosetw(5)(si).e

21、nglishsetw(5)si.physicalsetw(6) si.allscoresetw(10)si.averageendl; cout物理成绩最高的学生为:endl; cout姓名 学号 c+ 英语 物理 总成绩 平均成绩 endl; for(i=0;iindex;i+) /遍历数组,输出总分最高的学生信息 if( physicaltmp = si.getphysical() ) coutsi.namesetw(7)si.numbersetw(4) si.cprosetw(5)(si).englishsetw(5)si.physicalsetw(6) si.allscoresetw(1

22、0)si.averageendl; coutendl键入任意键返回主菜单。endl; getchar(); getchar(); void Delete() if( index = 0 ) cout 管理系统中没有输入数据!endl; coutendl键入任意键返回主菜单。endl; getchar(); getchar(); return; while(1) bool Isfind = false; coutnametmp; for(int i=0;iindex;i+) if( strcmp( si.getname(),nametmp ) = 0 ) /在数组中找到要删除学生 Isfind

23、= true; for(int j=i;jindex;j+) sj=sj+1; /将删除的学生后的数据全部往前移一位 index-; cout 删除成功!endl; if( !Isfind )/没有找到输入的学生的姓名 cout没有找要删除的学生的信息,请查证后再试。 endl; coutgetkey; if( getkey !=y& getkey != Y) coutendl; break; /while(1) coutendl键入任意键返回主菜单。endl; getchar(); getchar();void QueryByNumber() if( index = 0 ) cout 管理系统中没有输入数据!endl; coutendl键入任意键返回主菜单。endl; getchar(); getchar(); return; char getkey; do bool IsFind = false; int numbertmp; coutnumbertmp; coutendl; for(int i=0;iindex;i+) if(si.number=numbertmp) IsFind = true; cout 您要查询的学生是:(si).nameendl; cout(si).name的成绩是: C+:(si).c

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1