




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学 号: C+面向对象程序设计大作业题 目学 院专 业信息工程班 级姓 名王继文指导教师2015年11月15日20目录一 大作业的目的1二 大作业的内容1三 大作业的要求与数据2四 大作业应完成的工作2五 总体设计(包含几大功能模块)2六 详细设计(各功能模块的具体实现算法流程图)3七 调试分析(包含各模块的测试用例,及测试结果)5八 总结18九 参考资料19一 大作业的目的面向对象程序设计是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C+语言独立地编写、调试应用程序和进行其它相关设计的技能。二 大作业的内容 (1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;(2) 各项目名次取法有如下几种:取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; (3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。(4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。三 大作业的要求与数据1、用C+语言实现系统;2、由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。3、各项目名次取法有如下几种:取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1。四 大作业应完成的工作(1)编写算法;(2)算法测试,并有具体的测试结果和结果分析;(3)撰写大作业报告。内容包括:1) 封面扉页2) 设计任务书3) 目录4) 总体设计方案(包括流程图)5) 使用说明及运行实例(包括界面)6) 成员设计内容简介7) 项目源程序代码(注意注释的使用)8) 指导教师评语五 总体设计(包含几大功能模块)本文研究开发的运动会管理系统用于支持用于查询各个学校在运动会中的成绩。有几种目标: 1.支持输入各个项目的基本信息;2可以按比赛项目编号或名称查询、删除、修改信息。3可以按运动员编号或姓名查询、删除、修改信息4数据输入信息并能随时查询 六 详细设计(各功能模块的具体实现算法流程图)开始信息录入信息修改信息查询信息输出信息删除 结束6.1各函数的功能和实现1.本实验中,对不同的对象采取不同的存储结构,对比赛项目采取链式结构,而对于参赛运动员采取一个结构就可以了。本程序中主要用到线性表的一些基本操作,将比赛项目信息,运动员信息,赛事信息都构造成线性表。具体功能通过主函数分别调用各函数实现。2.参考本实验的功能要求,本程序分为七个模块:主函数、信息录入函数、信息修改函数、信息删除函数、信息查询函数,信息输出函数。3.信息录入函数有包括比赛项目信息录入函数(包括比赛编号、名称等),运动员信息录入函数(运动员的编号、姓名、性别、年龄、工作单位或省份)、比赛赛事信息录入函数(某运动员参加某比赛项目,成绩、名次)。4.信息修改函数包括比赛项目、运动员信息、赛事信息修改。5.信息查询函数包括根据比赛项目、运动员编号进行查修6.信息输出函数包括比赛项目、运动员信息、赛事信息输出等。7.退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。如图6.1结束开始输出菜单根据菜单输入n的值选择程序输入退出输出查找插入删除 图 6.1七 调试分析(包含各模块的测试用例,及测试结果) 7.1主函数#include#include#includeusing namespace std;void fun1() cout*endl; coutendl; cout*学校运动会管理系统*endl;cout-数据录入 请按:1-endl;cout-数据修改 请按:2-endl;cout-数据删除 请按:3-endl;cout-数据查询 请按:4-endl;cout-数据显示 请按:5-endl;cout-退出系统 请按:6-endl;coutendl;cout*endl;coutendl;cout*请输入一个数据,并按回车键!*endl;class Matchpublic:Match *next;/为创建链表做准备int number; /比赛项目编号char call10; /比赛项目名称char time10; /比赛时间char place20; /比赛地点 friendvoid input1();7.2输入相关信息void input1() ofstream fout(e:比赛项目.dat,ios:app);char ch;Match a;do cout请分别输入比赛项目编号、名称、比赛时间、比赛地点.a.numbera.calla.placea.time; a.next=NULL; fout.write(char *)&a,sizeof(Match); cout是否继续输入,如果继续键入Y|ych;while(ch=y|ch=Y); fout.close();Match *head1;void creat() head1=NULL; Match *p,*q=head1; ifstream fin(e:比赛项目.dat,ios:in); if(!fin) cout文件打开失败!next=p;q=p; p=new Match; fin.read(char*)p,sizeof(Match); fin.close(); 7.3信息修改int change1() /对比赛项目相关信息修改cout您正在进行修改比赛项目有关事项操作!endl;creat(); Match *p1; p1=head1;cout请输入要修改比赛项目的编号:number1;while(p1!=NULL) if(p1-number=number1) sign=1;break; p1= p1-next; if (sign=0)cout没有找到要修改的记录!endl; elsecout请选择要修改比赛项目的那些信息endl;cout-修改比赛项目的编号-1endl;cout-修改比赛项目的名称-2endl;cout-修改比赛时间-3endl;cout-修改比赛地点-4endl;cout请输入对应信息的编号a;switch(a)case 1:cout请输入新的比赛编号:nu; p1-number=nu; cout比赛项目编号修改成功!endl; break; case 2:cout请输入新的比赛项目名称:info; strcpy(p1-call,info);cout比赛项目名称修改成功!endl; break; case 3:cout请输入新的比赛时间:info;strcpy(p1-time,info);cout比赛项目时间修改成功!endl; break; case 4:cout请输入新的比赛地点:info;strcpy(p1-place,info);cout比赛项目地点修改成功!next; fout.close(); return 0;7.4信息删除int delete1() /对比赛项目相关信息进行删除 creat(); Match *p1,*p2; p2=p1=head1;cout请选择要删除比赛项目的那些信息endl;cout-删除比赛项目的编号-1endl;cout-删除比赛项目的名称-2endl; cout请输入对应信息的编号n; int num,flag=0; char cal10; switch(n) case 1: cinnum; while(p1!=NULL) if(p1-number=num) flag=1;break; p2=p1; p1= p1-next; if (flag=0) cout没有找到要删除的记录!next=p1-next;case 2: cincal; while(p1!=NULL) if(!strcmp(p1-call,cal) flag=1;break; p2=p1; p1= p1-next; if (flag=0) cout没有找到要删除的记录!next=p1-next; ofstream fout(e:比赛项目.dat,ios:out); p1=head1;while(p1!=NULL) fout.write(char*)p1,sizeof(Match);p1=p1-next; fout.close();return 0; 7.5信息查询void print1() creat(); Match *p1=head1; cout请分别输出比赛项目编号、名称、比赛时间、比赛地点.endl;while(p1!=NULL) coutnumbertcallttimetplacenext; void find1() creat(); Match *p1; p1=head1; int sign=0;/设置的标记变量 cout请选择要查询比赛项目的哪些信息endl;cout-按比赛项目的编号查询-1endl;cout-按比赛项目的名称查询-2endl;cout-按比赛时间查询-3endl;cout-按比赛地点查询-4endl;cout请输入对应信息的编号a;switch(a)case 1:cout请输入要查询的比赛编号:nu; while(p1!=NULL) if(p1-number=nu) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertcallttimetplaceendl; break; case 2:cout请输入要查询的比赛项目名称:info; while(p1!=NULL) if(p1-call=info) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertcallttimetplaceendl; break; case 3:cout请输入要查询的比赛时间:info;while(p1!=NULL) if(!strcmp(p1-time,info) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertcallttimetplaceendl; break; case 4:cout请输入要查询的比赛地点:info;while(p1!=NULL) if(!strcmp(p1-place,info) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertcallttimetplaceendl;break;class Athletepublic:Athlete *next;int number; /运动员的编号char name10; /运动员的姓名 char part20; /运动员所属工作单位或省份char sex20; /运动员性别int age; /运动员年龄friend void input2(); 7.6退出系统八 总结 通过这次大作业使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。本次大作业结束了,通过这次实践学到了许多知识。学到了设计一个简单的系统。要注意哪些方面。也知道自己哪些方面做得还不够。这不仅是程序设计,更是锻炼我们处理问题的能力.编写程序是件细心活,稍不留神就会出错,这就必须要求我对待事情要认真!但我们总结出了一点点的经验如下:1、要对系统的功能和要求做出详细的分析,并合理分解任务。2、把分解出来的子任务,做给一个相对独立的模块。3、在设计一个模块之前,要简单构想一下总界面的显视情况。4、针对构想出来的界面进行程序的编写。九 参考资料1 陈维兴,林小茶C+面向对象程序设计教程(第3版), 清华大学出版社,2012 2 钱能 主编 C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年软考网络管理员考试新趋势试题及答案
- 软件开发模拟考试试题及答案指导
- 如何运用法律手段在数字化时代维护新闻的真实性
- 医疗行业数字化办公的安全与合规管理
- 医院资源管理中的挑战与机遇
- 培养全员的隐私意识企业级的数据安全培训方案
- 团队培训结业项目全流程解析
- 企业数字化转型的成功因素与策略
- 高考生物一轮复习(全国版) 第10单元 第1课时 基因工程的基本工具和基本操作程序
- 高考生物一轮复习(全国版) 第6单元 第4课时 基因的表达
- 《胸腔镜肺部切除术》课件
- 辽宁点石联考2025届高三5月份联合考试-政治试卷+答案
- 2025-2030年中国铜冶炼行业前景预测与投资价值研究报告
- 2025年官方兽医答题题库附答案详解(达标题)
- 国企物业考试试题及答案
- 军队文职-新闻专业 (军队文职)真题库-5
- 2025年下半年保山市消防救援支队防火监督科招聘消防文员4名易考易错模拟试题(共500题)试卷后附参考答案
- 以患者为中心的医疗数据管理系统-基于区块链技术
- 2025至2030中国寺庙经济市场深度调研与未来前景发展研究报告
- 食用菌品牌形象塑造策略-全面剖析
- 上海公务员笔试真题2024
评论
0/150
提交评论