软件工程课程设计(doc 30页).doc

上传人(卖家):欢乐马 文档编号:272988 上传时间:2020-02-22 格式:DOC 页数:30 大小:423.71KB
下载 相关 举报
软件工程课程设计(doc 30页).doc_第1页
第1页 / 共30页
软件工程课程设计(doc 30页).doc_第2页
第2页 / 共30页
软件工程课程设计(doc 30页).doc_第3页
第3页 / 共30页
软件工程课程设计(doc 30页).doc_第4页
第4页 / 共30页
软件工程课程设计(doc 30页).doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、 I 分类号分类号 编编 号号 华北水利水电大学华北水利水电大学 North China Institute of Water Conservancy and Hydroelectric Power 课课 程程 设设 计计 题目题目 田径运动会管理信息系统田径运动会管理信息系统 学学 院院 信息工程学院信息工程学院 专专 业业 计算机科学与技术计算机科学与技术 小组成员小组成员 1 吴辉密(吴辉密(201219619) 小组成员小组成员 2 张秋敏(张秋敏(201219621) 小组成员小组成员 3 张馥雅(张馥雅(201219622) 小组成员小组成员 4 张倩倩(张倩倩(201219623

2、) 指指 导导 教教 师师 白娟白娟 2013 年 12 月 6 日 II 华北水利水电大学 软件工程 课程设计报告 20132014 学年学年 第第 一一 学期学期 2012 级级 计算机科学与技术计算机科学与技术 专业专业 小组成员小组成员 1: 吴辉密(201219619) 分工:分工: 运动员信息的录入、修改、查询、显示 小组成员小组成员 2: 张秋敏(201219621) 分工:分工: 比赛项目信息的录入、修改、查询、显示 小组成员小组成员 3: 张馥雅(201219622) 分工:分工: 需求分析、概要设计、资料的搜集等 小组成员小组成员 4: 张倩倩(201219623) 分工:

3、分工: 比赛成绩的录入、修改、查询、显示 III 目 录 摘 要 1 一、需求分析 2 1.1 可行性分析 2 1.2.1 C/ C +语言简介 2 1.2.2 开发背景 2 1.2.3 开发环境 . 3 1.3 系统需求分析 3 1.4 系统总体设计 3 二、概要设计 5 2.1 数据结构 5 2.2 程序模块 . 6 三、详细设计 7 四、程序代码 10 五、测试 13 六、附录 15 七、心得体会 23 参 考 文 献 2 1 田径运动会管理系统的设计与实现田径运动会管理系统的设计与实现 摘 要 运动会管理是一个重要内容,随着时代的进步,参加运动会的运动员数量也不断增 加、项目也越来越多

4、、运动会举办也越来越频繁,对运动会管理要求也越来越高。如何管 理好各单位、运动员的成绩的信息,对运动会管理系统的要求也越来越高,所以必须要不 断地更新运动会管理系统,才能满足社会日益发展的需要。 本文是采用 VC+6.0 作为前台开发工具,旨在实现对现有的运动会管理的基础上, 提供信息录入,信息删除,信息查询,信息输出等服务,在此实验报告中主要实现对存储 在管理系统中的数据表进行这些简单的操作,为提高运动会管理系统的效率提供了便利。 关键词:VC+6.0;运动会信息管理; 2 第一章 需求分析 1.1 可行性分析 计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便计算机 代替人

5、工处理一些事务已成为必然。整个人类社会已进入高度信息化,人们对信息和数据 的利用和处理已经进入自动化、网络化和社会化的阶段。如在查找资料、处理日常办公事 务、科研生产等方面,无不需要利用大量的信息资源。因此,如何有效地进行数据信息的 管理和利用,已经成为人们普遍关注的课题。信息在不同的领域里有着不同的概念,在管 理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排 列,它是系统传输和处理的对象。处在信息时代的今天,信息的作用越来越为人们所重视。 制定成绩计划,研究投资策略,都离不开对信息的充分利用。 在当今社会上,体育运动越来越普及,参与运动会的人越来越多,素质越来越

6、高。传 统的运动会,一般是以人手组织为主,运动员的报名、赛事的安排、比赛场地的安排和成 绩的记录等操作全都由人手操作,参加人数越多,运动会的规模就越大,管理工作就更加 费时费力,而且容易出错。学校田径运动会管理系统则为组织者提供一个简捷方便的方式 来组织管理运动会,学校田径运动会管理系统是一种“人机交互系统” ,通过简单的键盘 输入与鼠标点击来完成烦琐的记录与安排工作,保证运动会的正常流畅的进行。学校田径 运动会管理系统是典型的数据库应用系统,可完成田径运动会管理中的运动员基本信息录 入,竞赛成绩处理及公告,成绩统计信息查询等事务处理功能。根据学校田径运动会的 一般进程,本系统分为数据修改、查

7、询、删除、计算等四个工具模块来完成所期望的功能。 依据关系型数据库理论设计数据库的结构。使用该系统可以极大地减小工作人员的劳动 量,同时还可大大提高工作效率、可靠性和正确性。 1.2 开发环境和开发工具 1.2.1 C/ C +语言简介 C 语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。 它由美国贝尔研究所的 D.M.Ritchie 于 1972 年推出。1978 后,C 语言已先后被移植到大、 中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用 程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据 处理能力,

8、不仅仅是在软件开发上,而且各类科研都需要用到 C 语言,适于编写系统软件, 三维,二维图形和动画。 1.2.2 开发背景 随着科学技术的不断发展, 计算机科学日渐成熟, 其强大的功能已为人们所深刻认 3 识,它己进入人类社会的各个领域并发挥着越来越重要的作用。采用计算机进行信息化管 理已成为衡量企业管理科学化和现代化的重要标志,而人事管理的全面自动化、信息化则 是其中重要的组成部分。人事管理的好坏对于企业的决策者和管理者来说都至关重要,在 很大程度上影响着企业的经济效益和社会效益。因此,本文所研究的人事管理信息系统具 有一定的使用价值和现实意义。 信息录入,学生信息录入,成绩录入三个模块的相关

9、内容,最后的整体代码由两个人组合完成。 1.2.3 开发环境 本文所采用的开发环境主要是基于 C+语言在 Visual C+平台上开发的系统,界面 友好,功能强大,调试也很方便。这是微软出的一个 C 语言集成开发环境(IDE) , 主要有:VC+6.0 等,分为企业版和学生版等。对于初学者 VC+6.0 是比较容易上 手的,但其对标准支持的不好可能使人养成不良的编程习惯。 1.3 系统需求分析 本实验中,对不同的对象采取不同的存储结构,对比赛项目采取链式结构,而对于参 赛运动员采取一个结构就可以了。本程序中主要用到线性表的一些基本操作,将比赛项目 信息,运动员信息,赛事信息都构造成线性表。具体

10、功能通过主函数分别调用各函数实现。 参考本实验的功能要求,本程序分为七个模块:主函数、信息录入函数、信息修改函 数、信息删除函数、信息查询函数,信息输出函数。 信息录入函数有包括比赛项目信息录入函数(包括比赛编号、名称等) ,运动员信息 录入函数(运动员的编号、姓名、性别、年龄、工作单位或省份) 、比赛赛事信息录入函 数(某运动员参加某比赛项目,成绩、名次) 。 信息修改函数包括比赛项目、运动员信息、赛事信息修改。 信息查询函数包括根据比赛项目、运动员编号进行查修 信息输出函数包括比赛项目、运动员信息、赛事信息输出等。 1.4 系统总体设计 支持输入各个项目的基本信息; 可以按比赛项目编号或名

11、称查询、删除、修改信息。 可以按运动员编号或姓名查询、删除、修改信息 数据输入信息并能随时查询 4 1.5 数据流图 5 第二章 概要设计 说明本系统中用到的所有数据类型的定义及存储结构,主程序的流程以及各程序模块 之间的调用关系。 2.1 数据结构 从整个管理系统来看,我们知道这里主要有三个主体,一个是比赛项目信息,一个是 运动员,另一个是比赛事项目信息。这三者不单单是作为简单的主体存在,他们都有很多 功能,所以我们使用类和链表来定义。如下: 比赛项目的定义: class Match public: Match *next;/为创建链表做准备 int number; /比赛项目编号 char

12、 call10; /比赛项目名称 char time10; /比赛时间 char place20; /比赛地点 friend void input1(); ; 运动员的定义: class Athlete public: Athlete *next; int number; /运动员的编号 char name10; /运动员的姓名 char part20; /运动员所属工作单位或省份 char sex20; /运动员性别 int age; /运动员年龄 friend void input2(); ; 比赛赛事项目的定义: class Message public: Message *next;

13、char name10; /运动员姓名 char avent10; /运动员参加的某比赛项目名称 int score ; /成绩 6 int ca;/名次 friend void input3(); ; 2.2 程序模块 通过对某高校运动会管理信息系统的基本功能调研和分析,各个子系统的主要功能如 下: 比赛项目信息管理:主要负责比赛项目信息的录入、修改、查询,显示比赛项目信息; 运动员注册:负责参赛运动员的注册登记,并可随时查询、打印参赛运动员信息; 成绩统计:用于录入、统计各项比赛的的预、决赛成绩,统计各运动员积分。本模块 可以查询每个参赛运动员的成绩信息,打印各种成绩报表。 田径运动会管理

14、系统 数 据 的 录 入 退 出 系 统 数 据 的 显 示 数 据 的 查 询 数 据 的 删 除 数 据 的 修 改 比 赛 项 目 信 息 输 入 运 动 员 信 息 输 入 比 赛 赛 事 信 息 输 入 比 赛 赛 事 信 息 删 除 比 赛 项 目 信 息 修 改 运 动 员 信 息 修 改 比 赛 赛 事 信 息 修 改 比 赛 项 目 信 息 显 示 运 动 员 信 息 显 示 比 赛 赛 事 信 息 显 示 运 动 员 信 息 删 除 比 赛 项 目 信 息 删 比 赛 赛 事 信 息 查 询 比 赛 项 目 信 息 查 询 运 动 员 信 息 查 询 7 第三章 详细设计

15、N N N N Y Y Y Y N N Y Y 图 3-1 主菜单流程图 开 始 显示主菜单 输入选择 是否合理 提示错误信息 是否为“2“ 是否为“1“ 是否为“4“ 是否为“3“ 调用删除函数 调用录入函数 调用查询函数 调用修改函数 是否为“5“ 是否为“6“ 退出系统 调用显示函数 Y 8 图 3-2 数据的录入流程图 开始 主菜单 数据录入 是否为 1 是否为 2 是否为 3 请输入比赛项目 信息 请输入运动员信 息 请输入比赛赛事信 息 Y N N Y Y Y 是 否 继 续输入 Y N 9 图 3-3 数据的查询流程图 开始 主菜单 数据查询 是否为 1 是否为 2 是否为 3

16、请输入对应信息的 编号 请输入对应信息的 编号 是否为 1 是否为 2 Y Y N Y N 请输入比赛项目 的编号 请输入比赛项目 的名称 是否为 1 是否为 2 请输入运动员 的编号 请输入运动 员的姓名 请输入运动员的 姓名和比赛的项 目 Y Y N Y Y Y Y Y N 10 第四章 程序代码 比赛项目信息录入: void input1() ofstream fout(“e:比赛项目.dat“,ios:app); char ch; Match a; do couta.numbera.calla.placea.time; a.next=NULL; fout.write(char *) c

17、outch; while(ch=y|ch=Y); fout.close(); 运动员信息修改: int change2()/对运动员相关信息修改 coutnumber1; while(p1!=NULL) if(p1-number=number1) sign=1;break; p1= p1-next; if (sign=0) couta; switch(a) case 1:coutnu; p1-number=nu; coutinfo; strcpy(p1-name,info); coutinfo; strcpy(p1-part,info); coutinfo; strcpy(p1-sex,inf

18、o); coutnu; p1-age=nu, couta.numbera.calla.placea.time; a.next=NULL; fout.write(char *) coutch; while(ch=y|ch=Y); 18 fout.close(); Match *head1; void creat() head1=NULL; Match *p,*q=head1; ifstream fin(“e:比赛项目.dat“,ios:in); if(!fin) coutnumber1; while(p1!=NULL) if(p1-number=number1) sign=1;break; p1

19、= p1-next; if (sign=0) couta; switch(a) case 1:coutnu; p1-number=nu; coutinfo; strcpy(p1-call,info); coutinfo; strcpy(p1-time,info); coutinfo; strcpy(p1-place,info); coutn; 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 (f

20、lag=0) coutnext; case 2: cincal; while(p1!=NULL) if(!strcmp(p1-call,cal) flag=1;break; p2=p1; p1= p1-next; if (flag=0) coutnext; ofstream fout(“e:比赛项目.dat“,ios:out); p1=head1; while(p1!=NULL) fout.write(char*)p1,sizeof(Match); p1=p1-next; fout.close(); return 0; void print1() creat(); 21 Match *p1=h

21、ead1; couta; switch(a) case 1:coutnu; while(p1!=NULL) if(p1-number=nu) sign=1;break; p1= p1-next; if (sign=0) coutinfo; while(p1!=NULL) if(p1-call=info) sign=1;break; p1= p1-next; if (sign=0) coutinfo; while(p1!=NULL) if(!strcmp(p1-time,info) sign=1;break; p1= p1-next; if (sign=0) coutinfo; while(p1

22、!=NULL) if(!strcmp(p1-place,info) sign=1;break; p1= p1-next; if (sign=0) coutj; switch(j) case 1:find1();break; case 2:find2();break; case 3:find3();break; default:coutj; switch(j) case 1:input1();break; case 2:input2();break; case 3:input3();break; default:coutj; switch(j) case 1:print1();break; ca

23、se 2:print2();break; case 3:print3();break; default:coutj; switch(j) case 1:change1();break; case 2:change2();break; case 3:change3();break; default:coutj; switch(j) case 1:delete1();break; case 2:delete2();break; case 3:delete3();break; default:couti; switch(i) case 1:input();break; case 2:change()

24、;break; case 3:deleted();break; case 4:find();break; case 5: print();break; case 6: return 0; 25 default:cout“您输入数据有误!“endl; while(1); return 0; 1 第七章 心得体会 本系统是在 Windows XP 的环境下设计和调试的,并安装有 Visual C+开发工具。经过 调试证明: 1本系统能满足学校田径运动会的需求,在录入的运动员信息和比赛项目信息数据准确 的情况下,就能保证结果准确。不需要反复核对,减少了大量重复操作。 2软件功能强大,系统运行稳定,而

25、且软件处理的速度快,能够保证实时的数据处理, 满足随时信息查询的需求。 3由于水平和时间有限,本系统还有些不足之处,比如在比赛中的运动员名次采用了手 动录入的方法。不支持自动生成。 因为在理论学习中没有好好的掌握, 现在要独立完成一个较复杂的程序编写, 确实有 困难。只有通过和同学一起努力,借助于网上资料,图书馆资料,才实现了这次课程设计。 通过这次课程设计,我明白了很多,知识是通过自己积累的来的,即使别人把程序编 好,可是自己肚子里没知识,在研究别人的程序时候很吃力,问问这个同学,问问那个同 学,感觉到好别人还是有一定差距的,谁然都是借鉴别人的程序,可有的同学研究之后, 能够改出自己的程序,

26、这就是水平,自己不肯动手动脑,感觉即使弄出来一个也不应比别 人的好,这次课程设计暴露出一个最大的问题不肯思考。 问题本身并不是很难,难的事如何克服为难心理,只要你下定决心一定能行,另外, 本次课程设计还暴露出另外一个问题,那就是不能很好地利用现有的资源。比如说,当问 题出现以后第一时间应该去的是学校的图书馆,那里面有我们需要的一切资料,应该学找 去查找相关论题,看看有没有别人做过类似的题目,不然自己最后做出来的可能别人已经 做过,会造成很大的损失。现在是二十一世纪,是属于我们计算机的,作为一名计算机系 的学生会有很大的机遇和挑战,所以今后我必需扎实基础理论、认真思考,而且要践行我 的承诺,一步一个脚印的走下去,才可以达到我预期的彼岸!学校图书馆是个好地方,以 后要好好的利用,只要肯去攀登!只要把自己逼上绝路,自己才会去思考,才会成功! ! 2 参 考 文 献 1郑振杰.C+程序设计 北京:人民邮电出版社,2005 2 吕凤翥.C+语言程序设计(第2版).电子工业出版社,2007.2 3 李云清、杨庆红、揭安全.数据结构M.人民邮电大学出版社,2004.6 4C 程序设计谭浩强编,清华大学出版社,1999.12

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 建筑工程类
版权提示 | 免责声明

1,本文(软件工程课程设计(doc 30页).doc)为本站会员(欢乐马)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|