下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、封面作者:PanHongliang仅供个人学习课程设计目的 熟悉程序设计的基本流程,掌握程序设计基本方法,基本技巧、并能综合运 用,提高程序设计能力。通过实践,熟悉掌握C+语言中面向过程部分的内容,能够运用C+语言解决一个实际问题。设计环境及语言VC集成开发环境(IDE)Microsoft visual C+ 6.0语言。课题设计步骤1.需求分析从软件使用者处获得用户需求,确定课题开发应具备的功能;2.系统结构设计 将整个系统功能分块,考虑各个功能模块应具备的功能,模 块间的联系,划分不同的子系统进行设计;3.数据设计设计系统中新的数据类型、存储类型;4.代码设计 在以上阶段的基础上编写代码;
2、5.软件测试使用实现设计好的测试用例、测试次数对编制的程序进行测试,发现存在错误(包括潜在的问题),加以修改,完善。课程设计内容:1学生个人信息管理系统。 本课程设计通过建立、修改、查询、显示、排序等显示学生个人信息等功能, 具体的技术有:(1)结构、枚举类型的定义与使用;(2)数组的定义使用;(3)程序的三种基本控制流程的综合、灵活运用;(4)普通指针和数组指针的定义和使用;(5)各类函数的定义和调用;(6)文件的输入/输出(7)程序的调试。2具备的功能有:(1)新增学生数据的添加:姓名,成绩。(2)修改学生信息: 输入姓名, 根据姓名, 修改该学生的三项学生信息数据并显 示;(3)删除一个
3、学生信息:输入姓名,根据学生姓名删除该生信息;(4)根据学生姓名查询:输入姓名,查找该学生并显示学生个人信息;(5)显示全部学生信息;(6)根据学生姓名首字母先后排序学生个人信息;3设计要求(1)在Visual C+控制台应用程序方式下设计课题。(2)设计的程序完成该课程规定的功能。(3)程序具有一定的健壮性。4设计部分#include#include#includeclass stu /定义一个stu类char name20。double math,chinese,english,average,sum。public:stu()stu(char n20,double ma,double ch
4、in,double eng)strcpy(name,n)。math=ma。chinese=chin。english=eng。double getsum()sum=chinese+english+math。return sum。double getaver()average=getsum()/3。return average。friend void main()。void main()cout请选择您需要的操作!endl。cout操作:endl。cout(0)数据录入endl。cout(1)增加人员endl。cout(2)删除人员endl。cout(3)修改数据endl。cout查询:endl。
5、cout(4)按总成绩查询endl。cout(5)按姓名查询endl。cout(6)输出所有学生的数据endl。cout成绩名词endl。cout(7)按总分查询排名endl。cout(8)按语文查询排名endl。cout(9)按数学查询排名endl。cout(y)按英语查询排名endl。cout选择相关操作请输入相对的括号里的阿拉伯数字!char p。char w。p。if(p=0&p=10)flag2=1。elsecout指令错误!请重新输入:endl。while(flag2=0)。doswitch(p)case 0:char c。char name20。double math,c
6、hinese,english。docout请输入姓名name。cout请输入数学成绩:math。cout请输入语文成绩:chinese。cout请输入外语成绩:english。filej=new ofstream(d:document,ios:ate)。*filejvv姓名name数学成绩math语文成绩chinese外语 成绩englishendl。j+。si=new stu(name, math, chinese, english)。i+。cout数据录入成功,想继续录入吗(y/n)c。flag2=0。doif(c!=y&c!=n)cout指令错误!请重新输入!c。elseflag
7、2=1。while(flag2=0)。while(c=y)。break。case 4:double t。char c。doint flag1=0。cout请输入你要查询学生的总成绩t。for(int q=0。qgetsum()=t)flag1=1。cout您要查询的学生是:(*sq).nameendl。if(flag1=0)cout对不起!您要查询的学生不存在!endl。cout您想继续查询吗?(y/n)c。if(c!=y&c!=n)cout指令错误!请重新输入!c。while(c=y)。break。case 5:char j=0。char c。doint flag=0
8、。cout请输入你要查询的学生姓名n。for(int j=0。ji。j+)if(strcmp(n,(*sj).name)=0)flag=1。cout您要查询的学生是:(*sj).nameendl。cout(*sj).name的总成绩成绩是(*sj).getsum()endl绩是:(*sj).getaver()endl。if(flag=0)cout对不起!您要查询的学生不存在!endl。cout您想继续查询吗?(y/n)c。if(c!=y&c!=n)cout指令错误!请重新输入!c。while(c=y)。break。case 1:char name20。double math,chine
9、se,english。char c。docout请输入您要增加的学生的姓名:name。cout请输入数学成绩:math。平均成cout请输入语文成绩:chinese。cout请输入外语成绩:english。filej=new ofstream(d:document,ios:ate)。*filej姓名name数学成绩math语文成绩chinese外语成绩englishendl。j+。si=new stu(name, math, chinese, english)。i+。cout数据录入成功,想继续录入吗(y/n)c。if(c!=y&c!=n)cout指令错误!请重新输入!c。while(
10、c=y)。break。case 2:char name20。bool flag3=0。char c。docout请输入您要删除的学生姓名:name。for(int h=0。hname)=0)flag3=1。i-。dosh=sh+1。h+。while(h=i)。if(flag3=0)cout您要求删除的对象本来就不存在!请检查输入的正确性!cout要继续删除吗?(y/n)c。if(c!=y&c!=n)cout指令错误!请重新输入!c。while(c=y)。break。case 3:char name20。double mat,chin,eng。flag2=0。char c。docout请
11、输入您要修改的学生的姓名:name。for(int h=0。hname)=0)flag2=1。cout请输入新的数学成绩:mat。cout请输入新的语文成绩:chin。cout请输入新的外语成绩:eng。sh-chinese=chin。sh-math=mat。sh-english=eng。cout数据修改成功!。if(flag2=0)cout您要修改的学生本来就不存在!请检查重新输入!cout想继续修改吗(y/n)c。endlif(c!=y&c!=n)cout指令错误!请重新输入!c。while(c=y)。break。case 6:cout本系统所有学生数据如下:endl。if(i=0
12、)cout管理系统中没有录入数据或者数据已经被删除!endl。for(int k=0。ki。k+)coutk+1 姓名: name语文: chinese数学: math外语: english总分: (*sk).getsum() 平均分:(*sk).getaver()endl。break。case 7:int t。stu b。cout本系统所以学生排名如下:endl。for(int x=0。xi-1。x+)t=x。for(int y=x+1。ygetsum()getsum()t=y。if(t!=x)b=*sx。*sx=*st。*st=b。if(i=0)cout管理系统中没有录入数据或者数据已经被
13、删除!。for(int k=0。ki。k+)coutk+1 姓名: name语文: chinese数学: math外语: english总分: getsum()平均分: getaver()endl。break。case 8:int t。stu b。cout本系统所以学生语文排名如下:endl。for(int x=0。xi-1。x+)t=x。for(int y=x+1。ychinese)chinese)t=y。if(t!=x)b=*st。*st=*sx。*sx=b。if(i=0)cout管理系统中没有录入数据或者数据已经被删除!。for(int k=0。ki。k+)coutk+1 姓名: nam
14、e语文: chinese数学: math外语: english总分: getsum()平均分: getaver()endl。break。case 9:int t。stu b。cout本系统所以学生数学排名如下:endl。for(int x=0。xi-1。x+)t=x。for(int y=x+1。ymath)math)t=y。if(t!=x)b=*st。*st=*sx。*sx=b。if(i=0)cout管理系统中没有录入数据或者数据已经被删除!。for(int k=0。ki。k+)coutk+1 姓名: name语文: chinese数学: math外语: english总分: getsum()
15、 平均分:getaver()endl。break。case y:int t。stu b。cout本系统所以学生英语排名如下:endl。for(int x=0。xi-1。x+)t=x。for(int y=x+1。yenglish)english)t=y。if(t!=x)b=*st。*st=*sx。*sx=b。if(i=0)cout管理系统中没有录入数据或者数据已经被删除!。for(int k=0。ki。k+)coutk+1 姓名: name 语文: chinese数学: math外语: english总分: getsum()平均分: getaver()endl。break。cout您想继续进行其
16、他操作吗?(y/n)w。if(w!=y&w!=n)cout指令错误!请重新输入!endl。elseflag4=1。while(flag4=0)。if(w=y)cout请输入操作代码(0录入/4按总分查询/5按姓名查询/1增加人员/2删除人员/3修改数据/6显示所有成员数据/7按总分排名/8按语文排名/9按 数学排名/y按英语排名)p。while(w=y)。for(int x=0。xi。x+)delete sx。coutdelete all members!endl。程序运行结果图示:图一 程序运行后的菜单显示图二“(1):增加学生”界面图四“ (3) :删除学生信息”界面图三2):修改
17、学生信息”界面冬五“(4):查询学生信息”界面图六“5:显示所有学生信息”界面图七“(6):按总分排序”界面版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整 理。版权为潘宏亮个人所有This article in eludes some parts, in cludi ng text,pictures, and desig n. Copyright is Pan Hon glia ngs pers onal ownership.用户可将本文的内容或服务用于个人学习、研究或欣赏,以及 其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关 法律的规定,不得侵犯本网站及相关权利人的
18、合法权利。除此以 外,将本文任何内容或服务用于其他用途时,须征得本人及相关权 利人的书面许可,并支付报酬。Users may use the contents or services of thisarticle for pers onal study, research or appreciati on, and othernon-commercial or non-profit purposes, but at the same time, they shallabide by the provisions of copyright law and other releva nt laws, andshall not infringe upon the legitimate rights of this w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论