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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C++学生成绩管理系统完整.docx

1、C+学生成绩管理系统完整C+学生成绩管理系统(完整) 课程设计说明书本科毕业设计(题 目: 学生成绩管理系统(教师端)学生姓名: 陈学 院:工学院专 业:数字媒体技术班 级:2013级指导教师:二一四 年 十 一月 一、设计题目(问题)描述和要求设计目的:为方便对学生成绩进行高效的管理,编写该程序以提高学生成绩管理效率。使用该程序之后,学校管理者可以查询某位学生、某个科目的成绩情况,还可以对学生成绩进行排名,对学生的数据进行修改和删除,其中排名以按总分排名,并且还提供了多种浏览方式,查询结果包括各个科目的分数、总分。通过本系统可以很好的掌握学生成绩的分布,减轻管理人员的负担,也使学生的成绩和信

2、息长时期的保留。 问题描述:编写一个简单的学生成绩管理系统。学生成绩管理系统有若干学生成绩记录组成,每个记录由学号、姓名、性别、年级、班级、三个科目成绩、总分、总排名、各科目排名几个部分组成,学号不超过5个字符,姓名不超过3个字符,成绩为int型数据。该系统具有以下功能:程序开始执行时显示如下版权信息和主菜单: *学生成绩管理系统*学生信息*1.登记*2.编辑 *3.顺序 4.删除 浏览* 5全部*6个人*7考试* 8专业*9指定系统设置 10默认 0.退出 *请输入(08): 通过键盘输入数字010后,程序能够执行相应的功能,执行完后回到上述主菜单继续等待用户输入,输入数字0后退出程序。(1

3、)选择“登记”后,输入学生个数。按程序提示输入学号、姓名、性别、年级、班级、三个科目成绩、总分、总排名、各科目排名。(2)选择“编辑”,按提示输入要删除的学生的学号,输入学号,若改学号存在,则编辑相应的学生记录,如果该学号不存在,返回主菜单(3)选择“顺序”后,会显示从成绩高到低还是相反。该操作会改变程序中链表的连接顺序,因此浏览时候显示也是顺序改变后的链表顺序输出。(4)(5)选择“全部”,系统会按照年级显示全部学生其成绩。(6)选择“个人”,系统会提示输入学生姓名或者学号进行寻找并显示。(7)选择“考试”, 会按照每一年级的每一次考试显示成绩。(8)选择“专业”,会按照专业进行成绩输出。(

4、9)选择“指定”,里面还有八种显示方式:分数段、排名、学期、班级、大一至大四,可以按照其进行浏览。(10)进行系统相关的设置,如是否显示欢迎窗口,是否自动读取信息或是手动、是否浏览显示全部等(0)退出操作。二、系统分析与模块设计 学生成绩管理系统结构图三、系统设计1. 系统总体框架学生成绩管理系统流程图2. 系统关键算法流程图 (1).系统包含的类库#include#include#include#include#include#include(2).主函数 创建Manage对象象象 进入start并进行信息读取等前提操作,然后进入用户界面开始有用户选择操作(3)student类的设计与分析c

5、lass student/*定义学生成绩类*/ private: Score *sco; string name; string pro; /专业 int clas; int grade; string num; char sex; Student* next; ;表1 student类说明表名称属性说明sco数据成员成绩类开头name数据成员说明学生姓名pro数据成员说明学生专业clas数据成员说明学生班级grade数据成员说明学生年级num数据成员说明学生学号sex数据成员说明学生性别next数据成员说明指向下一个节点的指针(4) .Manage类的设计与分析 class List int

6、 setSET; Student* stu;public: /添加 void Add(); /添加学生 void AddScore(Student *istudent); /添加成绩 /浏览 int isEmpty(); int infoPass(string inum,string iname,char isex,int igrade,int iclas); void SkimAll(); void SkimClas(); void SkimPro(); void SpecSkim(); /指定的其他浏览方式 void SkimByScore(); void SkimByTerms(); v

7、oid SkimByPlace(); void SkimByTest(); void SkimByGrade(int igrade); void Find(string T); /查找 void PrintAllScore(Score *q);/打印成绩,本程序用来打印第二次开始的考试成绩 void InitScore(); /未给出成绩的学生进行 0 赋值 void Delete(); /删除 void Edit(string Y); /编辑 void EditScore(Student *istu); void OrderConscore(); /按总成绩排序 void OrderObje

8、ct(); /排名次 void Compare(); /比较 void Save(); /保存 int Read(); /读取 string OfProfe(); /选择学院专业 int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInstance,LPSTR lpszCmdParam,int nCmdShow); /显示欢迎对话框 int countSpecStudent(int igrade); /返回指定年级的学生数 int countConStudent(); /返回总学生数 /默认设置 void DefaultSetting();/进行

9、默认设置 void ReadSet(); /读取默认设置 void SaveSet(); /保存默认设置 int* ReturnSet(); char ReturnjudgeOfadd(); void JudgeOfSave(); /判断是否保存已修改的信息 void Start(); /类内部开始运行的操作 void Interface(); /用户使用界面;名称属性说明Add()成员函数添加学生AddScore()成员函数添加成绩isEmpty()成员函数判断是否有学生infoPass()成员函数判断输入信息合法性SkimAll()成员函数全部浏览SkimClas成员函数按班级浏览Skim

10、Pro()成员函数按专业浏览SpecSkim()成员函数其他浏览方式Find(string T)成员函数按学号寻找PrintAllScore(Score *q)成员函数输出所有学生数量InitScore()成员函数初始化成绩未满的学生的成绩Delete()成员函数删除学生Edit(string Y)成员函数编辑学生信息EditScore(Student *istu)成员函数编辑学生成绩OrderConscore()成员函数将链表改变连接顺序进而改变输出顺序OrderObject()成员函数给每个学生每次考试排名次Save()成员函数保存学生信息Read()成员函数读取学生信息OfProfe()

11、成员函数选择学生专业countSpecStudent(int igrade)成员函数返回相应年级学生数量countConStudent()成员函数返回总学生数DefaultSetting()成员函数默认设置ReadSet()成员函数读取设置SaveSet()成员函数保存设置ReturnSet()成员函数返回设置(5).Score类名称属性说明Score()构造函数无参构造函数Score(int *sc)构造函数只含成绩构造函数Score(int *sc,int*or,int Con)构造函数含全部信息构造函数ReturnConScore()成员函数返回总分数(6). 输入学生资料模块:主要功能

12、用来对学生的成绩进行收集和输入。在学生信息保存在系统中的前提下,输入要输入的人数,成绩录入需要输入学生资料,比如学号,姓名。在准确输入学生资料后,就可以对该学生的各科成绩进行录入。该学生各科成绩输入成功后,输入下一个学生资料时会先判断是否学号是否与之前的学生相同,如果相同,则显示提示信息,不同则继续输入(6) 输出学生资料模块:主要功能用来对学生的成绩进行输出。在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。具体包括学生的学号,姓名和各科成绩。在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单(5)查找并显示学生资料模块主要功能是用来查找学生资料

13、。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息(6)按学号查找,修改学生资料模块主要功能是用来修改学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生学号,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。(7)按学号查找,删除该学生资料模块主要功能是用来删除学生资料。在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生学号,系统查找该学生资料后,就可以删除了。由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化(8)按学生成绩总分

14、进行排列模块主要功能是用来对学生的资料按总分进行排序。在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按总分进行排序,这样就方便查找成绩相同或是相近的同学的资料。(9)储存学生资料并退出系统模块 主要功能是用来储存学生资料。在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作。四、运行结果1开始界面2输入数据3搜索数据4删除5. 修改数据7. 显示数据8.系统设置五、小结这个程序经过了暑假开始到十月份的修改编辑,要感谢老师及同学的指导,另外程序本身更适合学生数量不是特别多的情况下,加入学生有上千上万个,那么应该在添加几个类

15、,在学生类之上的类,这样才可以大大方便了各种操作以及浏览等。六、参考资料C+程序设计教程CSDN程序员社区代码:/*学生成绩管理系统*类:Student Score Manage*可保存学科:语文 数学 英语*时间段:大一至大四*说明:该程序针对学生数较少的情况,假如面对上千上万的学生数,应该再将其中的存储结构进行改变,* 分别分层次存储,例如大一至大四四个链表表头,在每一个链表中又根据不同分类依据细分,* 例如根据学院、专业等,这样的改变将大大有利于程序进行的寻找、输出、排序等涉及链表的操作,* 当然相应代码也要稍作改变*/#include#include#include#include#i

16、nclude#include#include#includeusing namespace std;#define CONOBJ 3 /3科科目#define YEARS 4 /4个学年#define SET 4 /4个设置要求class Scorepublic: int scoreCONOBJ; /chinese,math,english三科目分别对应order0、order1、order2,每个学期两次考试,分为期中和期末考试 int orderCONOBJ; /MAX科学科排名 int ConOrder; /总排名 Score *next; /定义在学生类当中 Score() next=

17、NULL; int i; for(i=0;iCONOBJ;i+) scorei=0; orderi=0; ConOrder=0; ;/无参构造函数 Score(int *sc) next=NULL; int i; for(i=0;iCONOBJ;i+) scorei=*sc; orderi=0; sc+; ConOrder=0; /只有成绩的构造函数 Score(int *sc,int*or,int Con) next=NULL; int j; for(j=0;jCONOBJ;j+) scorej=*sc; orderj=*or; sc+; or+; ConOrder=Con; /含全部参数的

18、构造函数 int ReturnConScore() /返回总分数 return score0+score1+score2; ;/=class Student /*Student类中包含Score类 *用来存储众多的成绩,每个学期两次成绩, 每学年两个学期*/ Score *sco; string name; string pro; /专业 int clas; int grade; string num; char sex; Student* next;public: /* *几个不同参数的Student构造函数的重载, *分别对应不同形式的构造方式 */ Student(string inam

19、e):name(iname),next(NULL) sco=NULL; couttttt成功添加学生namen; /1.单参数时的构造函数 Student(string iname=No name,string ipro=none,int iclass=0,int igrade=0,string inum=0,char isex=n) :name(iname),num(inum),sex(isex),next(NULL),pro(ipro),clas(iclass),grade(igrade) sco=NULL; couttttt成功添加学生namen; return; /2.用于添加无输入成

20、绩的构造函数 Student(string iname,string ipro,int iclas,int igrade,string inum,char isex,int *score) :name(iname),pro(ipro),clas(iclas),grade(igrade),num(inum),sex(isex),next(NULL) sco=new Score(score); couttttt成功添加学生namen; /3.用于添加有成绩的构造函数 Student(string iname,string ipro,int iclas,int igrade,string inum,

21、char isex,int *score,int conor,int *order) :name(iname),pro(ipro),clas(iclas),grade(igrade),num(inum),sex(isex),next(NULL) sco=new Score(score,order,conor); /4.用于从文件读入时候的构造函数 int CountOfScore(); /统计已经存储的成绩数量,每个学期两次考试,每次考试算作一次成绩录入 成绩录入总计= 4*igrade friend class Manage; ;/=class Manage int setSET; Stud

22、ent* stu; /*记录是否执行了修改学生信息操作,等于n表示未修改信息或者修改完了但已经保存, 等于y表示已经修改并且还未保存*/ char judgeOfAdd; public: Manage() stu=NULL; /*for(int i=0;inext; delete p; stu=NULL; Student* ReturnStu() return stu; /添加 void Add(); /添加学生 void AddScore(Student *istudent); /添加成绩 /浏览 int isEmpty(); int infoPass(string inum,string

23、iname,char isex,int igrade,int iclas); void SkimAll(); void SkimClas(); void SkimPro(); void SpecSkim(); /指定的其他浏览方式 void SkimByScore(); void SkimByTerms(); void SkimByPlace(); void SkimByTest(); void SkimByGrade(int igrade); void Find(string T); /查找 void PrintAllScore(Score *q);/打印成绩,本程序用来打印第二次开始的考试

24、成绩 void InitScore(); /未给出成绩的学生进行 0 赋值 void Delete(); /删除 void Edit(string Y); /编辑 void EditScore(Student *istu); void OrderConscore(); /按总成绩排序 void OrderObject(); /排名次 void Compare(); /比较 void Save(); /保存 int Read(); /读取 string OfProfe(); /选择学院专业 int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevIns

25、tance,LPSTR lpszCmdParam,int nCmdShow); /显示欢迎对话框 int countSpecStudent(int igrade); /返回指定年级的学生数 int countConStudent(); /返回总学生数 /默认设置 void DefaultSetting();/进行默认设置 void ReadSet(); /读取默认设置 void SaveSet(); /保存默认设置 int* ReturnSet(); char ReturnjudgeOfadd(); void JudgeOfSave(); /判断是否保存已修改的信息 void Start();

26、 /类内部开始运行的操作 void Interface(); /用户使用界面;/=/Student名空间中的成员函数的函数定义int Student:CountOfScore() Score *p=sco; int i; for(i=0;p;p=p-next,i+); return i;/=/=/Manage名空间中的成员函数的函数定义int* Manage:ReturnSet() return set;/-char Manage:ReturnjudgeOfadd() return judgeOfAdd; /- int Manage:countSpecStudent(int igrade) /返回指定年级的学生数 Student *p=stu; int count=0; for(;p!=NULL;p=p-next) if(p-grade=igrade) count+; return count;/-int Man

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

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