C课程设计报告学生成绩管理系统.docx
《C课程设计报告学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C课程设计报告学生成绩管理系统.docx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学生成绩管理系统说明:该课程设计包含两个部分,一个为纯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)模块框架图排序成绩统计信息查询显示修改删除增加输入课程名和
4、升降序排序输入课程名和分数段统计按姓名查询按学号查询3、 调试说明运行程序后,现出来一个简洁的主界面。若没有学生信息,显示“这是一个新系统,无学生信息,请先输入。”若已存在学生信息,显示“读取学生信息成功!”一秒钟后,自动切入主菜单界面。首先选择1,增加学生信息。录入学生信息后选择4,显示学生信息。选择2,删除学生信息,输入要删除的学生姓名,这里我输入的是王露,显示剩下几位同学的信息。选择3,修改学生信息,输入要修改的学生姓名,然后输入新的学生信息,这里我修改的是张明明,显示修改后的学生信息。将张明明和王露的信息重新输入。输入5,信息查询,出来选择界面,“1、按学生姓名查找”、“2、按学生学号
5、查找”,输入1,运行结果如下:输入2,运行结果如下:输入6,排序,显示选择界面,用户可根据需求选择科目和升降序,这里我是按语文成绩降序排序。输入7,成绩统计,用户自行输入要统计的科目和分数段进行统计。这里我统计的是英语成绩在6090的学生。4、 源程序代码#include#include#include#include#include#includeusing namespace std ;#define HEADER1 -学生成绩-n#define HEADER2 | 姓名 | 学号 | 数学 | 语文 | 英语 | 总分 |n#define HEADER3 |-|-|-|-|-|-|ncl
6、ass Student /定义学生类public:char name20 ;char id20 ;int math ;int chinese ;int 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 + engli
7、sh ;void Student:ReadFile(istream & in) /读取文件innameidmathchineseenglishsum ;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 *StudentMassag
8、e:FindId(char *id) Student *p ;for(p = Head ; p-next != 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=
9、0)break ;End-next = new Student ;End = End-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、修改学生信
10、息 4、显示学生信息endlendl ;couttt5、信息查询 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输入任意字
11、符,继续. ;getch() ;void 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() ;elsecouttt没有找到该姓名的学生!endlendl
12、;cout请输入任意字符,继续. ;getch() ; break ;case 2: /按学号查找coutid ;if(p = FindId(id)coutendlHEADER1HEADER2next-show() ;coutn请输入任意字符,继续. ;getch() ;elsecoutntt没有找到该学号的学生!endlendl ;cout请输入任意字符,继续. ;getch() ; break ;void StudentMassage:ModifyItem() /修改学生信息char name20 ;Student *p = NULL ;coutname ;if(p = FindItem(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 学生 成绩管理系统
限制150内