保龄球计分c语言程序,保龄球计分系统C语言优秀课程设计.doc
目 录
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.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("错误,请再次输入:");
保龄球计分c语言程序,保龄球计分系统C语言优秀课程设计.doc相关推荐
- 单总线和i2c总线结合实现数字温度计的设计c语言程序,1《单片机原理应用》课程设计指导书2010-6-8.doc...
1<单片机原理应用>课程设计指导书2010-6-8 <单片机原理与应用>课程设计指导书 一.课程设计的基本任务 本课程设计的基本要求是使学生熟悉掌握MCS-51系列单片机的编程 ...
- c语言程序电压采样,单片机电压采集装置课程设计(AD转换及编程实现).doc
word文档 可自由复制编辑 单片机课程设计 姓 名: 学 号: 专 业: 电子科学与技术 题 目: 单片机电压采集装置 专 题: AD转换及编程实现 指导教师: 设计地点: 实验楼 时 间: 201 ...
- c语言 不用锁存器 数码管倒计时,倒计时器课程设计.doc
倒计时器课程设计精选 河南机电高等专科学校 课程设计报告书 课程名称: 单片机原理及系统设计 课题名称: 倒计时器课程设计 专 业: 计算机控制技术 班 级: 学 号: 姓 名: 成 绩: 2013 ...
- c语言程序风光互补系统论文,风光互补控制器设计及实验平台搭建
摘要: 当今世界,能源枯竭的问题已经成为世界发展的重要问题.如何解决能源危机,是学者研究的重点问题.而新能源的出现,给能源的发展带来了新的希望.新能源的利用,也成为当今研究的热点问题.而在新能源中,风 ...
- 编好c语言网上自动评测,C语言程序自动评测系统的设计与实现
摘要: 随着计算机技术的发展和提高,计算机辅助评价(CAA)已成为当前计算机教育应用的热点研究问题之一.已有的研究成果已能很好的解决客观题测评问题,而主观题的评测问题则仍处于发展阶段.C语言程序设计课 ...
- c语言作业系统输出超限,C语言网Online Judge系统支持语言和编译说明
Online Judge系统支持语言和编译情况: 语言 编译器 语言版本 编译参数 C gcc 4.6.3 C99 gcc Main.c -o Main -Wall -lm –static -std= ...
- Springboot考研网上辅导系统fu1ei计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot考研网上辅导系统fu1ei计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot考研网上辅导系统fu1ei计算机毕业设计-课程设计-期末作业-毕设程 ...
- Springboot具有智能推荐功能的外卖点餐系统bia14计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot具有智能推荐功能的外卖点餐系统bia14计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot具有智能推荐功能的外卖点餐系统bia14计算机毕业设计 ...
- Springboot美食分享系统716y7计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot美食分享系统716y7计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot美食分享系统716y7计算机毕业设计-课程设计-期末作业-毕设程序代做 ...
最新文章
- 我自己写的3D图形数学库。。。有点乱!
- 耳机不分主从是什么意思_“在网吧上网给玩家配置这样的耳机,是什么意思?”哈哈哈...
- oracle把多行合并成字符串,怎样将Oracle多行转换成字符串?
- [html] 跨域通信有哪些方式?
- Oracle SQL优化原则
- oracle日期函数大全
- CCNA题库第一部分
- python实现最大公约数最小公倍数求法
- 使用VS2019将c#生成dll文件
- 使用HBuilder mui将图片保存到手机相册(移动端将图片、文件保存至手机相册)
- ISO8601标准时间格式
- 用scratch编写游戏-数字华容道
- 设计模式六大原则之--依赖倒置原则(DIP)
- 美团App用户界面分析
- 颜色转换rgb24 to yuv420
- 计算机仿真工具软件,计算机仿真技术
- 树莓派php minicom,用DHT11实践树莓派与Arduino串口通信 | 树莓派实验室
- GoogleTest使用教程
- 读书笔记:《个人信息保护法与日常生活》
- MATLAB中fix啥意思,matlab fix函数用法_常见问题解析,matlab
热门文章
- Hadoop常见场景
- bash单词合并_如何在Bash命令中快速更改第一个单词?
- 代餐启示录:代餐奶昔,成年人的精装饲料?【姜太公公】
- RadioButtonList的属性以及RadioButtonList显示隐藏ListItem的值
- CSS实现按钮凸出的翻转卡片
- 统一门户的几种建设方案(备忘录)
- Asterisk对接潮流的FXO网关GXW410x实现异地落地方法
- 金融领域与python_Python是金融领域变革的重要技术
- Android开发之android录制视频功能
- android代码删了怎么恢复,android手机系统程序误删了怎么恢复?