版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计目的熟悉程序设计的基本流程,掌握程序设计基本方法,基本技巧、并能综合运用,提高程序设计能力。通过实践,熟悉掌握C+语言中面向过程部分的内容,能够运用C+语言解决一个实际问题。设计环境及语言VC+集成开发环境(IDE)Microsoft visual C+ 6.0语言。课题设计步骤1. 需求分析 从软件使用者处获得用户需求,确定课题开发应具备的功能;2. 系统结构设计 将整个系统功能分块,考虑各个功能模块应具备的功能,模块间的联系,划分不同的子系统进行设计;3. 数据设计 设计系统中新的数据类型、存储类型;4. 代码设计 在以上阶段的基础上编写代码;5. 软件测试 使用实现设计好的测试用
2、例、测试次数对编制的程序进行测试,发现存在错误(包括潜在的问题),加以修改,完善。课程设计内容: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 #include class stu /定义一个stu类 char name20; double math,chinese,english,average,sum; public: stu() stu(char n20,double ma,double chin,doub
4、le 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
5、; cout查询:endl; cout(4)按总成绩查询endl; cout(5)按姓名查询endl; cout(6)输出所有学生的数据endl; cout成绩名词endl; cout(7)按总分查询排名endl; cout(8)按语文查询排名endl; cout(9)按数学查询排名endl; cout(y)按英语查询排名endl; cout选择相关操作请输入相对的括号里的阿拉伯数字!p; if(p=0&p=10) flag2=1; else cout指令错误!请重新输入:endl; while(flag2=0); do switch(p) case 0: char c; char name2
6、0;double math,chinese,english; do cout请输入姓名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; flag2=0; do if(c!=y&c!=n) co
7、ut指令错误!请重新输入!c; else flag2=1; while(flag2=0); while(c=y); break; case 4: double t;char c; do int 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; cas
8、e 5: char n20;int j=0;char c; do int flag=0; 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;
9、 while(c=y); break; case 1: char name20;double math,chinese,english; char c; do cout请输入您要增加的学生的姓名: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+
10、; cout数据录入成功,想继续录入吗(y/n)c; if(c!=y&c!=n) cout指令错误!请重新输入!c; while(c=y); break; case 2: char name20;bool flag3=0;char c; do cout请输入您要删除的学生姓名:name; for(int h=0;hname)=0) flag3=1; i-; do sh=sh+1; h+; while(h=i); if(flag3=0) cout您要求删除的对象本来就不存在!请检查输入的正确性!; cout要继续删除吗?(y/n)c; if(c!=y&c!=n) cout指令错误!请重新输入!c
11、; while(c=y); break; case 3: char name20;double mat,chin,eng;flag2=0; char c; do cout请输入您要修改的学生的姓名: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您要修改的学生本来就不存在!请检查重新输入!endl; cou
12、t想继续修改吗(y/n)c; if(c!=y&c!=n) cout指令错误!请重新输入!c; while(c=y); break; case 6: cout本系统所有学生数据如下:endl; if(i=0) 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
13、(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管理系统中没有录入数据或者数据已经被删除!; 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+)
14、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 姓名: name 语文: 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
15、;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() 平均分: 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;
16、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您想继续进行其他操作吗?(y/n)w; if(w!=y&w!=n) cout指令错误!请重新输入!endl; else flag4=1; while(flag4=0); if(w=y) cout请输入操作代码(0 录入/4 按总分查询/5 按姓名查询/1 增加人
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北体育学院《纺织装饰品图案设计》2024-2025学年第二学期期末试卷
- 南阳理工学院《魏晋南北朝史研究》2024-2025学年第二学期期末试卷
- 泸州医疗器械职业学院《行草行书草书技法》2024-2025学年第二学期期末试卷
- 中国戏曲学院《纳米科学与技术》2024-2025学年第二学期期末试卷
- 南昌健康职业技术学院《建筑设备CAD课程设计》2024-2025学年第二学期期末试卷
- 牛羊屠宰车间管理制度
- 柳州职业技术学院《互换性与技术测量》2024-2025学年第二学期期末试卷
- 青海卫生职业技术学院《审计案例》2024-2025学年第二学期期末试卷
- 2026广东深圳市龙岗区城市建设投资集团有限公司招聘13人考试参考试题及答案解析
- 2026四川成都市邛崃市供销合作社农业服务有限公司招聘企业雇员1人笔试备考题库及答案解析
- 2026年常州工程职业技术学院单招职业技能考试题库附答案解析
- 2026年内蒙古民族幼儿师范高等专科学校单招职业技能测试题库及参考答案详解一套
- 江苏教师绩效考核制度
- 2025-2026学年沪教版(新教材)小学英语四年级下册教学计划及进度表
- 2026年公共英语等级考试口语与听力强化训练题目
- 2026春人教版(新教材)小学美术二年级下册《孩童时光》教学设计
- 2026年江西工业工程职业技术学院单招综合素质笔试备考试题含详细答案解析
- 人教版2026春季新版八年级下册英语全册教案(单元整体教学设计)
- 深度解析(2026)《YY 9706.264-2022医用电气设备 第2-64部分:轻离子束医用电气设备的基本安全和基本性能专用要求》
- 2026年黑龙江司法警官职业学院单招综合素质笔试备考题库含详细答案解析
- 2026年春季开学收心大会校长讲话:马年春风送暖奋楫逐梦启新程
评论
0/150
提交评论