运动会分数统计系统(附源程序)_第1页
运动会分数统计系统(附源程序)_第2页
运动会分数统计系统(附源程序)_第3页
运动会分数统计系统(附源程序)_第4页
运动会分数统计系统(附源程序)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、*实践教学* 兰州理工大学计算机与通信学院2012年春季学期 c程序设计 课程设计题 目:运动会分数统计系统 专业班级:计算机科学与技术(2)班姓 名: 学 号: 指导教师: 成 绩:_前言本设计要求学生以运动会分数统计业务为背景,设计、开发一套“运动会分数统计系统”软件。通过该题目的设计过程,可以培养我们的结构化程序设计思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。得到软件工程的综合训练,提高解决实际问题的能力。在本次任务的准备起初,我们小组搜集了大量的参考文献,例如 c/c+程序设计教程

2、(第二版),王连相,中国铁道出版社,2011 c语言程序设计,谭浩强,清华大学出版社,1999等等,还上网进行了相关资料的查阅。在课设期间,多次前往指导老师处让老师进行专业的指点,在进行程序测试的时候,我们小组分工明确,对每一个小段程序都进行了不下三次的测试,从而保证了在程序最后成型时编译、运行的可能性。在课设的最后,我们对程序进行了反复的测试,调整,编写课程报告书,进行最后的检查,力求做到精益求精。本次课设在廖老师的带领下进行的,在本次程序编写起初,我们就遇到了很多棘手的问题。例如,如何讲课本上的c语言语句转换成一个实际的可用程序,等等。虽然遇到了问题,但是最后在廖成斌老师的细心指导下以及全

3、体组员的共同努力下,还是完成了此次的课设任务。在本次课程设计之中,我学到了很多东西。发现了一个人的力量是微不足道的,团队的意识在我脑海中逐渐的根深蒂固。而在学习的过程中,我充分的感受到了指路人的重要性,如果没有廖成斌老师的耐心指导,那么完成此次课程则变成了一个难上加难的任务。对于专业的学习,我感到c语言的基础性以及它的重要性,在平时的生活中应该多加练习,使得c语言的这种思想能在我们脑海里根深蒂固。对于本专业的了解也越来越多,当我逐渐走进它的时候,我发现它的博大精深,使我对于它的喜爱越来越深。在此要特别感谢廖成斌老师的耐心指导。摘要运动员分数统计系统是一个工作单位不可缺少的管理工具,它管理的数据

4、对于运动会的成功举办来说至关重要,所以运动员分数统计系统应该能够为用户提供充足的信息和快捷的查询手段。通过运动会分数统计系统为需要管理大量的运动员信息和学校信息的部门提供人员登记,人员浏览,人员查询等功能,方便管理者按照各种分类来划分,查找,提高管理效率,其开发内容主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。关键词: 运动会 分数 统计 目录1.需求分析:(1)问题分析根据研究分析,该系统所应包含

5、的信息如下:运动员信息:学校名称,运动员姓名,运动员性别,运动员编号,运动项目编号,项目名称,运动员得分。(2)该系统功能如下:1.各种基本数据的录入。如:运动员基本信息录入。2.各种基本数据的修改。即:各种基本数据的删除和增加。例如将张三的信息从运动会分数统计系统中删除,从运动会分数统计系统录入表中增加李四的信息。3.基于各种数据的查询。例如输入张三编号,查询张三的学校、姓名、性别、运动员编号、项目编号、项目名称、分数。(3)运行要求能不受限制的录入运动会分数统计系统。界面友好,操作方便。容错性强,例如数据导出时,如果文件不存在需要提示用户。2.总体设计根据运动会分数统计系统问题的分析和设计

6、要求,可以将该系统可以分为三个模块:信息录入模块、信息修改模块、信息查询模块、退出模块,其系统功能结构图如图1所示。(1)信息录入模块实现信息的输入、存档。(2)信息修改模块,实现信息的增加和删除。(3)信息查询实现信息的查询。(4)退出模块实现退出系统。运动会分数统计系统信息录入模块信息修改模块信息查询模块退出模块图1. 运动会分数统计系统功能模块图3. 详细设计3.1主控模块设计控制整个程序的运行,通过主函数模块分别调用各个模块,实现各项功能,流程如图2所示。输入yy输入学校及运动员信息输入各运动员名次成绩y继续输入n成绩查询case2case1查询各运动员成绩输出查询运动员成绩继续yn结

7、束退出图2.主模块流程图如图2所示主函数的执行过程是:先进入菜单页面,即调用菜单子函数,在菜单子函数中选择子函数相对应的序号进入,在子函数中又调用各功能模块,执行完后退出。3.2录入模块:输入1开始输入学校名称运动员姓名运动员性别运动员编号项目编号项目名称项目得分结 束图3.输入函数流程图 如图3所示输入函数的流程图:选择1进入,然后输入学校名称,运动员姓名,运动员性别,运动员编号,项目编号,项目名称,输入n或n跳出回到主菜单。其间用到while循环语句。3.3修改模块:进入修改信息模块选择修改方式返回上一级删除信息增加运动员信息 结 束 图4.修改函数流程图如图4所示修改函数流程图:选择2进

8、入修改信息模块,共有3种修改方式,选择相对应的序号进行,然后修改信息。3.4查询模块:输入3进入查询系统 返回上一级按运动员编号查询 输入错误 此运动员没有参加此次运动会 输入正确 输出正确的信息 退出图5.查询函数流程图 注释:成绩查询为运动员编号查询方式,用swith(choice)选择。4 主要函数功能描述4.1选择函数int choice函数原型:int choice,i,j,k功能描述:通过choice来选择需要以何种方式来查询、输出,若有,则输出所属的子菜单。若无,则输出“请键入一个正确的选择”。5 测试与调试(1)首先运行文件运动会统计分数系统 (2) 输入信息:程序首先赋初值,

9、输入1得到进入输入信息模块。调试结果:输入了一系列基本信息(3)修改信息:输入2进入信息修改模块:调试结果:出现增加运动员信息和删除信息两个选项。输入1进入增加运动员信息模块:输入2进入删除信息模块:(4)查询信息:输入3进入信息查询模块: 调试结果:出现按运动员编号查询选项。按运动员编号查询:输入错误信息时给出提示:调试结果:错误,此运动员没有参加此次运动会。 个人设计小结与心得体会 通过此次课程设计,使我更加扎实的掌握了有关c程序设计方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真

10、知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功、收获喜悦,也永远不可能得到社会及他人对你的认可!致谢首先感谢我的指导老师廖成斌老师

11、,他在我的课程设计过程中提出了指导性的方案和架构,并指引我阅读相关的资料和书籍,使我在不熟悉的领域中仍能迅速掌握新的技术。还要感谢我的c语言老师王连相老师在以往的基础课学习中为我打下良好的基础,这是我这次课程设计能够顺利完成的前提。最后,我要感谢我的同学。感谢他们在设计完成后对程序的测试以及在设计过程中的帮助,没有他们,也许就难以发现一些潜在的错误,在此一并表示感谢。设计(论文)的主要参考文献1 c/c+程序设计教程(第二版),王连相,中国铁道出版社,20112 c语言程序设计,谭浩强,清华大学出版社,19993 c程序设计题解与上机指导,谭浩强,清华大学出版社,19994 c/c+程序设计上

12、机指导与测试(第二版),王连相,中国铁道出版社,20115 c语言函数手册,机械工业出版社,19996 c语言的实际应用,安徽科学技术出版社,2000附录:源程序#include #include #include #include #include #include #define n 20/#define null 0void design1(),design2(),design3();void add_sporter(),delete_sporter();void search_sporter();float search_sporterschool();int n=0,i=0;floa

13、t t;char ch;struct sporter char sporterschool20; char sportername20; char sportersex4; int sporternumber; char sportname20; int sportnumber; float score;sportern;void main() int choice; file *fp; fp=fopen(sport.txt,w);system(cls);printf(n); printf(= 欢 迎 使 用 =n); printf(nn*o*a*运动会分数统计系统*a*o*n); print

14、f(nn*1.录入信息*n); printf(*2.修改信息*n); printf(*3.查询信息*n); printf(*4.退出系统*nnn); printf(=nn); printf(*请选择要实现步骤的编号:nn); scanf(%d,&choice); switch(choice) case 1: /录入信息 design1(); break; case 2:/修改信息 design2(); break; case 3: /查询信息design3(); break; case 4:/退出系统printf(谢谢使用本系统on); break; default: printf(n请键入一

15、个正确的选择); fclose(fp);void design1()/录入信息 char ch; int i=0; file *fp; fp=fopen(sport.txt,w); if(fp=fopen(sport.txt,w)=null) printf(file open failed!n); return; fprintf(fp,nn*o*a*运动会分数统计系统*a*o*n); fprintf(fp,%s%s%s%d%d%s%fn,学校名称,运动员姓名,运动员性别,运动员编号,项目编号,项目名称,项目得分); fprintf(fp,*n); while(1) printf(n录入运动员信

16、息n); printf(n请输入学校名称:); scanf(%s,sporteri.sporterschool); printf(请输入运动员姓名:); scanf(%s,sporteri.sportername); printf(n请输入运动员性别:(男/女):); scanf(%s,sporteri.sportersex); printf(n请输入运动员编号:); scanf(%d,&sporteri.sporternumber); printf(n请输入项目编号:); scanf(%d,&sporteri.sportnumber); printf(n请输入项目名称:); scanf(%s

17、,sporteri.sportname); printf(n请输入项目得分:(7/5/3/2/1):); scanf(%f,&sporteri.score); i+; n+; fprintf(fp,%d%s%s%s%d%d%s%fn,n,sporteri.sporterschool,sporteri.sportername,sporteri.sportersex,sporteri.sporternumber, sporteri.sportnumber,sporteri.sportname,sporteri.score); printf(ntt是否继续录入?(y/n):); ch=getch()

18、; if(ch=n|ch=n)break; fclose(fp); main();void design2()/修改信息int n; printf(nn*1.增加运动员信息*n); printf(*2.删除信息*n); printf(*3.返回上一级*n); printf(*请选择要实现步骤的编号:nn); scanf(%d,&n); switch(n) case 1: /增加运动员信息 add_sporter(); break; case 2:/删除信息 delete_sporter(); break; case 3:/返回上一级 main(); break; default: printf

19、(n请键入一个正确的选择); void add_sporter()/增加运动员信息 char ch; file *fp;while(1) fp=fopen(sport.txt,a); printf(n增加新运动员信息n); printf(n请输入学校名称:); scanf(%s,sporter-sporterschool); printf(请输入运动员姓名:); scanf(%s,sporter-sportername); printf(n请输入运动员性别:(男/女):); scanf(%s,sporter-sportersex); printf(n请输入运动员编号:); scanf(%d,&

20、sporter-sporternumber); printf(n请输入项目编号:); scanf(%d,&sporter-sportnumber); printf(n请输入项目名称:); scanf(%s,sporter-sportname); printf(n请输入项目得分:(7/5/3/2/1):); scanf(%f,&sporter-score); fprintf(fp,%s%s%s%d%d%s%fn,&sporteri.sporterschool,&sporteri.sportername,&sporteri.sportersex,&sporteri.sporternumber, &

21、sporteri.sportnumber,&sporteri.sportname,&sporteri.score); printf(ntt是否继续增加?(y/n):); ch=getch(); if(ch=n|ch=n)break; fclose(fp);return design2();void delete_sporter()/删除信息 file *fp; int i=0,c; int k=0,h; fp=fopen(sport.txt,w); printf(请输入要删除的运动员编号:); scanf(%d,&c); for(i=0;in;i+) if(sporteri.sporternu

22、mber=c) k=1; h=i;break; if(k=1) fp=fopen(sport.txt,a); for(i=0;ih;i+)fprintf(fp,%s%s%s%d%d%s%fn,sporteri.sporterschool,sporteri.sportername,sporteri.sportersex,sporteri.sporternumber, sporteri.sportnumber,sporteri.sportname,sporteri.score); for(i=h+1;in;i+) fprintf(fp,%s%s%s%d%d%s%fn,sporteri.sporterschool,sporteri.sportername,sporteri.sportersex,sporteri.sporternumber, sporteri.sportnumber,sporteri.sportname,sporteri.score); printf(删除成功!); else if(k=0) printf(没有该运动员n); printf(ntt是否继续删除?(y/n):); ch=getch(); if(ch=y|ch=y) return delete_sporter(); else return design2(); fclose(fp);void

温馨提示

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

最新文档

评论

0/150

提交评论