您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 数据结构课程设计——学生成绩管理系统报告书
课程设计报告书设计名称:数据结构(C++版)题目:学生成绩管理系统学生姓名:XXX专业:计算机科学与技术班别:计科本XXX班学号:XXXXXX指导老师:XXX日期:2012年7月12日XXX1一.问题描述:设计目的:1.掌握线性链表的建立。2.掌握线性链表的基本操作。3.掌握查找的基本算法。设计内容:利用线性链表实现学生成绩管理系统,具体功能:输入、输出、插入、删除、查找、追加、读入、显示、退出,并能在屏幕上输出操作前后的结果。二.基本要求1.写出系统需求分析,并建模。2.编程实现,界面友好。3.输出操作前后的结果。三.工具/准备工作在此次课程设计中,我们用到了MicrosoftVisualC++V6.0,所以在开始课程设计前我们首先要安装好这个软件。此外,在开始编程之前要做好相应的系统构思,以及想好实现相应的功能的算法。四.分析与实现1.系统功能分析本系统主要实现对学生成绩信息进行管理,需要实现以下几个方面的管理功能:(0)创建学生成绩信息:输入学生的信息。(1)查找学生成绩信息:按学号、姓名查找。(2)修改学生成绩信息:找到要修改的学号,修改相应信息。(3)追加学生成绩信息:找到要追加的学生成绩的学号,对相应科目的成绩进行追加。(4)显示学生成绩信息:显示全部学生的成绩信息(5)插入学生成绩信息:插入一个新的学生。(6)删除学生成绩信息;按学号、姓名删除。目或者总分排序。2.系统模块结构图XXX23.模块分析:3.1系统首页:功能介绍:输入相应功能序号即可进行相应的功能操作。图1.系统首页相应的代码:学生成绩管理系统输入学生成绩按学号查询成绩按姓名查询成绩修改学生成绩信息追加学生成绩显示全部学习信息插入学生成绩信息删除学生信息XXX3#includestdio.h#includestdlib.h#includeiostreamusingnamespacestd;#defineMAX100typedefstructstudent{intnum;charname[20];intenglish;intchinese;intmath;inttotal;intlength;structstudent*next;}s,*LinkList;intmain(){cout\t\t\t欢迎登录学生成绩管理系统!endl;cout\t\t\t+------------------------------------------+endl;cout\t\t\t|序号|请选择相应的操作功能的序号:|endl;cout\t\t\t+-----+------------------------------------+endl;cout\t\t\t|0|请输入学生的相关信息与成绩:|endl;cout\t\t\t+-----+------------------------------------+endl;cout\t\t\t|1|按学生学号查询学生成绩:|endl;cout\t\t\t+-----+------------------------------------+endl;cout\t\t\t|2|按学生姓名查询学生成绩:|endl;cout\t\t\t+-----+------------------------------------+endl;cout\t\t\t|3|追加学生的成绩信息:|endl;cout\t\t\t+-----+------------------------------------+endl;cout\t\t\t|4|显示全部学生的信息:|endl;cout\t\t\t+-----+------------------------------------+endl;cout\t\t\t|5|插入学生信息:|endl;cout\t\t\t+-----+------------------------------------+endl;cout\t\t\t|6|修改学生信息:|endl;cout\t\t\t+-----+------------------------------------+endl;cout\t\t\t|7|删除学生信息:|endl;cout\t\t\t+-----+------------------------------------+endl;intflag=1,flag1=1;LinkListl;l=(LinkList)malloc(sizeof(student));l-next=NULL;charch,ch2;XXX4while(flag){cout请输入你要进行的操作数:endl;cinch;while(ch'7'||ch'0'){cout输入有误,请重新输入endl;cinch;}switch(ch){case'0':{input(l);cout学生的基本信息存储成功endl;}break;case'1':{check(l);}break;case'2':check_name(l);break;case'3':add(l);break;case'4':output(l);break;case'5':insert_stu(l);break;case'6':xiugai(l);break;case'7':Delete_stu(l);break;}cout你要继续操作还是退出(y/n)endl;cinch2;while(flag1){if((ch2=='Y')||(ch2=='y')){flag=1;flag1=0;}elseif((ch2=='N')||(ch2=='n')){//flag=0;//flag1=0;}else{flag1=1;cout输入有误,请重新输入(y/n)(y:继续)(n:退出)!endl;cinch2;}}}XXX5return0;}3.2输入学生信息功能介绍:输入0,选择进入输入学生信息功能中,输入想输入的学生信息个数,并输入相应的学生信息。图2.输入信息相关代码:intInitLink(LinkList&L)//输入学生信息{L=(LinkList)malloc(sizeof(structstudent));L-next=NULL;return0;}intinput(LinkList&L){inti,n;L-next=NULL;LinkListp;LinkListq;cout请输入学生人数:endl;cinn;L-length=n;cout请输入学生的基本信息:endl;for(i=0;iL-length;i++){p=(LinkList)malloc(sizeof(student));XXX6cout学号:;cinp-num;coutendl;cout姓名:;cinp-name;coutendl;cout英语:;cinp-english;coutendl;cout语文:;cinp-chinese;coutendl;cout数学:;cinp-math;coutendl;p-total=p-english+p-chinese+p-math;cout+----------------------------------------------+endl;cout学号:姓名:英语:语文:数学:总成绩:endl;coutp-nump-namep-englishp-chinesep-mathp-totalendl;cout+----------------------------------------------+endl;if(L-next==NULL){L-next=p;p-next=NULL;q=p;}else{p-next=NULL;q-next=p;q=p;}//L=L-next;}XXX7return0;}3.3显示学生全部信息功能简介:显示连表中的全部学生信息。图3.显示全部信息相关代码:intoutput(LinkList&L)//显示全部信息{LinkListp=L-next;if(L-next==NULL)cout链表中没有学生信息,请先输入学生信息!endl;else{cout+----------------------------------------------+endl;cout学号:姓名:英语:语文:数学:总成绩:endl;while(p){coutp-nump-namep-englishp-chinesep-mathp-totalendl;p=p-next;}cout+----------------------------------------------+endl;}return0;}intcheck(LinkList&L)XXX8{intn;LinkListp=L-next;if(p==NULL){cout链表中没有学生信息,请先输入学生信息!endl;}else{cout请输入你要查找的同学的学号:endl;cinn;while(p&&p-num!=n){p=p-next;}if(!p)cout链表中没有学号为:n的同学信息!endl;else{cout学号为:n的同学信息如下:endl;cout+----------------------------------------------+endl;cout学号:姓名:英语:语文:数学:总成绩:endl;coutp-nump-namep-englishp-chinesep-mathp-totalendl;cout+----------------------------------------------+endl;}}return0;}intcheck_name(LinkList&L){charname[20];LinkListp=L-next;if(p==NULL){cout链表中没有学生信息,请先输入学生信息!endl;}else{cout请输入你要查找的同学的姓名:endl;cinname;while(p&&strcmp(p-name,name))//strcmp(p-name,name)如果p-name=name,则比较的函数值为0{p=p-next;XXX9}if(!p)cout链表中没有姓名为:namename:的同学信息!endl;else{cout姓名为:name=name:的同学信息如下:endl;cout+----------------------------------------------+endl;cout学号:姓名:英语:语文:数学:总成绩:endl;coutp-nump-namep-englishp-chinesep-mathp-totalendl;cout+----------------------------------------------+endl;}}return0;3.4学生成绩追加功能介绍:追加相应学生的相应成绩。相关代码:intadd(LinkList&L)//追加学生信息{intn,i
本文标题:数据结构课程设计——学生成绩管理系统报告书
链接地址:https://www.777doc.com/doc-4924953 .html