c++课程设计-学生成绩管理系统设计报告_第1页
c++课程设计-学生成绩管理系统设计报告_第2页
c++课程设计-学生成绩管理系统设计报告_第3页
c++课程设计-学生成绩管理系统设计报告_第4页
c++课程设计-学生成绩管理系统设计报告_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+课程设计-学生成绩管理系统设计报告徐州师范大学科文学院本科生课程设计课程名称:计算机程序设计C+题目:学生信息管理系统专业班级:学生姓名:学生学号:日期:2010-12-20指导教师:科文学院教务部印制一、课程设计目的、任务和内容要求:(1)使学生掌握C+编程的基本工作原理;(2)培养学生基本掌握C+g用编程的基本思路和方法;(3)使学生掌握C+啦用调试的基本技能;(4) 培养学生分析、解决问题的能力;(5) 提高学生的科技论文写作能力任务如下:1(进行需求分析和概要设计,给出流程图。2(写出详细设计,熟悉其中采用的关键技术。3(给出具体的编码实现并调试。4(写课程设计报告提交源程序。内容

2、要求:设计并完成软件系统。要求:1(应具有简洁友好的用户界面。2(要求软件系统的功能完整。3(要求程序具备正确性,可读性和运行的高效性。ii二、进度安排:第,2天:查找资料,进行需求分析和概要设计;第25天:各模块的详细设计;第510天:软件实现与调试;第1014天:写课程设计报告并提交源程序。三、主要参考文献:1 .刘觉夫王更生等编著C+附序设计,北京邮电大学出版社2 .曾辉王更生李广丽等编著C+附序设计实训教程,北京邮电大学出版社3.谭浩强编著C+狗向对象程序设计,北京清华大学出版社4 .百度文库(寻找C+解程设计的模版及简易源代码)指导教师签字:年月日iii徐州师范大学物理与电子工程学院

3、课程设计报告摘要5Abstract61 概述.71.1功能需求分析:71.11 学生成绩的读入和写出模块71.12 学生成绩输入删除模块71.13 学生成绩的查询模块71.14 学生成绩的分类汇总模块71.15 环境需求分析71.16 方法需求分析述82.1 系统功能模块图82.2 设计思想:83详细设计93.1 设计原理93.2 程序详细代码描述93.3 系统界面214设计结果及分析4.1 调试过程224.2 操作说明23总结24献254徐州师范大学物理与电子工程学院课程设计报告摘要随着科学技术的发展,计算机领域不断取得新的研究成果。计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在

4、工业方面而且在日常生活中也越来越离不开计算机。尤其是在学校里,要处理大量的学生数据。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点。学生成绩管理系统能方便用户迅速、准确处理学生的成绩,得到想要的数据并能将学生的信息以文档保存。本文介绍了简易学生成绩管理系统在MicrosoftVisualC+6.0环境下的实现过程:系统的分析,功能模块的设计,系统的调试和测试。此系统的主要管理的信息有:学生的班级,学号,姓名和三(可以更改)门课的成

5、绩。本系统的主要功能有学生成绩的添加、删除、插入、显示,能对学生成绩按分数或学号进行排序,可以根据用户的要求按班级,姓名,学号查询学生的成绩信息,计算每位学生的总分,分类汇总统计每门课的的总分均分能保存信息到文件以及从文件中读取信息等功能。关键词:学生成绩管理系统;功能模块(函数);指针;结构;链表;文件保存及读取5徐州师范大学物理与电子工程学院课程设计报告AbstractWiththedevelopmentofscienceandtechnology,computerfieldhasmadenewresearchachievements.Computerinreplacingandexten

6、sionofmentalworkplaysmoreandmoreimportantrole,notonlyintheindustrialsectorandindailylife,alsomoreandmoreinseparablefromthecomputer.Especiallyintheschool,todealwithlargeNumbersofstudentsdata.Alongwiththescienceandtechnologyunceasingenhancement,thecomputerscienceismaturedayafterday,itsformidablefuncti

7、onhadprofoundlyknownforthepeople,itenteredthehumansocietyeachdomainandplaysamoreandmoreimportantrole.Asapartofcomputerapplication,usethecomputertostudents'performanceinformationmanagement,withcraftsincomparableadvantages.Students'performancemanagementsystemcanconvenientuserfast,accurateproce

8、ssingstudents'scores,thedesireddataandstudents'informationaccordingtothedocumentpreservation.ThispaperintroducesthesimplestudentperformancemanagementsysteminMicrosoftVisualc+6.0environmentofrealizationprocess:systemanalysis,functionmoduledesign,systemcommissioningandtesting.Thesystem'sma

9、inmanagementinformationare:studentclass,studentid,nameandthree(canchange)coursegrades.Thesystem'smainfunctionofthestudent'sgradeadd,delete,insert,display,canaccordingtothegradesofstudentachievementorstudentidsorting,canaccordingtotheuser'srequirementsaccordingtoclass,name,studentidinquir

10、esthestudentperformanceinformation,calculateeachstudent'stotalscore,collectclassifiedpercoursetotalscorealikecanstoreinformationfromthedocumenttothefileandreadinformation,andotherfunctions.Keywords:Students'performancemanagementsystem;Functionmodule(function);Pointers;Structure;List;Filesave

11、andload6徐州师范大学物理与电子工程学院课程设计报告1概述此系统的主要管理的信息有:学生的班级,学号,姓名和三(可以更改)门课的成绩。本系统的主要功能有学生成绩的添加、删除、插入、显示,能对学生成绩按分数或学号进行排序,可以根据用户的要求按班级,姓名,学号查询学生的成绩信息,计算每位学生的总分,分类汇总统计每门课的的总分均分能保存信息到文件以及从文件中读取信息等功能。1.1 功能需求分析:简易学生成绩管理系统主要有4个大的模块:学生成绩从文件读入和写入,学生成绩的输入和删除,学生成绩信息的查询,以及学生成绩的分类汇总。1.11学生成绩的读入和写出模块主要功能是读出要管理的成绩文档,保存修

12、改后的成绩文档。实际生活中学生成绩的文件主要以word或excel保存,为了方便操作我在调式本系统中成绩文件采用了txt的文档格式保存,当然以word文档形式保存也是可以的。1.12学生成绩输入删除模块主要功能是输入、追加、删除学生成绩的操作。添加操作是根据用户的要求实现的。例如用户可以输入要删除学生的学号删除学生的信息。1.13学生成绩的查询模块主要功能是按照用户的要求查询学生的成绩。其中用户可以选择查询单个学生的成绩还是某个班级的成绩,成绩查询中包括个人学生的总分,。1.14学生成绩的分类汇总模块统计主要功能是某个班级的每门学科的总分。1.2 环境需求分析操作系统:WindowsXP开发软

13、件:VisualC+6.01.3 方法需求分析由于数组存放数据的时候要先确定数组的规模,不能动态的分配内存空间,而单链表是非连续存放的,可以对内存空间进行动态分配,此系统是用单链表完成的。然后定义链表的结点类型为结构就可以实现对学生学号、姓名、成绩、班级等7徐州师范大学物理与电子工程学院课程设计报告学保存。2 设计方案简述2.1 系统功能模块图学生成绩管理系统链输删显按保读计学按分表入除示姓存取算生学类的学学学名学学总成号合初生生生找生生绩查分计始成成成学成成排成绩绩绩序化绩绩生绩2.2 设计思想:学生成绩管理系统是用面向对象的方法设计,由于数组的存放是连续的,而单链表是非连续存放的,是动态分

14、配内存空间,因此此系统采用单链表来完成。各个功能模块的实现主要转变到对单链表的遍历,添加和删除结点。8徐州师范大学物理与电子工程学院课程设计报告3 详细设计3.1 设计原理学生成绩管理系统以菜单选择,通过调用各个函数,对单链表的遍历,实现不同的功能,不同函数处理后返回的只是一个头结点,但是通过头结点可以找到所有链表中的信息,只要有函数,找到头指针就能进行相应的操作,所以模块化的程序方便以后添加或者删除某些功能,程序中通过system(“cls”)清屏函数实现界面的转换,主函数中的循环保证程序不会退出,一个循环和一个清屏函数实现了主菜单和各子画面的切换(子函数)。这样的话各个子函数都可以调用一开

15、始输入的数据,这样就实现了各个不同函数调用时都能使用整个系统连续起来了。作为一个学生成绩管理系统,增加了文件的读入和写出功能,增加了程序的实用性。3.2 程序详细代码描述#include<iostream>#include<iomanip>#include<fstream>#include<string>usingnamespacestd;#definemax100;classstudentpublic:student*next;public:stringname;/姓名longnum;/学号intx,y,z;intAA;/总分voidplay(

16、)cout<<name<<"学生的学号是"<<num<<",c+:"<<x<<",微机原理:"<<y<<",数字信号处理:"<<z<<",总分:"<<AA<<endl;student(stringsname,longsnum,intsx,intsy,intsz)name=sname;num=snum;x=sx;y=sy;z=sz;classcla9徐州师

17、范大学物理与电子工程学院课程设计报告public:cla()/构造函数stu=0;sload();cla()/析构函数student*p;p=stu;while(p)p=p->next;deletestu;stu=p;stu=0;voidsadd();/添加voidsremove();/删除voidsamend();/修改voidssearch();/查询voidstaxis();/排序voidssave();/保存voidsload();/读取/排序函数voidpxh();voidpsx();voidpyw();voidpyy();voidpAA();private:student*s

18、tu;/头接点;voidcla:sadd()/添加student*q;stringname1;longnum1;intx1,y1,z1;system("cls");cout<<"n*增加的学生*n"<<endl;cout<<"请输入学生的(中间用空格间隔)"<<endl;10徐州师范大学物理与电子工程学院课程设计报告cout<<"姓名学号c+微机原理数字信号处理:"<<endl;cin>>name1>>num1>&

19、gt;x1>>y1>>z1;q=newstudent(name1,num1,x1,y1,z1);q->next=0;q->AA=x1+y1+z1;if(stu)student*t;t=stu;if(t->num=num1)cout<<"学号已存在,请重新输入"<<endl;return;while(t->next)if(t->num=num1)cout<<"学号已存在,请重新输入<<endl;return;t=t->next;t->next=q;els

20、estu=q;cout<<"输入完毕"<<endl;voidcla:sremove()/删除system("cls");intnum1;cout<<"n*删除学生信息*n"cout<<"请输入想要删除学生的学号cin>>num1;/查找要删除的结点student*p1,*p2;p1=stu;while(p1)if(p1->num=num1)break;elsep2=p1;p1=p1->next;/删除结点if(p1!=NULL)/若找到结点,则删除徐州师

21、范大学物理与电子工程学院课程设计报告p1->play();cout<<"确定删除吗?Y/N"<<endl;charc;cin>>c;if(toupper(c)!='Y')return;if(p1=stu)/若要删除的结点是第一个结点stu=p1->next;deletep1;else/若要删除的结点是后续结点p2->next=p1->next;deletep1;cout<<"找到学号为"<<num1<<'的学生,并删除n"el

22、se/未找到结点cout<<"未找到想要删除的学生!n"voidcla:samend()/修改system("cls");longnum1;cout<<"n*修改学生信息*n"cout<<"输入要修改学生的学号"cin>>num1;/查找要修改的结点student*p1,*p2;p1=stu;while(pl)if(p1->num=num1)break;elsep2=p1;p1=p1->next;)if(p1!=NULL)cout«"学

23、号是"vvnumlvv'的学生的信息”vvendl;cout«"姓名"«p1->namevv”c+”vvpl->xvv”微机原理"«p1->y«"数字信号处理"«p1->z«endl;COUtVV”请输入修改后的信息:姓名C+成绩微机原理成绩数字信号处理成绩"«endl;cin»p1->name»p1->x»p1->y»p1->z;p1->AA=p1-&g

24、t;x+p1->y+p1->z;cout«"修改成功"«endl;12徐州师范大学物理与电子工程学院课程设计报告)else/未找到接点cout«"未找至U!n")voidcla:ssearch()/查询(system("cls");cout<<"n*查询学生信息*n"<<endl;cout<<”请输入查询方式:"<<endl;cout<<"1.按学号查询"<<endl;co

25、ut<<"2.按姓名查询"<<endl;cout<<"3.返回"<<endl;charc;cin>>c;switch(c)case'1':longnum1;cout<<"要查询的学号"<<endl;cin>>num1;/查找要查询的结点student*p1,*p2;p1=stu;while(p1)if(p1->num=num1)break;elsep2=p1;p1=p1->next;if(p1!=NULL)cou

26、t<<"学号是"<<num1<<'的学生的信息"<<endl;cout<<"姓名:"<<p1->name<<"c+:"<<p1->x<<"微机原理:"<<p1->y<<"数字信号处理:"<<p1->z<<endl;cout<<"查询完毕.”;else/未找到接点cout<&

27、lt;"未找至U!n"break;case'2':stringname1;cout«"要查询的学生姓名"«endl;cin»name1;/查找要查询的结点student*p1,*p2;p1=stu;13徐州师范大学物理与电子工程学院课程设计报告while(pl)if(p1->name=name1)break;elsep2=p1;p1=p1->next;)if(p1!=NULL)(coutvvnamelvv”的学生的信息”vvendl;cout«"学号:"vvpl-&g

28、t;numvv”c+:"«p1->x«"微机原理:"«p1->y«"数字信号处Sl:"«p1->z«endl;cout«"查询完毕”;)else/未找到接点cout«"未找至U!n"break;)case'3':return;)(student*p1,*p2;intn;p1=stu;n=1;while(p1->next)n+;p1=p1->next;cout<<"共有&

29、quot;<<n<<”条信息"<<endl;inti;p1=stu;for(i=1;i<n;i+)p1=stu;if(p1->num>p1->next->num)如果头结点大于第二个的p2=p1->next;p1->next=p1->next->next;p2->next=p1;/头结点交换stu=p2;p1=stu;while(p1->next->next)/中间的交换14徐州师范大学物理与电子工程学院课程设计报告p2=p1;p1=p1->next;if(p1->

30、num>p1->next->num)p2->next=p1->next;p1->next=p1->next->next;p2->next->next=p1;p1=p2->next;/交换)p1=stu;do(p1->play();p1=p1->next;while(p1);)voidcla:psx()student*p1,*p2;intn;p1=stu;n=1;while(p1->next)n+;p1=p1->next;cout<<"共有"<<n<<

31、”条信息."<<endl;inti;p1=stu;for(i=1;i<n;i+)p1=stu;if(p1->x>p1->next->x)/如果头结点大于第二个的p2=p1->next;p1->next=p1->next->next;p2->next=p1;/头结点交换stu=p2;p1=stu;while(p1->next->next)/中间的交换p2=p1;p1=p1->next;if(p1->x>p1->next->x)p2->next=p1->next;

32、15徐州师范大学物理与电子工程学院课程设计报告p1->next=p1->next->next;p2->next->next=p1;p1=p2->next;/交换p1=stu;dop1->play();p1=p1->next;while(p1);voidcla:pyw()student*p1,*p2;intn;p1=stu;n=1;while(p1->next)n+;p1=p1->next;cout«"共有"vvnvv”条信息.Jvvendl;inti;p1=stu;for(i=1;i<n;i+)p1

33、=stu;if(p1->y>p1->next->y)/如果头结点大于第二个的p2=p1->next;p1->next=p1->next->next;p2->next=p1;/头结点交换stu=p2;)p1=stu;while(p1->next->next)/中间的交换p2=p1;p1=p1->next;if(p1->y>p1->next->y)p2->next=p1->next;p1->next=p1->next->next;p2->next->next=p

34、1;p1=p2->next;/交换)16徐州师范大学物理与电子工程学院课程设计报告p1=stu;dop1->play();p1=p1->next;while(p1);)voidcla二pyy()student*p1,*p2;intn;p1=stu;n=1;while(p1->next)n+;p1=p1->next;cout<<"共有"<<n<<”条信息"<<endl;inti;p1=stu;for(i=1;i<n;i+)p1=stu;if(p1->z>p1->ne

35、xt->z)/如果头结点大于第二个的p2=p1->next;p1->next=p1->next->next;p2->next=p1;/头结点交换stu=p2;p1=stu;while(p1->next->next)/中间的交换p2=p1;p1=p1->next;if(p1->z>p1->next->z)p2->next=p1->next;p1->next=p1->next->next;p2->next->next=p1;p1=p2->next;/交换p1=stu;dop

36、1->play();p1=p1->next;while(p1);17徐州师范大学物理与电子工程学院课程设计报告voidcla:pAA()/按总分排序student*p1,*p2;intn;p1=stu;n=1;while(p1->next)n+;p1=p1->next;cout<<"共有"<<n<<”条信息."<<endl;inti;p1=stu;for(i=1;i<n;i+)p1=stu;if(p1->AA>p1->next->AA)/如果头结点大于第二个的p2

37、=p1->next;头结点交换p1->next=p1->next->next;p2->next=p1;/stu=p2;)p1=stu;while(p1->next->next)II中间的交换p2=p1;p1=p1->next;if(p1->AA>p1->next->AA)p2->next=p1->next;p1->next=p1->next->next;p2->next->next=p1;p1=p2->next;11交换)p1=stu;dop1->play();p1=p

38、1->next;while(p1);)voidcla:staxis()/排序(system("cls");charc;coutvv”请选择以何种方式排序:"«endl;cout«"1,以学号排序"«endl;18徐州师范大学物理与电子工程学院课程设计报告cout<<"2,以c+成绩排序"<<endl;cout<<"3,以微机原理成绩排序"<<endl;cout<<"4,以数字信号处理成绩排序"

39、;<<endl;cout<<"5,以总分排序"<<endl;cout<<"6,返回"<<endl;cout<<"请选择(1-6)"<<endl;cin>>c;switch(c)case'1':pxh();break;case'2':psx();break;case'3':pyw();break;case'4':pyy();break;case'5':pAA();

40、break;case'6':return;voidcla:ssave()/保存到文件system("cls");charc;cout<<"n保存学生信息(将覆盖原文件),是否继续?Y/N:"cin>>c;if(toupper(c)!='Y')return;ofstreamtfile("date.txt",ios_base:binary);student*p=stu;while(p)/写入文件tfile<<p->name<<"t"&

41、lt;<p->num<<"t"<<p->x<<"t"<<p->y<<"t"<<p->z;tfile<<endl;p=p->next;tfile.close();cout<<"保存完毕."<<endl;voidcla:sload()/读取student*p;p=stu;while(p)stu=p->next;deletep;p=stu;19徐州师范大学物理与电子工程学院

42、课程设计报告ifstreamtfile("date.txt",ios_base:binary);stringname1;longnum1;intx1,y1,z1;tfile>>name1>>num1>>x1>>y1>>z1;while(tfile.good()/创建学生接点student*s;s=stu;s=newstudent(name1,num1,x1,y1,z1);s->next=0;s->AA=x1+y1+z1;if(stu)/若已经存在结点student*p2;p2=stu;while(p2-

43、>next)/查找尾结点p2=p2->next;p2->next=s;/连接else/若不存在结点(表空)stu=s;/连接tfile>>name1>>num1>>x1>>y1>>z1;tfile.close();cout<<"n学生信息已经装入.n"voidmain()charc;claa;docout<<"n学生成绩管理系统n"cout<<"*n"cout<<"作者:08电信吴龙n"co

44、ut<<"1,增加学生n"cout<<"2,删除学生n"20徐州师范大学物理与电子工程学院课程设计报告cout<<" 3,修改学生 n"cout<<" 4,查询学生信息 n"cout<<" 5,排序 n"cout<<" 6,保存信息 n"cout<<" 7,读取信息 n"cout<<" 8,退出 n"cout<<"*n&

45、quot;cout<<"请选择(1-8):"cin>>c;switch(c)case'1':a.sadd();break;case'2':a.sremove();break;case'3':a.samend();break;case'4':a.ssearch();break;case'5':a.staxis();break;case'6':a.ssave();break;case'7':a.sload();break;while(c!=&#

46、39;8');3.3 系统界面系统主菜单列出了该程序的所有功能,学生个人的总分在输入创建链表是就计初始界面图01:算好并储存好了,同时显示学生信息是就一起显示出来了,使用时该适当的使用第一个初始化链表的功能,否则可能出现意想不到的错误。ImantGrat”、篁前汇+十连理差i+生信息已经装入.-统 系 rm - 进 > 绩 成 生 学龙 息 吴 信 言生生生生息息信信 ”加除茂询序百等 flssn 者:三三 作1bN3-4'Jfa-M8'21徐州师范大学物理与电子工程学院课程设计报告4设计结果及分析4.1调试过程增加学生团ICzD(H;iiniEntKandSet

47、dnqs、.向dmlrristratorA弃而/一匚!十要春券if增加的学生I吴龙 08832&117 输入完毕间隔 霆翠信号处理,修改信息查询方式杳词单生信息*S 揖 门询询 面杳香 查号名A1学炮同 瓢费返 Linr - . *排序方式22徐州师范大学物理与电子工程学院课程设计报告保存信息呆存学生信息(将覆盖原文件),是否继续九Y/M】;4.2操作说明一个成绩管理系统如果不能进行文档的读出和写入的操作,功能再多,程序关闭后,所做的操作都将没有,这就失去了实际的意义。此系统当用户退出系统时,用户可以选择是否保存已做的修改。当用户任意选择一个操作时,系统将会提示。此外在输入成绩时,输入错误的数字系统可以提示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论