您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > C++课程设计报告(学生成绩管理系统)
1学生成绩管理系统说明:该课程设计包含两个部分,一个为纯dos系统下的控制台程序,用C++编写;另一个为有界面的MFC项目。目录纯dos系统下的控制台程序1、设计要求...........................................32、设计分析...........................................33、调试说明...........................................44、源代码.............................................85、实验总结..........................................21有界面的MFC项目1、设计内容...........................................222、设计说明..........................................223、设计步骤..........................................224、运行演示..........................................275、实验总结..........................................292纯dos系统下的控制台程序1、设计要求现有学生成绩信息,内容如下:姓名学号语文数学英语张明明01677882李成友02789188张辉灿03688256王露04564577陈东明05673847请用C/C++编写一系统,实现学生信息管理,软件的入口界面应包括如下几个方面:功能要求:(1)信息维护:要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息(2)信息查询:要求:查询时可实现按姓名查询、按学号查询(3)成绩统计:要求:A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。(4)排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档2、设计分析(1)需求分析:该程序要能实现对学生成绩信息的增加、删除、修改,实现对学生按姓名查询,按学号查询显示,对任意一个课程名和分数段的学生人数进行输出并统计人数,最好还要根据用户的需求对学生成绩排序。(2)系统性能要求:a.系统安全、可靠;b.功能齐全;c.操作方便、界面友好;d.易于维护和扩充。(3)系统功能模块:学生成绩管理系统包括:增加、删除、修改、显示、信息查询、成绩统计、排序几个部分构成。3(4)模块框架图3、调试说明运行程序后,现出来一个简洁的主界面。若没有学生信息,显示“这是一个新系统,无学生信息,请先输入。”若已存在学生信息,显示“读取学生信息成功!”学生成绩管理系统增加修改删除显示信息查询成绩统计排序按学号查询按姓名查询输入课程名和分数段统计输入课程名和升降序排序4一秒钟后,自动切入主菜单界面。首先选择1,增加学生信息。录入学生信息后选择4,显示学生信息。选择2,删除学生信息,输入要删除的学生姓名,这里我输入的是王露,显5示剩下几位同学的信息。选择3,修改学生信息,输入要修改的学生姓名,然后输入新的学生信息,这里我修改的是张明明,显示修改后的学生信息。将张明明和王露的信息重新输入。输入5,信息查询,出来选择界面,“1、按学生姓名查找”、“2、按学生学号查找”,输入1,运行结果如下:6输入2,运行结果如下:输入6,排序,显示选择界面,用户可根据需求选择科目和升降序,这里我是按语文成绩降序排序。7输入7,成绩统计,用户自行输入要统计的科目和分数段进行统计。这里我统计的是英语成绩在60—90的学生。4、源程序代码#includeiostream#includefstream#includeiomanip#includestdlib.h#includeWindows.h#includeconio.husingnamespacestd;#defineHEADER1-----------------------------学生成绩----------------------------\n#defineHEADER2|姓名|学号|数学|语文|英语|总分|\n#defineHEADER3|----------|----------|----------|----------|----------|----------|\nclassStudent//定义学生类{public:charname[20];charid[20];intmath;intchinese;8intenglish;intsum;Student*next;voidinput();voidReadFile(istream&in);voidshow();};voidStudent::input()//输入学生信息函数{cout\n\t\t请输入:endlendl;cout\t\t姓名:;cinname;cout\t\t学号:;cinid;cout\t\t数学成绩:;cinmath;cout\t\t语文成绩:;cinchinese;cout\t\t英语成绩:;cinenglish;sum=math+chinese+english;}voidStudent::ReadFile(istream&in)//读取文件{innameidmathchineseenglishsum;}voidStudent::show()//输出学生信息{cout|setw(8)name|setw(6)id|setw(6)math|setw(6)chinese|setw(6)english|setw(7)sum|endl;cout|----------|----------|----------|----------|----------|----------|\n;}classStudentMassage//定义学生信息类,包含各项处理功能{public:StudentMassage();~StudentMassage();9voidShowMenu();voidDisplay();voidAddItem();voidFind();voidsave();voidModifyItem();voidRemoveItem();voidSwap(Student*p1,Student*p2);voidSort();intListCount();intCount();private:Student*Head,*End;ifstreamin;ofstreamout;Student*FindItem(char*name);Student*FindId(char*id);};Student*StudentMassage::FindItem(char*name){Student*p;for(p=Head;p-next!=End;p=p-next)if(!strcmp(p-next-name,name))returnp;returnNULL;}Student*StudentMassage::FindId(char*id){Student*p;for(p=Head;p-next!=End;p=p-next)if(!strcmp(p-next-id,id))returnp;returnNULL;}StudentMassage::StudentMassage()//构造函数{Head=newStudent;Head-next=newStudent;End=Head-next;in.open(sort.txt);if(!in)10cout\n\t\t这是一个新系统,无学生信息,请先输入。endl;else{while(!in.eof()){End-ReadFile(in);if(End-name[0]=='\0')break;End-next=newStudent;End=End-next;}in.close();cout\n\t\t读取学生信息成功!endl;}}StudentMassage::~StudentMassage()//析构函数{Student*temp;save();for(temp;Head-next!=End;){temp=Head-next;Head-next=Head-next-next;deletetemp;}deleteHead,End;}voidStudentMassage::ShowMenu()//显示菜单{cout\n\n\t\t\t\t主菜单endlendlendl;cout\t\t****************************************endlendl;cout\t\t1、增加学生信息2、删除学生信息endlendl;cout\t\t3、修改学生信息4、显示学生信息endlendl;cout\t\t5、信息查询6、排序endlendl;cout\t\t7、成绩统计0、安全退出endlendl;cout\t\t****************************************endlendlendl;cout\t\t请选择:;}voidStudentMassage::Display()//显示学生信息{11Student*p;coutendlHEADER1HEADER2HEADER3;for(p=Head-next;p!=End;p=p-next)p-show();cout\n\n输入任意字符,继续......;getch();}voidStudentMassage::AddItem()//添加学生信息{End-input();End-next=newStudent;End=End-next;cout\n\t\t添加成功!endl;cout\n输入任意字符,继续......;getch();}voidStudentMassage::Find()//查找函数{charname[20],id[20];intx;Student*p=NULL;cout\n\t\t****************************************\n;cout\t\t\t1、按学生姓名查找endl;cout\t\t\t2、按学生学号查找;cout\n\t\t****************************************\n\n\t\t请选择:;cinx;switch(x){case1://按姓名查找{cout\n\t\t请输入要查找的学生的姓名:;cinname;if(p=FindItem(name)){coutendlHEADER1HEADER2HEADER3;p-next-show();cout\n请输入任意字符,继续......;getch();}else{12cout\t\t没有找到该姓名的学生!endlendl;cout请输入任意字符,继续......;getch();}}break;cas
本文标题:C++课程设计报告(学生成绩管理系统)
链接地址:https://www.777doc.com/doc-6372773 .html