




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、六安职业技术学院课程设计报告课程名称c+课程设计系 别信息工程系所在专业计算机应用技术所在班级计算机1001系统名称学生成绩管理系统组 长小组成员指导教师成 绩教师签字2011年12月 日课程设计时间:2011年12月5日至2011年12月9日目 录第一章 课程设计概述- 1 -1.2 课程设计的要求- 1 -1.3 课程设计时间安排- 1 -第二章 系统的需求分析与设计- 2 -2.1系统需求分析- 2 -2.1.1系统分析(需求分析)- 2 -2.1.2系统性能要求- 2 -2.1.3系统的功能分析- 3 -2.2系统总体设计- 3 -2.2.1编辑功能可以对数据和信息进行维护,其子目录下
2、有以下几个功能- 3 -2.2.2统计功能可以给用户提供各种统计信息,其子目录下有以下几个功能- 3 -2.3 功能需求分析- 3 -2.3.1学生信息录入模块- 3 -2.3.2学生信息查找模块- 3 -2.3.3学生信息显示模块- 3 -第三章 系统模块功能介绍- 4 -3.1 功能模块- 4 -3.1.1登录界面- 4 -3.1.2增加学生成绩模块- 4 -3.1.3显示学生成绩模块- 5 -3.1.4排序统计成绩模块- 5 -3.1.5查找学生成绩模块- 6 -3.1.6删除学生成绩模块- 6 -3.1.7修改学生信息模块- 7 -第四章 课程设计总结- 8 -致 谢- 10 -参考文
3、献- 12 -附录:源程序代码- 13 -第一章 课程设计概述1.1 课程设计的目的概念实训是计算机应用技术相关专业重要的实践性环节,是在c+语言程序设计课程后进行的一次全面的综合训练项目,其目的是: (1)巩固和加深学生对c+语言程序设计课程的基本知识的理解和掌握; (2)掌握c+语言程序设计编程和程序调试的基本技能; (3)利用c+语言程序设计进行简单软件设计的基本思路和方法; (4)提高运用高级语言解决实际问题的能力。1.2 课程设计的要求参加本次实训的学生必须按照以下要求完成相应的实训项目: (1)分析问题。把大问题分解成小问题,使用自顶向下的方法给出模块化设计。 (2)为特定任务设计
4、算法。使用自顶向下或伪代码等设计手段将模块细化,并用顺序、选择和循环控制结构进行描述。 (3)将算法用c+描述和实现。 (4)用合适的测试方法检查程序是否符合最初的要求,为不合适数据设计错误陷阱,并提供适当的错误信息。 (5)写出清晰的用户文档,确保用户通过遵循程序中的指示或者使用程序设计者编写的文档能成功地运行程序。 (6)写出技术文档,对程序中主要标识符的含义或作用加以说明,并提供一个完整的程序流程图。 (7)调试程序、测试数据过程成功。1.3 课程设计时间安排星期一 查找文献资料星期二 整理、分析相关资料星期三 编程实现星期四 编程实现星期五 撰写实习报告第二章 系统的需求分析与设计2.
5、1系统需求分析学生成绩管理系统(以下简称“系统”)可以用来管理规模较大的成绩信息,对学生的成绩信息进行维护和统计。系统的目标用户为老师或其他需要统计各种信息的人员。系统可以极大的减少用户的工作量,为用户节省更多的时间,让用户在几秒钟内获得各种统计信息,在第一时间对学生成绩有全面的了解。系统给用户提供了简单而实用的功能。如图2-1所示图2-1系统使用菜单式的用户界面,给用户以直观的使用体验。用户只要根据系统提示,通过键盘输入相应信息就可以使用系统,操作简单,不需要任何经验知识就可以轻松上手。2.1.1、系统分析(需求分析)1) 能够实现学生学号、姓名、成绩的录入;2) 能够实现对学生信息的浏览、
6、查找、删除;3) 能够实现对学生信息按学号顺序显示,成绩排名;4) 能够对各科成绩统计情况输出。2.1.2系统性能要求:1) 系统安全、可靠;2) 功能齐全;3) 操作方便;4) 易于维护和扩充2.1.3系统的功能分析: 资料维护:系统维护包括对各个学生姓名、成绩、学号的录入操作,对数据表中的信息进行浏览。 成绩查询:可以对学生成绩进行详细查询。 排列显示:包括统计学生排名成绩等.2.2系统总体设计系统功能分为两大部分:编辑和统计。增加学生成绩、显示学生成绩、排序统计成绩、查找学生成绩、删除学生成绩、修改学生信息2.2.1编辑功能可以对数据和信息进行维护,其子目录下有以下几个功能:(1) 增加
7、学生成绩信息通过键盘输入增加学生成绩信息,。通过键盘建立最初的信息了,建立后就可以保存成文件形式,方便以后使用。 (2)修改学生成绩信息修改学生成绩信息:通过用户提供的学生姓名或学号,检索到该学生,然后进行修改,可以修改姓名、年龄、各科成绩等。(3)删除学生成绩信息删除某学生的单科成绩。(例如,当某学生中期退课后,就可以用此功能将该课程成绩删除)删除某一个学生。将该学生的全部信息删除,该学生的数据将不再出现在数据库中。2.2.2统计功能可以给用户提供各种统计信息,其子目录下有以下几个功能:(1)显示学生成绩信息:可以指定任意科目,并按该科目成绩由高到低将学生信息输出到屏幕。(2)排列学生成绩信
8、息:按照学分绩优高到低的顺序,将学生信息输出到屏幕。(3)查找学生成绩信息:按照学号由小到大的顺序将学生信息输出到屏幕。2.3 功能需求分析 简易学生成绩管理系统主要有六大模块:学生信息(如学号、姓名、各科成绩、年龄等)的录入文件中;查找学生成绩信息;显示学生成绩信息;修改学生成绩信息;删除学生成绩信息;排列学生成绩信息。2.3.1学生信息录入模块 主要功能是录入学生的信息,具体操作是:先打开程序的主界面,输入密码,然后选择数字1,即可录入数据,程序依次输出:学生姓名、学生学号、学生的出生年份以及各科成绩等,确认后按任意键退出。2.3.2学生信息查找模块 主要功能是查找用户所需要的学生信息,直
9、接选择数字4,便可根据学生的姓名、学号可以查询到相关成绩,2.3.3学生信息显示模块 主要功能是显示学生的相关信息,直接选择数字2,便可显示相关学生的信息(包括学号、姓名、年龄以及各科成绩)第三章 系统模块功能介绍3.1 功能模块“学生成绩管理系统”包括六个模块:增加学生成绩、显示学生成绩、排序统计成绩、查找学生成绩、删除学生成绩、修改学生信息。这六个模块既相互联系又相互独立。3.1.1登录界面 如图3-1-1所示图3-1-13.1.2增加学生成绩模块:主要功能用来对学生的成绩进行收集和对年龄和学号的收集,以便于统计信息及增加学生成绩信息界面的可观度。老师可以通过填写表格的形式,输入成绩等相关
10、信息,系统可以自动避免重复信息。 如图3-2-2所示图2-3-23.1.3显示学生成绩模块:主要功能便于大家对成绩 出生年份、学号进行查询处理。显示学生成绩信息界面 如图3-1-3所示图3-1-33.1.4排序统计成绩模块:主要功能用来对学生的成绩进行排序,使教师了解学生的近期学习状况排列系统成绩信息界面,如图3-1-4所示图3-1-43.1.5查找学生成绩模块:主要功能用来对学生的成绩方便快捷的进行查询,可以通过学号和姓名进行查询。查找学生成绩信息界面 如图3-1-5所示图3-1-53.1.6删除学生成绩模块:主要功能用来对学生的成绩进行删除,老师可以对数据进行删除,系统能够通过老师给出的条
11、件查找出要删除信息,并提示是否确定删除,删除后该信息将从数据库消失。删除学生成绩信息界面 如图2-3-5所示3.1.7修改学生信息模块:主要功能用来对学生的一些信息进行修改。老师可以对数据库中的一些信息进行修改,系统能够通过老师给出的条件查找出所要修改的信息。修改后自动保存,并自动查找是否是重复信息。修改学生信息模块界面如图3-1-7所示第四章 课程设计总结2011年12月5日至2010年12月9日一周,按照教学计划和学院的安排,在教室进行了10级计算机应用技术专业c+语言程序设计课程设计的实训周。c+语言程序设计的课程设计,使学生能将学到的c+语言程序设计思想用到具体的工作和学习中,加深对类
12、与对象的理解,是将计算机课程与实际问题相联接的关键步骤。通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。整个课程设计分为分组、编程及调试、程序测试及检查、提交课程设计报告四个阶段来完成。1、分组及准备阶段:此阶段将学生分成若干小组,每小组选择好设计模块,然后由学生自主进行问题分析和相关资料查询,通过问题分析、概要设计、详细设计、用户界面设计、编码、测试等一系列过程,培养学生动手实践、协作开发项目的能力,为后续专业技能的训练提供基础;2、编程及程序调试阶段:此阶段学生集中上机进行,对于学生出现的问题,老师及时帮助学生解决,取得了很好的效果
13、。同时为了保证每位同学的课程设计效果,每次课堂都会点名,并纳入学生的平时成绩,该成绩占总成绩的30%;3、程序测试及检查阶段:此阶段由老师对每位学生的设计结果作测试和检查,并根据测试及检查结果评定学生成绩,此成绩占课程设计总成绩的40%。检查的方法以学生答辩的方式进行,针对学生的课设提问有针对性的问题,根据回答问题的情况和课程设计的复杂度给定成绩;由于学生成绩管理系统的功能十分强大,程序的编写也十分的复杂,所以我们七个人一组,每人完成一部分程序.程序的编写是一项困难的任务,完成此程序必需运用书中的大部分知识,而且要有清晰的思路,有较强的语言组织能力.由于七人各完成一部分,所以最后七部分程序要能
14、衔接得十分完整,所以七个人要在编写自己的程序的基础上考虑其他人的程序结构.编写程序就是一项十分困难的事,所以一定要细心,不能有一丝的马虎,否则会前功尽弃.三是程序的检查和系统的调用.程序写完后并不能保证它一定能运行,所以要对它进行调试,发现其中的弊端,并作出相应的修改,以完善程序,使其逻辑性,运算能力都符合题目要求,使学生成绩管理系统的运行能力达到课程的目的.这也体现了我们7个人的团队合作能力!课程设计中体现出新时代大学生思维,理论方法结合实际应用能力的进步,也证明我系课程实践环节的点滴进步。主要有以下几点特色:1.本课程设计采取分组合作模式,这样可以增加同学们的协同能力,为以后融入单位合作工
15、作模式打下良好的基础。此外课程设计的选题模式采取抽签模式这样以来加强了随机性,增加量趣味性;2.本课程设计的选课题库更加贴近于我们的生活,激发学生观察生活,体验生活的能力。让同学有所想,有所做,同时增加量软件的应用性能;3本课程设计在一定的持续时间内,有明确的任务书,实行任务到人制度。使同学有事可做,也充分体验了“赶工期”的生活;4.本课程设计在撰写实践报告环节上,更是高标准、严要求。老师专门找出时间为同学讲解报告的书写细节,并且为同学制作模板以供参考。为日后撰写毕业设计报告等打下良好的基础。我希望在下一次课程设计中我们会有更大的进步,我也会努力改进存在的问题,使我们的课程设计更具有特色。通过
16、本次的c+课程设计,让我们学会了把书本上的知识应用到了实际中来。虽然在这一周中有过挫折和坎坷,有的问题一直到了最后才被解决,但是我认为这未必就不是好事,这样能锻炼我们的意志,磨练我们的耐心,失败是成功之母,这话一点都没错,没有失败就没有成功。让我们没有失去信心的是关怀我们的老师,当我们有了问题和疑问,老师就很耐心的给予讲解,让我们有了一个良好的学习氛围。经过为期一周的紧张的上机编程学习,每位同学的设计题目都达到了理想的效果,使学生对数据结构课程所学的知识有了更深入的理解和掌握,巩固了理论教学所学到的知识,扩展了学生编程思想,取得了预期的效果。由于水平有限及所学知识无限,在课程设计中难免有不少错
17、误和不足之处,还请老师批评指正。致 谢c+课程设计是对我们对这一个学期所学知识运用能力的一次全面的考核,也是对我们进行基本功的训练,培养我们综合运用所学知识独立地分析问题和解决问题的能力,为以后撰写毕业论文和工作打下良好的基础。在本次设计中,我得到吴涛老师的悉心指导,另外也是和本设计小组其他设计人员的大力支持才得以完成。紧张而又辛苦的一周课程设计结束啦。在我们快要完成老师给我们下达任务的时候,我们设计小组仿佛经历一次翻山越岭,登上了高山之巅,顿时心旷神怡,眼前豁然开朗。课程设计是我们专业课程知识综合应用的实践训练,这是我们迈向社会、从事职业工作前一个必不可少的过程。“千里之行始于足下”,通过这
18、次毕业设计我们深深体会到这句千古名言的真正含义。我们今天认真的进行课程设计,学会脚踏实地的迈开这一步,就是为了明天能稳健地在社会大潮中奔跑打下坚实的基础。说实话,课程设计真的是有点累。然而,当我们着手清理自己的设计资料,检查程序,得出的这个程序,仔细回味这一周的心路历程,一种少有的成功喜悦即刻使我们的倦意顿消。虽然这是我们刚学会走完的第一步,是我们人生中的小胜利,然而它令我感受到自己成熟了许多。我清楚的意识到做课程设计不是一件容易的事,但是我们更多的是一种收获。通过此次课程设计我们深刻的感悟到:做设计是苦活但要细心;实践动手做比空想强:合作精神的强大的;老师是很好的资源,要想他挖掘。成败决定于
19、细节。老子说:“天下难事,必做于易;天下大事,必做于细”;我们做课程设计也需要这种精神,千里之堤毁于蚁穴,蚂蚁的巢穴都将会导致千里的河堤崩溃,一点的不足也会使种鸽程序运行不出来。实践是检验真理的唯一标准,只有经得起实践检验的想法,意识才是正确的。俗语有所:众人拾柴火焰高。我们做课程设计也需要发挥团队的精神的作用。队员之间互相合作,发挥相互的特长这样会令程序设计工作顺利完成而省很多时间和精力,达到事半功倍的效果。今天的企业管理强调的时团队精神,不是个人主义,我们通过这次课程设计深刻了解到这一点,我们同学之间也得到很好的交流。老师是一本活书、是最好的利用资源,我们要不断在他身上进行“开采”,获取自
20、己的宝贵的知识。老师不会是都帮我们亲手的去做好,他主要做的工作的引导指引我们、启发我们。以他的话说就是:授之以鱼不如授之以渔,亲手帮你做好一次,那下次遇到同样的问题,你们还是不会解决,那不是等于不教。我们要学会独立思考,提高自己的学习能力。本次课程设计能够顺利完成,首先我要感谢我们c+老师吴老师,他不但教会我们专业方面的知识,在本次课程设计中给与我们大力支持和帮助的,每有问题,老师总是耐心的解答,使我能够充满热情的投入到课程设计中去;还要感谢我们这个团队的同学们,是我们7个人的齐心协力才完成此次课程设计。最后还要感谢相关资料的编著者和给予我们支持的社会各界人士,感谢您们为我们提供一个良好的环境
21、,使本次课程设计圆满完成。参考文献1. 郑莉,董渊,张瑞丰等编著.c+语言程序设计(第3版).北京:清华大学出版社,2009.2. 关治.陈景良.数值计算.北京:清华大学出版社,19933. 洪永清,黄德才,吕丽民.面向对象建模与设计.北京:人民邮电出版社,19984. 邵维忠,杨芙清.面向对象的系统分析.北京:清华大学出版社,19985. 谭浩强.c程序设计.北京:清华大学出版社,19916. 张国峰.c+语言及其程序设计教程.北京:电子工业出版社,19977. 侯捷.stl源码剖析.武汉:华中科技大学出版社,20028. 三味创作室.visual c+ 6.0 应用与提高.北京:科学出版社
22、,19999. 和克智.c+程序设计(第2版).西安:西安交通大学出版社,199910. 徐士良.c常用算法程序集.北京:清华大学出版社,199511. 附录:源程序代码# include # include # include # include int code();/登录密码using namespace std;/ student类class studentpublic:char name20;char id20;int date; /学生出生日期int age; /学生年龄int cnum; /c+课程得分int mnum; /数学课程得分int enum; /英语课程得分int s
23、um; /总分 student * next;void input()coutname;coutid; coutdate;coutcnum;coutmnum;coutenum;sum=cnum+mnum+enum;age=2011-date;void readfile(istream & in)innameiddateagecnummnumenumsum;void show()cout姓名:nameendl学号:idendl出生日期:dateendl年龄:ageendlc+:cnumendl数学:mnumendl外语:enumendl总成绩:sumendlendlnext;p!=end;p=p
24、-next)p-show();coutinput(); end-next=new student; end=end-next; cout添加成功!endl; coutnext!=end;p=p-next)if(!strcmp(p-next-name,name)ai=p;i+;if(i=0)return 0;else ai=end;return i;student *findid(char * id)for(student * p=head;p-next!=end;p=p-next)if(!strcmp(p-next-id,id)return p;return null;int code()in
25、t i=0,j=0; int c; char name15,cod15; coutnn;while(j3)couttt管理员:;cin.getline(name,sizeof(name);/coutendl= 0)if (c = b)coutb b;i = i - 1; elsecout*;codi = c; c = getch();if(c != b)i = i + 1;codi = 0;coutendlendltt;if(strcmp(name, 1)=0)&(strcmp(cod, 111)=0)|(strcmp(name,2)=0)&(strcmp(cod,222)=0)cout登陆成
26、功!nn;j=4;break;else if(strcmp(name, *)=0)|(strcmp(name, *)=0)cout登陆失败!密码错误!nn;else coutnext=new student; end=head-next; in.open(sort.txt); if(!in)couttt这是一个新系统,无学生信息。请先输入。readfile(in);if(end-name0=0)break;end-next=new student; end=end-next;in.close();couttt读取学生信息成功!next!=end;)temp=head-next;head-nex
27、t=head-next-next;delete temp;delete head,end;/菜单void studentmessage:showmenu() cout 学 生 成 绩 管 理 系 统 endl; cout endl; cout 1.增加学生成绩 endl; cout 2.显示学生成绩 endl; cout 3.排序统计成绩 endl; cout 4.查找学生成绩 endl; cout 5.删除学生成绩 endl; cout 6.修改学生信息 endl; cout 0.安全退出系统 endl;coutnttntt请选择:;void studentmessage:find()cha
28、r name20 ,id10; int x,k; student * p=null,*a6; coutntt*n; couttt 1.按学生的姓名查找 ntt 2.按学生学号查找 ; coutx; switch(x)case 1:coutname;if(k=finditem(name,a)for(int i=0;ai!=end;i+)ai-next-show();cout输入任意字符!继续;getch();elsecouttt没有找到该姓名的学生!nendl;cout输入任意字符!继续;getch();break;case 2:coutid;if(p=findid(id)p-next-show
29、();cout输入任意字符!继续;getch();elsecouttt没有找到该学号的学生!nendl;cout输入任意字符!继续;getch();break;/修改信息void studentmessage:modifyitem() char name20;int k=0,te,t,x; student * p=null,* a6; coutntt*n; couttt 1.按学生的姓名查找 ntt 2.按学生学号查找 ; coutx; switch(x)case 1:coutname;/找到单个学生直接删除if(te=finditem(name,a)if(te=1)a0-next-input
30、();cout修改成功!endl;cout输入任意字符!继续;getch();elsecouttt找到多个学生的信息!endl;/找到多个学生选择删除for(int i=0;ai!=end;i+)cout第i+1next-show();coutt;at-1-next-input();cout修改成功!endl;cout输入任意字符!继续;getch();elsecouttt没有找到!endl;cout输入任意字符!继续;getch(); break;case 2:coutid;if(p=findid(id)p-next-input();cout修改成功!endl;cout输入任意字符!继续;g
31、etch();elsecouttt没有找到!endl;cout输入任意字符!继续;getch(); break;/删除信息void studentmessage:removeitem() char name20;int k=0,te,x,t;student * p=null,*temp=null,*a6; coutntt*n; couttt 1.按学生的姓名删除 ntt 2.按学生学号删除 ; coutx; switch(x)case 1:coutname;if(te=finditem(name,a)if(te=1) /找到单个学生直接删除temp=a0-next;a0-next=a0-nex
32、t-next; delete temp;couttt删除成功!endl;cout输入任意字符!继续;getch();elsecouttt找到多个学生的信息!endl;/找到多个学生选择删除for(int i=0;ai!=end;i+)cout第i+1个:next-show();coutt;temp=at-1-next;at-1-next=at-1-next-next; delete temp;couttt删除成功!endl;cout输入任意字符!继续;getch();elsecouttt没有找到该学生!nendl;cout输入任意字符!继续;getch();break;case 2:coutid;if(p=findid(id)temp=p-next;p-next=p-next-next; delete temp;couttt删除成功!endl;cout输入任意字符!继续;getch();elsecouttt没有找到该学生!nendl;coutnext;p!=end;p=p-next)n+;return n;/对当前链表进行排序void studentmessage:sort() cout sorting.endl;student *p1=null,*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行从业资格证考试方法学习试题及答案
- 面向2025年银行从业资格证的试题及答案
- 网络编辑师考试快速复习试题及答案
- 2024年小语种考试模拟试题及答案
- 理财师考试的复习技巧与资源试题及答案
- 辽宁协作校2024-2025学年度下学期高三第二次模拟考试英语试卷(含答案详解)
- 2024年网络编辑师证书考试前瞻性试题及答案
- 网络编辑师沟通能力提升试题及答案
- 风险评估金融理财师考试试题及答案
- 2025年银行从业资格考试的培养目标试题及答案
- 国际贸易实务与案例教程题库及答案
- 2025新能源考试试题及答案
- 小学思政教育主题班会
- “良知与悲悯”高频素材积累-2024-2025学年高一语文单元写作深度指导(统编版必修下册)
- 2024山西三支一扶真题及答案
- 技术经纪人(初级)考试试题(附答案)
- 2025年江苏省南通启东市江海产业园招聘1人历年高频重点提升(共500题)附带答案详解
- 《大型商务酒店网络规划与设计》8800字
- GB/T 45077-2024国家公园项目建设指南
- 治安 课件教学课件
- 中韩文化对比
评论
0/150
提交评论