




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第页共22页运动会分数统计程序设计与实现学生姓名:XX指导老师:XXX摘要本文详细介绍了运动会分数统计程序的设计与实现,该程序具有运动会成绩的输入,统计与输出等功能。在课程设计中,程序设计语言采用VisualC+,程序运行平台为Windows98/2000/XP。对于获得名次的同学在存储其成绩的时候采用了链表的结构,有利于数据的存储与查找。程序通过调试运行,实现了最初的设计目标,并且经过适当完善后,在实际中可以解决更多的问题。关键词运动会分数统计;程序设计;C+;1引言本课程设计主要解决在运动会上,将各个比赛项目所有获得名次的同学的成绩输入;成绩查询;成绩修改;成绩删除;以及成绩输出。1.1课程设计目的进一步巩固CC+程序,VC+课程所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,通过本次课程设计的实践,锻炼程序设计的能力以及用C/C+C+解决实际问题的能力,为以后后续课程的学习打好基础。1.2程序功能说明该程序用于运动会上,涉及到比赛项目成绩的录入,某个学校在某个项目中获得成绩的查询,某个学校在某个运动项目中获得的成绩的修改,某个学校在某个运动项目中获得的成绩的删除,以及某个学校所有获得成绩的得分报表以及团体成绩的得分报表。其中比赛成绩的录入可以按照运动项目举行的次序输入,也可以输入自己指定的运动项目的成绩;自己扩展的功能是“某个学校在某个项目中获得成绩的查询,某个学校在某个运动项第页共22页目中获得的成绩的修改,某个学校在某个运动项目中获得的成绩的删除”三项,这三项都要求输入学校以及运动项目编号,通过这两项作为参数具体的函数可以查询、修改成绩或者是删除某项成绩记录,进而影响到最后得分报表的输出。2原理分析2.1开发语言本课程涉及主要采用了C+。C+语言是在C语言的基础上发展起来的,不仅继承了C语言的所有特点,而且引入了面向对象的程序设计方法1。C+改进了程序涉及思路,将编程方式进化到面向对象进行程序设计这一新的思维过程2。C+语言代表着对以往语言之精华的发展和提炼,并能很好的与C语言兼容,既支持面向对象的程序设计,也支持结构化的程序设计。它修补了C语言中的一些漏洞,提供更好的类型检查和编译时的分析,提供了异常处理机制,简化了程序的出错处理,利用throw、try和catch关键字,出错处理程序不必与正常的代码紧密结合,提高了程序的可靠性和可读性。函数重载允许相同的函数名具有不同参数表,系统根据参数的个数和类型匹配相应的函数。提供了模板机制。摸板包括类摸板和函数模板两种,它们将数据类型作为参数。对于具体数据类型,编译器自动生成模板类或模板函数,它提供了源代码复用的一种手段。2.2运行环境MicrosoftVisualC+6.0。VisualC+(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C+可视化开发环境。VisualC+6.0提供的控制台应用程序对学习和掌握标准C+内容非常有利。“可视”的资源编辑器与MFC类以及应用程序向导,为快速高效地开发出功能强大的Windows应用程序提供了极大的方便。利用VisualC+6.0进行Internet、数据库及多媒体等多方面的程序开发也很容易3。第页共22页3系统体系结构3.1流程图图3.1系统流程图用一个dowhile循环语句执行完标号为16的某个分支之后,重新回到操作目录,选择要进行的操作,直到选择标号为7的分支退出程序。1234560输入运动会的一些基本信息(参赛学校数,男女的项目数)开始列出一个操作目录,选择要操作的编号成绩输入具成体绩项查目询查询修成改绩项目删记除录错误的输的出名各次个记项录目输体出成学绩校团退出程序列出一个操作目录选择要操作的编号结束第页共22页3.2算法说明该程序先采用了一个嵌套在dowhile循环语句中的switch语句来控制要执行操作的编号,用户可以有多种选择,根据不同的需要选择不同的操作。其中具体的操作主要采用的是一个链表的结构,涉及到了链表的插入,链表的查找,以及链表的删除等知识点。链表的插入解决了各个项目中获得名次的同学的成绩的录入问题,具体为:为每个学校建立一个头结点,若该学校有同学取得名次,建立一个新的结点来存储该同学的信息,并将其插到该学校所在链表的最后一个结点后面。链表的查找解决了运动项目成绩的查询,以及后面的成绩的输出、删除都要用到链表的查找,查找时先将头结点的地址赋给查找函数,根据查找的条件依次与每个结点中相应的比较,若相等则输出所需要的信息,否则返回“查找的元素不存在”信息。而成绩的删除,先查找到其所在的结点,然后将该结点前后结点相连,再删除该结点;成绩的修改要先查找到其所在的结点,然后再重新录入数据;至于学校所获得的各项成绩的输出,将该校所在的头结点的地址赋给控制输出的函数,利用指针的移动依次将各项成绩输出,而团体成绩的输出,先要根据运动项目编号来确定是男生还是女生项目,然后再依次累加,分别得到男女生的团体得分,最后将两者相加,得到学校的团体得分。3.3函数及变量说明voidinsertlist(intiterm,intn);该函数用来添加成绩记录,iterm是运动项目的编号,n为参加比赛的学校总数,需要注意地是根据运动项目是奇数还是偶数来判定最后结果取前三还是前五名,这里用(iterm%2)是否为零来判断。RE*findlist(intsnum,intfiterm);该函数用来查找指定的学校的某项目成绩并返回该成绩所在节点的前一个节点的地址,其中snum是要查找的学校的编号,而fiterm为要查找的运动项目编号,返回一个指向RE型的指针,RE为定义的一个结构体类型,用来存储获得名次的学生的基本信息(包括学生姓名,取得的名次,获得的分数,所在的学校编号以及运动项目编号)RE*findend(intsnum);查找并返回每个学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学三年级语文上册期末总结范文(19篇)
- 餐饮特色项目租赁与品牌推广合同
- 物业公司车库车位租赁及物业服务合同
- 2025美容行业合作干股协议合同
- 2025《广州市合同范本》
- 小学三年级语文工作总结
- 养殖雇佣合同协议书范本
- 电气运行测试题及答案
- 案例分析面试题目及答案
- 选调面试题目及答案大全
- 隐孢子虫病健康宣教
- 车站调车作业-驼峰调车作业
- 沥青路面损坏调查表(带公式自动计算)
- 科研伦理与学术规范-课后作业答案
- 建设工程联合施工协议书
- 高三数学复习备考策略
- 《环境工程概论4》全册配套完整教学课件
- 2023北京第二次高中学业水平合格性考试信息技术试卷试题(答案详解)
- 2022-2023学年广东省佛山市顺德区七年级(下)期末语文试卷
- 外来文件管理程序
- Unit4 At the farm A Let's learn(说课稿)-2022-2023学年英语四年级下册
评论
0/150
提交评论