保龄球计分系统课程设计

保龄球计分系统课程设计

ID:39084090

大小:288.03 KB

页数:19页

时间:2019-06-24

保龄球计分系统课程设计_第1页
保龄球计分系统课程设计_第2页
保龄球计分系统课程设计_第3页
保龄球计分系统课程设计_第4页
保龄球计分系统课程设计_第5页
资源描述:

《保龄球计分系统课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、兰州工业学院软件工程学院兰州工业学院课程设计实验报告(2016-2017学年第一学期)课程设计理论课名称:数据结构课程设计项目名称:保龄球计分系统院部名称:软件工程学院专业班级:软件15—2指导老师:王天磊姓名:齐金玉学号:20150306322419兰州工业学院软件工程学院保龄球计分系统课程设计目录一、需求分析31.1问题描述31.2比赛规则31.3输入数据显示格式:31.4输出数据显示格式:3二、总体设计42.1模块设计图4三、详细设计43.1源代码4四、测试结果与分析44.1主界面164.2输入数据及结果显示164.3文件的保存184.4文件的读取184

2、.5计过程中遇到的问题19五、个人总结1919兰州工业学院软件工程学院一、需求分析1.1问题描述关键字:局、轮、球打保龄球是用一个滚球去撞击10个站立的瓶,将瓶击倒。一局分10轮,每轮可滚球1次或多次,以击到的瓶数为依据计分,一局得分为10轮得分之和,从键盘读入比赛数据;从文件读入比赛数据;将从键盘输入的比赛数据存入文件(一个文件可存放多局比赛的数据)。将比赛数据显示在屏幕上计算比赛结果及统计数据,。一局保龄球分为10格,每格里有两次投球机会,如在第一次投球时全中,就不需要投第二球。每一格可能出现三种情况:  1.失球:无论何种情况,在一格的两次投球时,未能击

3、倒10个瓶,此格的分数为击倒的瓶数。2.补中:当第二次投球击倒该格第一球余下的全部瓶子,称为补中。补中的记分是10分加上下一次投球击倒的瓶数。3.全中:当每一格的第一次投球击倒全部竖立的十个瓶时,称为全中。全中的记分是10分(击倒的瓶)加该球员下两次投球击倒的瓶数。4.第十格特殊中情况:有一个10分或者前两个之和加起来为10分才会出现第三个球,分为满分300分1.2比赛规则模拟10个人各打一局保龄球比赛过程,统计每局各轮得分和累计总分。逐人逐轮逐次输入一次滚球击倒的瓶数。一局10轮,一轮1个球或多个第一轮:第一次击中球的个数第二轮:第二次击中球的个数第三轮:第

4、三次击中球的个数.………..………..第十轮:第十次击中球的个数.1.3输入数据显示格式:轮数12345678910积分10

5、02

6、210

7、04

8、65

9、510

10、09

11、18

12、23

13、710

14、10

15、1019兰州工业学院软件工程学院1.4输出数据显示格式:轮数12345678910积分10

16、02

17、210

18、04

19、65

20、510

21、09

22、18

23、23

24、710

25、10

26、10得分20202015202018132030总得分2040607595115135146166196二、总体设计2.1模块设计图入口main()Top1:输入数据scan()Top2:计算统计count()Top

27、3:显示结果print()三、详细设计3.1源代码#include#include19兰州工业学院软件工程学院//定义全局变量,用来保存每轮比赛击倒的数量,本轮得分,总得分intscore[11][4];intdata[11][4];//=================================保存从文件中读取回来的数据charinfile[15],outfile[15];//=================================保存数据的文件名voidsave(){FILE*fp1;inti;prin

28、tf("请输入保存比赛数据的文件名:");scanf("%s",infile);if((fp1=fopen(infile,"wb+"))==NULL)//wb+"以读/写方式建立一个新的二进制文件{printf("不能打开文件");return;}for(i=0;i<=9;i++){//参数1:要输出的数据//参数2:每个数据项的大小,通过sizeof运算符获得每个数据项的大小//参数3:每次输出几个数据项//参数4:输出数据的指针fwrite(&score[i],sizeof(score[i]),1,fp1);}fclose(fp1);}voidread

29、(){FILE*fp2;inti;printf("请输入读取比赛数据的文件名:");scanf("%s",outfile);printf("");//printf("请输入要查询的比赛局数:");//scanf("%d",&t);if((fp2=fopen(outfile,"rb+"))==NULL)//"rb+"以读/写方式打开一个二进制文件(路径+名称){printf("没有找到该文件!!!");}for(i=0;i<=9;i++){//参数1:存放读取回来的数据//参数2:每次读取多大字节的数据,siezof用于获取data[i]占用几个字节19

30、兰州工业学院软件工程学院//参数3:每

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。