C--学生成绩管理系统课程设计报告剖析(共35页).doc
《C--学生成绩管理系统课程设计报告剖析(共35页).doc》由会员分享,可在线阅读,更多相关《C--学生成绩管理系统课程设计报告剖析(共35页).doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上C+面向对象程序设计课程设计设计题目:成绩管理系统 专 业:计算机科学与技术 班 级: 学 号: 姓 名:贺超 日 期:2015年10月25日2015年12月25日成 绩: 专心-专注-专业目录一、选题背景学生成绩管理系统是对学生信息及成绩的管理。开发工具Visual C+。主要用于对学生的学号、姓名等基本信息以及各个学科成绩进行增加、删除、修改、查询以及保存到文件等操作。系统给用户提供一个人机界面,使用户可以根据提示输入操作项,调用系统提供的管理功能。二、方案论证 本系统采用c+控制台程序来实现程序所需的所有要求,具体实现如下:1. 系统主控平台通过主菜单允许用户选
2、择想要的操作。包括输入学生信息、显示学生信息、查询学生信息、修改学生信息、删除学生信息、显示所有学生信息、统计各个分数段学生信息、学生按总分排序输出。通过输入相应的序号选择相应的操作。2. 增加学生成绩信息用户根据提示输入学生的学号、姓名、性别、4门课程的成绩(课程名称自定)。输入完一条学生记录,保存在学生数组中,可选择继续输入下条学生记录还是退回到主菜单。3. 显示学生信息将保存在学生数组中的学生记录逐行显示出来。若数据很多,应该每显示若干行后暂停,按回车后继续显示后续内容。4. 查询学生信息先询问按学号、姓名、成绩做查询,若按学号查询,则输入要查找的学号,然后在学生数组中找到该学号的学生记
3、录,显示出该学生的信息。若找不到该学号信息,则显示无此学号。若按姓名查询,则输入要查找的姓名,然后在学生数组中找到该姓名的学生记录,显示出该学生的信息。若找不到该姓名信息,则显示无此姓名。若按成绩查询,则输入要查找的科目及成绩范围,然后在学生数组中找到该成绩范围的学生记录(可以有多个学生),显示出相关学生的信息。若找不到信息,则显示无此成绩。每次查询完,询问是否继续查询,是则继续下轮查询,否则退回主菜单。5 修改学生信息先提示输入要修改的学生的学号,在学生数组中找出该学生记录,若找到,则重新输入学生的姓名、性别、4门课程的成绩等。然后保存到学生数组的该学生记录中。若找不到,则显示无此学号。6.
4、 删除学生信息先提示输入要删除的学生的学号,在学生数组中找出该学生记录,若找到,则在学生数组中删除该学生记录。若找不到,则显示无此学号。7. 学生信息按总分排序在本模块中,系统自动遍历信息链表并排序来对链表中所有的信息进行排序,并在排序后显示排序后的所有信息。8. 保存数据到文件与将文件数据装入学生数组在系统退出前,先将学生数组的学生信息保存的文件中。然后结束系统。每次进入系统时,先将文件中的学生数据装入学生链表中,然后才进入系统的主菜单。本系统的数据存储利用类对象链表,定义学生信息类,将学生信息定义为类的成员变量,并定义初始化信息、修改信息、显示信息、计算总分、计算平均分这几个类成员函数,方
5、便数据的增加与修改。系统中录入学生数据前会在系统类对象链表中检测是否存在与输入的学号相同的信息,如果存在并继续输入了信息,则会出现信息的重复和搜索不到的情况,因此,设置数据检查环节可以避免数据的重复录入,当出现输入了重复的数据时,会有系统提示,提示输入的信息已存在并提供重新输入的机会;另在输入学号查找和删除部分,如果系统在检测类对象链表的时候未发现系统中包含输入的学号,则输出提示,输入的信息在系统中不存在;系统在学生信息查询部分,有根据学生成绩查询所有符合条件的学生信息,这部分存在输入分数的上下限问题,必须存在上限大于等于下限,并且上下限必须都在分数的范围内,因此每次输入一个分数都设置一个判断
6、语句来判断是否符合条件,如果不符合提示重新输入。本系统开发环境:VC+6.0使用开发语言:C+三、过程论述详细设计:图1 系统模块图如图1,本系统分为添加学生信息模块、删除学生信息模块、修改学生信息模块、查找学生信息模块、显示学生信息模块、学生信息排序、统计学生信息七个主要实现功能的模块,每个模块分别有个主函数,用来实现这个模块的信息。1.系统学生信息类设计:class Menupublic:int TheMenu();void Work();void Save();void Read();int ReadOnePart(int nPass, char cOneLine, int n, cha
7、r cC, int m);int nEnd;int nChoose;Menu();Menu();protected:void Insert();void Revise();void Delete();void Search();void Show();Menu:Menu()nEnd = 1;nChoose = 0;Menu:Menu()class Worker :public Menupublic:int TheMenu();void Work();protected:void Insert();void Revise();void Delete();void Search();void Or
8、derInChinese();void OrderInEnglish();void OrderInMath();void OrderInSum();void Show();class Information/数据:public:char cNum12;/学号char cName12;/姓名char cSex12;/性别int nChinese;int nMath;int nEnglish;int nSum;Information *pSNext;2.添加学生信息模块:图2 添加学生信息流程图添加信息的时候会检测系统中是否含有同样学号的学生信息,如果不存在才可以添加,如果已经存在,需要输出提示。
9、添加学生信息函数:void Worker:Insert()int nCheck = 0;/用于判断是否存在int nScore1;int nScore2;int nScore3;float nSum;cout * endl;cout *请输入学号: * cNum;pSSearch = pSHead;/遍历指针指向头指针,开始遍历链表while (pSSearch != NULL)if (strcmp(pSSearch-cNum, cNum) = 0)/如果等于0表示两边字符数组相等,即存在cout * endl;cout * 输入的学号已存在! * endl;cout * pSNext;/令遍
10、历指针指向下一个节点/查找不存在再插入信息,因此nCkeck 为0if (nCheck = 0)/向链表中插入值cout *请输入姓名: * cName;cout *请输入性别: * cSex;cout *请输入语文成绩: * nChinese;cout *请输入数学成绩: * nMath;cout *请输入英语成绩: * nEnglish;nSum = nChinese + nMath + nEnglish;pSSearch = pSHead;/遍历指针指向头指针pSFormer = pSHead;/最开始初始化为指向头指针if (pSSearch = NULL)/如果头指针为空的话,直接把
11、数据插入链表pToThis = (Information *)malloc(nSize);/开辟一个节点大小的内存区pSHead = pToThis;/令头指针指向第一个节点pToThis-pSNext = NULL;/此时链表内只存在一个节点,因此该节点的指针不指向任何节点for (int i = 0; i cNumi = cNumi;pToThis-cNamei = cNamei;pToThis-cSexi = cSexi;pToThis-nChinese = nChinese;pToThis-nMath = nMath;pToThis-nEnglish = nEnglish;pToThi
12、s-nSum = nSum;else/当头指针不是空的时候,即链表内存在节点,需要遍历节点,我们插入默认按照学号由小到大排序while (pSSearch != NULL)if (strcmp(pSSearch-cNum, cNum) 0)/表示新节点的编号大于正遍历的节点,要插在这个节点之前/插入条件符合,缓存信息小于正在搜索的信息,则插入消息if (pSSearch = pSHead)/如果查找的指针等于头指针pToThis = (Information*)malloc(nSize);pSHead = pToThis;pToThis-pSNext = pSSearch;/令新节点的指针指向
13、刚才正在遍历的节点,让新的节点连入链表for (int i = 0; i cNumi = cNumi;pToThis-cNamei = cNamei;pToThis-cSexi = cSexi;pToThis-nChinese = nChinese;pToThis-nMath = nMath;pToThis-nEnglish = nEnglish;pToThis-nSum = nSum;break;else/当搜索的节点并非首节点pToThis = (Information*)malloc(nSize);pToThis-pSNext = pSSearch;pSFormer-pSNext = p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 课程设计 报告 剖析 35
限制150内