2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > c语言保龄球计分系统课程设计 保龄球计分系统C语言课程设计毕业设计(论文)word格式.doc...

c语言保龄球计分系统课程设计 保龄球计分系统C语言课程设计毕业设计(论文)word格式.doc...

时间:2020-02-06 05:51:58

相关推荐

c语言保龄球计分系统课程设计 保龄球计分系统C语言课程设计毕业设计(论文)word格式.doc...

保龄球计分系统C语言课程设计毕业设计(论文)word格式

目 录

1 1

1.1问题描述1

1.2输入数据要求1

1.3输出数据要求2

1.4开发环境和工具2

1.5成员分工2

2总体设计3

2.1总体设计思路3

2.2模块结构图3

2.3模块说明4

3详细设计6

3.1数据类型定义6

3.2Scan模块实现6

3.3Save以及Read模块实现8

3.4Count模块实现9

4 测试结果与分析11

4.1.输入数据计算结果11

4.2数据的文件保存12

4.3从文件读入数据并计算结果12

5个人总结14

6 附 录15

6.1源代码15

1 需求分析

问题描述一局(GAME)保龄球分为10格,每格里有两次投球机会,如在第一次投球时全中,就需要投第二球。每一格可能出现三种情况:

? 1.失球(MISS)

? 无论何种情况,在一格的两次投球时,未能击倒10个瓶,此格的分数为击倒的瓶数,未击中用一个(-)符号表示。

? 2.补中(SPARE)

? 当第二次投球击倒该格第一球余下的全部瓶子,称为补中,用一个(/)符号表示。补中的记分是10分加上下一次投球击倒的瓶数。

? 3.全中(STRIKE)当每一格的第一次投球击倒全部竖立的十个瓶时,称为全中,用一个(×)符号表示。全中的记分是10分(击倒的瓶)加该球员下两次投球击倒的瓶数。

?但在第十格中情况比较特殊:(1)如第二次投球未补中,则第十格得分为第九格得分加上第十格所击倒瓶数。

(2)如第二次投球补中,则追加一次投球机会,第十格得分为第九格得他加上10加上追加一次投球击倒瓶数。

(3)如第一球为全中,则追上加二次投球机会,第十格得分为第九格得分加上10加追加二次投球击倒的瓶数。因此从第一格到第十格的两次追加投球,都为全中,则为12个全中,得分为满分300分。

输入数据要求

输出数据要求序号12345678910

9|16|38|27|210|0 10|0? 10|04|58|210|7|3积分

输出数据显示格式:

序号12345678910

9|/6|38|/7|2×| ×|? ×| 4|58|/× | 7 | /

得分1625425181105124133153173

开发环境和工具

开发环境:Windows 7

开发工具:Visual C++ .0

成员分工

2总体设计

2.1总体设计思路

设计思路

数据存储模块结构图

函数之间的调用如图.1所示。

图.1 保龄球计分系统模块结构图

模块说明

Scan模块

函数原型:

功 能:

输入参数:输出参数:

Save模块

函数原型:

功 能:

输入参数:输出参数:函数原型:count(int p[ ][4],int n);

功 能:

输入参数:输出参数函数原型:

功 能:

输入参数:输出参数3详细设计

数据类型定

char ch,infile[15],outfile[15]; /*定义两个字符数组,用来输入存储以及读取的文件名*/

struct game_number

{ int turn[11][2];

} game[10]; /*定义结构体,最多包含10局比赛数据*/

int a[11][4];

int t; /*定义两个全局变量,分别用于进行数据输入以及计算和输入选择比赛局数*/

3.2Scan模块实现算法思想具体实现for(i=0;i<=8;i++) /* 用for循环来给数组赋值 */

{

printf("请输入第%d格第一次击倒瓶数:",i+1);

scanf("%d",&a[i][0]);

do

{

if( a[i][0]>10 || a[i][0]<0 )

{

m=0;

printf("错误,请再次输入:");

scanf("%d",&a[i][0]);

}

else m=1;

} while(m==0); /*用if、do-while来避免输入错误*/

}

printf("请输入第十格第一次击倒瓶数:");

scanf("%d",&a[9][0]);

do

{

if( a[9][0]>10 || a[9][0]<0 )

{

m=0;

printf("错误,请

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。