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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C++课程设计报告学生成绩管理系统.docx

1、C+课程设计报告学生成绩管理系统学生成绩管理系统说明:该课程设计包含两个部分,一个为纯dos系统下的控制台程序,用C+编写;另一个为有界面的MFC项目。纯dos系统下的控制台程序1、设计要求.32、设计分析.33、调试说明.44、源代码.85、实验总结.21有界面的MFC项目1、设计容.222、设计说明.223、设计步骤.224、运行演示.275、实验总结.29纯dos系统下的控制台程序1、设计要求现有学生成绩信息,容如下:学号 语文数学 英语 明明01 677882成友02 789188辉灿03 688256王露04 564577东明05 673847请用C/C+编写一系统,实现学生信息管理

2、,软件的入口界面应包括如下几个方面:功能要求:(1)信息维护:要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息(2)信息查询:要求:查询时可实现按查询、按学号查询(3)成绩统计:要求:A输入任意的一个课程名(如数学)和一个分数段(如60-70),统计出在此分数段的学生情况。(4)排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)其它要求:(1) 只能使用C/C+语言,源程序要有适当的注释,使程序容易阅读(2) 至少采用文本菜单界面(如果能采用图形菜单界面更好

3、)(3) 学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档2、设计分析(1)需求分析:该程序要能实现对学生成绩信息的增加、删除、修改,实现对学生按查询,按学号查询显示,对任意一个课程名和分数段的学生人数进行输出并统计人数,最好还要根据用户的需求对学生成绩排序。(2)系统性能要求:a.系统安全、可靠;b.功能齐全;c.操作方便、界面友好;d.易于维护和扩充。(3)系统功能模块:学生成绩管理系统包括:增加、删除、修改、显示、信息查询、成绩统计、排序几个部分构成。(4)模块框架图3、调试说明运行程序后,现出来一个简洁的主界面。若没有学生信息,显示“这是一个新

4、系统,无学生信息,请先输入。”若已存在学生信息,显示“读取学生信息成功!”一秒钟后,自动切入主菜单界面。首先选择1,增加学生信息。录入学生信息后选择4,显示学生信息。选择2,删除学生信息,输入要删除的学生,这里我输入的是王露,显示剩下几位同学的信息。选择3,修改学生信息,输入要修改的学生,然后输入新的学生信息,这里我修改的是明明,显示修改后的学生信息。将明明和王露的信息重新输入。输入5,信息查询,出来选择界面,“1、按学生查找”、“2、按学生学号查找”,输入1,运行结果如下:输入2,运行结果如下:输入6,排序,显示选择界面,用户可根据需求选择科目和升降序,这里我是按语文成绩降序排序。输入7,成

5、绩统计,用户自行输入要统计的科目和分数段进行统计。这里我统计的是英语成绩在6090的学生。4、源程序代码#include#include#include#include#include#includeusing namespace std ;#define HEADER1 -学生成绩-n#define HEADER2 | | 学号 | 数学 | 语文 | 英语 | 总分 |n#define HEADER3 |-|-|-|-|-|-|nclass Student /定义学生类public: char name20 ; char id20 ; int math ; int chinese ; in

6、t english ; int sum ; Student *next ; void input() ; void ReadFile(istream & in) ; void show() ; ;void Student:input() /输入学生信息函数 coutntt请输入:endlendl ; coutname ; coutid ; coutmath ; coutchinese ; coutenglish ; sum = math + chinese + english ;void Student:ReadFile(istream & in) /读取文件 innameidmathchin

7、eseenglishsum ;void Student:show() /输出学生信息 cout |setw(8)name |setw(6)id |setw(6)math |setw(6)chinese |setw(6)english |setw(7)sum |endl ; coutnext != End ; p = p-next) if(!strcmp(p-next-name , name) return p ; return NULL ;Student *StudentMassage:FindId(char *id) Student *p ; for(p = Head ; p-next !=

8、 End ; p = p-next) if(!strcmp(p-next-id , id) return p ; return NULL ;StudentMassage:StudentMassage() /构造函数 Head = new Student ; Head-next = new Student ; End = Head-next ; in.open(sort.txt) ; if(!in) coutntt这是一个新系统,无学生信息,请先输入。ReadFile(in) ; if(End-name0=0) break ; End-next = new Student ; End = End

9、-next ; in.close() ; coutntt读取学生信息成功!next != End ; ) temp = Head-next ; Head - next = Head -next-next ; delete temp ; delete Head , End ;void StudentMassage:ShowMenu() /显示菜单 coutnntttt 主菜单endlendlendl ; couttt*endlendl ; couttt1、增加学生信息 2、删除学生信息endlendl ; couttt3、修改学生信息 4、显示学生信息endlendl ; couttt5、信息查

10、询 6、排序endlendl ; couttt7、成绩统计 0、安全退出endlendl ; couttt*endlendlendl ; couttt请选择: ;void StudentMassage:Display() /显示学生信息 Student *p ; coutendlHEADER1HEADER2next ; p != End ; p = p-next) p-show() ; coutinput() ; End-next = new Student ; End = End-next ; coutntt添加成功!endl ; coutn输入任意字符,继续. ; getch() ;voi

11、d StudentMassage:Find() /查找函数 char name20 , id20 ; int x ; Student *p = NULL ; coutntt*n ; coutttt 1、按学生查找endl ; coutttt 2、按学生学号查找 ; coutx ; switch(x) case 1: /按查找 coutname ; if(p = FindItem(name) coutendlHEADER1HEADER2next-show() ; coutn请输入任意字符,继续. ; getch() ; else couttt没有找到该的学生!endlendl ; cout请输入

12、任意字符,继续. ; getch() ; break ; case 2: /按学号查找 coutid ; if(p = FindId(id) coutendlHEADER1HEADER2next-show() ; coutn请输入任意字符,继续. ; getch() ; else coutntt没有找到该学号的学生!endlendl ; cout请输入任意字符,继续. ; getch() ; break ; void StudentMassage:ModifyItem() /修改学生信息 char name20 ; Student *p = NULL ; coutname ; if(p = F

13、indItem(name) coutntt已找到该学生,请输入新的信息!next-input() ; coutntt修改成功!endl ; Display() ; else coutntt没有找到!endl ; coutn输入任意字符!继续. ; getch() ; void StudentMassage:RemoveItem() /删除学生信息 char name20 ; Student *p = NULL , *temp = NULL ; coutname ; if(p = FindItem(name) temp = p-next ; p-next = p-next-next ; dele

14、te temp ; coutntt删除成功!endl ; Display() ; else couttt没有找到!endl ; coutnext ; p != End ; p = p-next) n + ; return n ;int StudentMassage:Count() /成绩统计 Student *p ; int x , m , n ,count = 0 ; if(!Head) coutntt没有资料可以统计!endl ; return 0 ; coutntt*n ; coutttt 1、统计数学成绩endl ; coutttt 2、统计语文成绩endl ; coutttt 3、统

15、计英语成绩 ; coutntt*nendl ; coutx ; switch(x) case 1 : coutm ; cinn ; for(p = Head ; p != End ; p = p-next) if(p-math =m & p-math = n) count + ; if(count = 1) coutendlHEADER1HEADER2show() ; coutntt数学成绩在m-n的学生共有count人!nendl ; cout输入任意字符,继续. ; getch() ; ; break ; case 2: coutm ; cinn ; for(p = Head ; p !=

16、 End ; p = p-next) if(p-chinese =m & p-chinese = n) count + ; if(count = 1) coutendlHEADER1HEADER2show() ; coutntt语文成绩在m-n的学生共有count人!nendl ; cout输入任意字符,继续. ; getch() ; ; break ; case 3: coutm ; cinn ; for(p = Head ; p != End ; p = p-next) if(p-english =m & p-english = n) count + ; if(count = 1) cou

17、tendlHEADER1HEADER2show() ; coutntt英语成绩在m-n的学生共有count人!nendl ; coutname , p1-name) ; strcpy(temp-id , p1-id) ; temp-math = p1-math ; temp-chinese = p1-chinese ; temp-english = p1-english ; temp-sum = p1-sum ; strcpy(p1-name , p2-name) ; strcpy(p1-id , p2-id) ; p1-math = p2-math ; p1-chinese = p2-chi

18、nese ; p1-english = p2-english ; p1-sum = p2-sum ; strcpy(p2-name , temp-name) ; strcpy(p2-id , temp-id) ; p2-math = temp-math ; p2-chinese = temp-chinese ; p2-english = temp-english ; p2-sum = temp-sum ;void StudentMassage:Sort() /排序 Student *p = NULL , *p1 = NULL , *k = NULL ; int n = StudentMassage:ListCount() , x , y ; if(n 2) cout数据较少,无法排序!endl ; return ; coutntt*n ; coutttt 1、按数学成绩排

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

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