运动会分数统计系统 课程设计_第1页
运动会分数统计系统 课程设计_第2页
运动会分数统计系统 课程设计_第3页
运动会分数统计系统 课程设计_第4页
运动会分数统计系统 课程设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、*实践教学* 兰州理工大学计算机与通信学院2021年秋季学期面向对象课程设计题 目:运动会分数统计系统 专业班级:计算机科学与技术3班姓 名: 董 强 军学 号: 07240309 指导教师: 刘 嘉 成 绩:_ 目 录TOC o 1-3 h u HYPERLINK l _Toc9230 序 言 PAGEREF _Toc9230 2 HYPERLINK l _Toc21982 摘 要 PAGEREF _Toc21982 3 HYPERLINK l _Toc27807 第一章 问题描述 PAGEREF _Toc27807 4 HYPERLINK l _Toc30908 第二章 需求分析 PAGE

2、REF _Toc30908 5 HYPERLINK l _Toc9338 2.1 需求陈述 PAGEREF _Toc9338 5 HYPERLINK l _Toc11635 2.2 建立对象模型 PAGEREF _Toc11635 5 HYPERLINK l _Toc14493 2.3 建立功能模型 PAGEREF _Toc14493 5 HYPERLINK l _Toc1226 第三章 概要设计6 HYPERLINK l _Toc30581 3.1 系统设计 6 HYPERLINK l _Toc31055 3.1.1 系统分析6 HYPERLINK l _Toc2021 3.1.2 系统设计

3、思想6 HYPERLINK l _Toc31449 3.2 系统类层次及结构图7 HYPERLINK l _Toc29995 第四章 详细设计9 HYPERLINK l _Toc16071 4.1 类与对象的设计9 HYPERLINK l _Toc24813 4.1.1 类属性的详细设计9 HYPERLINK l _Toc17280 4.1.2 类行为的详细设计9 HYPERLINK l _Toc12004 4.2 类的详细继承关系10 HYPERLINK l _Toc19441 第五章 测试与维护11 HYPERLINK l _Toc7454 运行界面11 HYPERLINK l _Toc1

4、9897 设计总结15 HYPERLINK l _Toc5682 参考文献15 HYPERLINK l _Toc6617 致谢16附录:源代码 17序 言近年来,在计算机软件业,面向对象程序设计的思想已经被越来越多的软件设计人员所接受。不仅因为它是一种最先进的,新颖的计算机程序设计思想,最主要的是这种新的思想更接近人的思维活动,人们利用这种思想进行程序设计时,可以很大程度地提高编程能力,减少软件维护的开销。面向对象程序设计方法是通过增加软件的可扩充性和可重用性来提高程序员的编程能力。随着计算机在我国广泛而深入的应用,在分析和开发计算机系统软件和应用软件的过程中,迫切需要掌握各种数据结构的描述方

5、法以及相应的处理算法。因此面向对象程序设计知识是计算机相关科学的学生和从事计算机应用的技术人员必备的专业根底知识。我们也可以认为:对象+消息=程序。摘 要 本文详细介绍了运动会分数统计系统程序的设计与实现,该程序具有运动会成绩的输入,统计与输出等功能。实际设计过程中,通过对类的使用,加深我们面向对象编程的思想,有助于的以后的学习。在课程设计中,程序设计语言采用Visual C+,程序运行平台为Windows XP。对于获得名次的同学在存储其成绩的时候采用了链表的结构,有利于数据的存储与查找。程序通过调试运行,现了最初的设计目标,并且经过适当完善后,在实际中可以解决更多的问题。关键词 运动会分数

6、统计 程序设计 C+ 第一章 问题描述本课程设计主要解决在运动会上,将各个比赛工程所有获得名次的同学的成绩输入,成绩查询,成绩修改,成绩删除,以及成绩输出。 该程序用于运动会上,涉及到比赛工程成绩的录入,某个学校在某个工程中获得成绩的查询,某个学校在某个运动工程中获得的成绩的修改,某个学校在某个运动工程中获得的成绩的删除,以及某个学校所有获得成绩的得分报表以及团体成绩的得分报表。其中比赛成绩的录入可以按照运动工程举行的次序输入,也可以输入自己指定的运动工程的成绩;自己扩展的功能是“某个学校在某个工程中获得成绩的查询,某个学校在某个运动工程中获得的成绩的修改,某个学校在某个运动工程中获得的成绩的

7、删除三项,这三项都要求输入学校以及运动工程编号,通过这两项作为参数具体的函数可以查询、修改成绩或者是删除某项成绩记录,进而影响到最后得分报表的输出。 第二章 需求分析本课程设计主要解决在运动会上,将各个比赛工程所有获得名次的同学的成绩输入,成绩查询,成绩修改,成绩删除,以及成绩输出。211 开发语言 本课程涉及主要采用了C+。C+语言代表着对以往语言之精华的开展和提炼,既支持面向对象的程序设计,也支持结构化的程序设计。它修补了C语言中的一些漏洞,提供更好的类型检查和编译时的分析,提供了异常处理机制,简化了程序的出错处理,利用throw、try和catch关键字,提高了程序的可靠性和可读性。 函

8、数重载允许相同的函数名具有不同参数表,系统根据参数的个数和类型匹配相应的函数。提供了模板机制。模板包括类模板和函数模板两种,它们将数据类型作为参数。212 运行环境 。Visual C+(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C+可视化开发环境。 “可视的资源编辑器与MFC类以及应用程序向导,为快速高效地开发出功能强大的Windows应用程序提供了极大的方便。利用进行Internet、数据库及多媒体等多方面的程序开发也很容易。2.2 建立对象模型将各个比赛工程所有获得名次的同学的成绩输入,成绩查询,成绩修改,成绩删除,以及成绩输出封装为一个类,通过函

9、数调用将这些对象连接起来。2.3 建立功能模型1输入男女参赛工程数及工程编号,工程名次、 得分,参赛学校、运发动编号、性别;2产生各学校的成绩单,内容包括各校所取得的每项成绩的工程号、名次、姓名;3产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团 体总分;4要求系统能实现查询、排序、删除、修改功能。第三章 概要设计3.1 系统设计 系统分析 该程序先采用了一个spotmeeting类成员void menu()中的switch语句来控制要执行操作的编号,用户可以有多种选择,根据不同的需要选择不同的操作。其中具体的操作主要采用的是一个链表的结构,涉及到了链表的插入,链表的查找,以及链

10、表的删除等知识点。链表的插入解决了各个工程中获得名次的同学的成绩的录入问题,链表的查找解决了运动工程成绩的查询,以及后面的成绩的输出、删除都要用到链表的查找,查找时先将头结点的地址赋给查找函数,根据查找的条件依次与每个结点中相应的比拟,假设相等那么输出所需要的信息,否那么返回“查找的元素不存在信息。而成绩的删除,先查找到其所在的结点,然后将该结点前后结点相连,再删除该结点;成绩的修改要先查找到其所在的结点,然后再重新录入数据;至于学校所获得的各项成绩的输出,将该校所在的头结点的地址赋给控制输出的函数,利用指针的移动依次将各项成绩输出,而团体成绩的输出,先要根据运动工程编号来确定是男生还是女生工

11、程,然后再依次累加,分别得到男女生的团体得分,最后将两者相加,得到学校的团体得分。 系统功能要求如下:1输入男、女参赛工程数及工程编号,工程名次、得分,参赛学校编号、运发动编号、性别;2产生各学校的成绩单,内容包括各校所取得的每项成绩的工程号、名次(成绩)、姓名;3产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。4要求系统能实现查询、排序、删除、修改功能。 系统设计思想 面向对象程序设计方法是通过增加软件的可扩充性和可重用性来提高程序员的编程能力的。面向对象程序的根本元素是对象面向对象的主要结构特点是:第一,程序一般由类的定义和类的使用两局部组成,在主程序中定义各对象并规

12、定它们之间传递消息的规律;第二,程序间的一切操作都是通过向对象发送消息来实现的,对象接收到消息后,启动有关方法完成相应的操作;第三,类由继承关系产生相互间的联系。一个程序中涉及到的类,可以由程序设计者自己定义,也可以使用现成的类。尽量使用现成的类,是面向对象程序设计范型所倡导的程序设计风格。3.2 系统类层次及结构图12345 67输入运动会的一些根本信息参赛学校数,男女的工程数开始列出操作目录,选择要操作的编号输入修改查 询删 除 输 出 各 个 项目输 体出 成学 绩校团退出程序列出操作目录选择要操作的编号结束 图 3.1 系统流程图用一个dowhile循环语句执行完标号为16的某个分支之

13、后,重新回到操作目录,选择要进行的操作,直到选择标号为7的分支退出程序。sportmeeting类studentlist类Student类的继承图 第四章 详细设计4.1 类与对象的设计该程序先采用了一个嵌套在dowhile循环语句中的switch语句来控制要执行操作的编号,用户可以有多种选择,根据不同的需要选择不同的操作。其中具体的操作主要采用的是一个链表的结构,涉及到了链表的插入,链表的查找,以及链表的删除等知识点。链表的插入解决了各个工程中获得名次的同学的成绩的录入问题,具体为:为每个学校建立一个头结点,假设该学校有同学取得名次,建立一个新的结点来存储该同学的信息,并将其插到该学校所在链

14、表的最后一个结点后面。链表的查找解决了运动工程成绩的查询,以及后面的成绩的输出、删除都要用到链表的查找,查找时先将头结点的地址赋给查找函数,根据查找的条件依次与每个结点中相应的比拟,假设相等那么输出所需要的信息,否那么返回“查找的元素不存在信息。而成绩的删除,先查找到其所在的结点,然后将该结点前后结点相连,再删除该结点;成绩的修改要先查找到其所在的结点,然后再重新录入数据;至于学校所获得的各项成绩的输出,将该校所在的头结点的地址赋给控制输出的函数,利用指针的移动依次将各项成绩输出,而团体成绩的输出,先要根据运动工程编号来确定是男生还是女生工程,然后再依次累加,分别得到男女生的团体得分,最后将两

15、者相加,得到学校的团体得分。 类属性的详细设计类的属性包括静态属性和动态属性。该程序用于运动会上,其中类的静态属性包括:运动工程的编号,参加比赛的学校总数,涉及到的动态属性包括:比赛工程成绩的录入,某个学校在某个工程中获得成绩的查询,某个学校在某个运动工程中获得的成绩的修改,某个学校在某个运动工程中获得的成绩的删除,以及某个学校所有获得成绩的得分报表以及团体成绩的得分报表。其中比赛成绩的录入可以按照运动工程举行的次序输入,也可以输入自己指定的运动工程的成绩;自己扩展的功能是“某个学校在某个工程中获得成绩的查询,某个学校在某个运动工程中获得的成绩的修改,某个学校在某个运动工程中获得的成绩的删除三

16、项,这三项都要求输入学校以及运动工程编号,通过这两项作为参数具体的函数可以查询、修改成绩或者是删除某项成绩记录,进而影响到最后得分报表的输出。 sportmeeting类studentlist类Student 图4类的继承图第五章 测试与维护运行界面一:进入系统,按要求输入各工程数级参赛校数,否那么,将会显示出错,如下列图所示。 图6.1 图6.2二:进入主界面,如下列图所示。 图6.3三:按要求输入前三名同学的成绩,如下列图所示。 图6.4四:查询某个工程,如下列图所示。 图6.5 图6.6五:输出某个工程的成绩,如下列图所示。 图6.7六:删除某个工程并再次进行验证是否删除,如下列图所示。

17、 图6.8 图6.9七:修改某个工程,如下列图所示。 图6.10八:退出系统界面,如下列图所示 图6.11 设计总结本次课程设计,使我对课程设计的设计方法、步骤、思路、有一定的了解与认识。它相当于实际设计工作的模拟。在课程设计过程中,根本能按照规定的程序进行,先针对表达式算法为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;收集、调查有关资料,然后进入草案阶段,其间与指导教师进行几次方案的讨论、修改,再讨论、再修改,最后定案。通过此次课程设计,我了解了编写应用软件的一般步骤,获得了很多珍贵的经验。特别是怎么样通过理论与实践相结合,把书本上的内容应用到我们做的程序上去。怎样使各

18、个子模块实施其的详细功能,特别是各个子模块之间的接口,一定要相当清晰,到达相互协调的作用其次,我熟悉了所学的各种知识。学会了很多关于程序设计的经验和技巧,明白了程序的使用性和通用性是程序生存周期长短的关键,学会了调试程序的一般方法。重要的是,通过这次设计,逐步我具备了走向程序员的根本素质。知道应如何在困难重重中一步一步细心的发现问题,解决问题。并深刻体会到了团体合作精神的重要性,知道了在软件设计中对界面和功能如何平衡,如何到达相对的完美。参考文献1陈维兴,林小茶.c+面向对象程序设计教程. 北京: 清华大学出版社,1996.2004.2张国峰. C+程序设计实用教程. 北京: 清华大学出版社,

19、1996. 3张松梅. C+语言教程. 电子科技大学出版社,1993. 4阎龙. C程序员的C+指南. 北京航空航天大学出版社,1992.5王博. 面向对象的建模、设计技术与方法. 北京希望电脑公司,1990. 6汪成为. 面向对象分析、设计及应用. 国防工业出版社,1992. 7江明德. 面向对象程序设计. 电子工业出版社,1993. 8吕凤翥语言程序设计电子工业出版社,2001. 致谢 首先感谢我的指导老师刘嘉老师,他在我的课程设计过程中提出了指导性的方案和架构,并指引我阅读相关的资料和书籍,使我在不熟悉的领域中仍能迅速掌握新的技术。在这两周的C+课程设计中,对课本中所学的各种知识进一步理

20、解和掌握,学会了如何把学到的知识用于解决实际问题,锻炼了自己动手的能力。一个人要完成所有的工作是非常困难和耗时的。在以后的学习中我会更加注意各个方面的能力的协调开展。在课程设计时遇到了很多的问题,在老师的帮助,和对各种资料的查阅中,将问题解决,培养了我自主动手,独立研究的能力,为今后在学习工作中能更好的开展打下了坚实的根底。我的同学在我的课程设计中也给了我很多无私的帮助和支持,在此一并表示感谢。附录:源代码#include#include#includeusing namespace std;class studentpublic:student(int ps=0, int sc=0, int

21、 cID=0, int sID=0, char c=0, string nm=);void print();int pos; /排名int score; /成绩int schID; /学校IDint stuID; /学生IDchar sex; /性别string name; /学生姓名;student:student(int ps,int sc, int cID, int sID, char c, string nm):name(nm), pos(ps), score(sc), schID(cID), stuID(sID), sex(c)void student:print()coutpos

22、score schID stuID sex nameendl;class studentlistpublic:studentlist();studentlist();void print();void add(int it,char c);void mod(int it,char c);student list3;studentlist:studentlist()studentlist:studentlist()void studentlist:mod(int it,char c)cout这是你将要修改的信息n;print();cout你输入n;add(it,c);void studentli

23、st:add(int it, char c)int i;cout分别输入1,2,3的信息n;for (i=0; i 3; i+)coutlisti.scorelisti.schIDlisti.stuID;listi.pos=i+1;listi.sex=c;void studentlist:print()cout分别输出1,2 ,3名次的信息n;cout成绩 学校ID 学生ID 学生性别 学生姓名n;int i;for (i=0; i 3; i+)coutlisti.score listi.schID listi.stuID listi.sex endl;

24、/用一个循环和switch语句控制要执行的操作docout*运动会成绩管理系统*endl;couttt 1、输入某个工程的成绩endl;coutendl;couttt 2、修改某个工程的成绩endl;coutendl;couttt 3、查询某个学校参加某个工程的成绩endl;coutendl;couttt 4、删除某个错误的记录endl;coutendl;couttt 5、输出某个学校的成绩单及得分报表endl;coutendl;couttt 6、输出学校的团体得分报表endl;coutendl;couttt 7、退出该程序endlch;switch(ch)case 1:insert();br

25、eak;case 2:find();break;case 3:mod();break;case 4:del();break;case 5:coutz;printone(z);break;case 6:printall();break;default:break;while(ch != 7);void sportmeeting:insert()int it;coutit;coutc;if (c = w)wlistit.add(it,c);wflagsit=true;elsemlistit.add(it,c);mflagsit=true;void sportmeeting:del()int it;

26、coutit;char c;coutc;if (c = w)wflagsit=false;elsemflagsit=false;void sportmeeting:find()int it;coutit;char c;coutc;if (c = w)if (wflagsit)wlistit.print();elsecout没有该信息n;elseif (mflagsit)mlistit.print();elsecout没有该信息n;void sportmeeting:mod()int it;coutit;char c;coutc;if (c = w)if (wflagsit)wlistit.mod(it,c);elsecout没有该信息n;elseif (mflagsit)mlistit.mod(it ,c);cout没有该信息n;void sportmeeting:ch

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论