保龄球计分系统C语言优秀课程设计

保龄球计分系统C语言优秀课程设计
保龄球计分系统C语言优秀课程设计

目录

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.2S CAN模块实现 (6)

3.3S A VE以及R EAD模块实现 (8)

3.4C OUNT模块实现 (9)

4 测试结果与分析 (11)

4.1.输入数据计算结果 (11)

4.2数据的文件保存 (12)

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

5个人总结 (14)

6 附录 (15)

6.1源代码 (15)

1 需求分析

1.1问题描述

从键盘读入比赛数据;从文件读入比赛数据;将从键盘输入的比赛数据存入文件(一个文件可存放多局比赛的数据)。将比赛数据显示在屏幕上计算比赛结果及统计数据,并显示在屏幕上。

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

1.失球(MISS)

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

2.补中(SPARE)

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

3.全中(STRIKE)

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

但在第十格中情况比较特殊:

(1)如第二次投球未补中,则第十格得分为第九格得分加上第十格所击倒瓶数。

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

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

1.2输入数据要求

第一格第一次击倒瓶数:

第一格第二次击倒瓶数:

第二格第一次击倒瓶数:

第二格第二次击倒瓶数:

…………………………

1.3输出数据要求

输入数据显示格式:

1.4开发环境和工具

开发环境:Windows 7

开发工具:Visual C++ 6.0 1.5成员分工

2总体设计

2.1总体设计思路

1.设计思路

因为这是一个计分系统,所以在主函数中采用switch结构来达到输入数字来进行选项操作。然后通过定义大量的函数,然后在swtich中来一个个调用函数,来进行运算和处理。

由于要使得系统能一次输入多局比赛并保存,读写文件时,先把每局数据存入一个最多能存10局比赛数据的结构体中,然后将整个结构体存入文件,读取文件时,可以自由选择载入保存比赛数据的文件,并自行选择需要显示和计算的比赛局数,然后进行显示,读写文件一律采用二进制方式读写。

输入比赛数据以及输出比赛数据时,利用循环语句依次输出;对于保龄球第十格击球的特殊性,再加入if语句判断,然后根据不同情况进行输入或者计算。

显示部分先定义count函数用来在得到比赛数据后进行计算积分,然后一种显示是输入数据后直接计算显示;还有一种是读取文件中比赛数据,然后再进行积分运算,再显示结果。

在现实中,充分运用清屏函数,使程序显得直观简洁。

2.数据存储

在不退出程序的时候,如不进行将比赛数据存入文件的选项,每局比赛都存在个最多包含10局比赛数据的结构体中,然后可以选择是否把整个结构体读入文件并存储以便下次直接读取并计算显示。

2.2模块结构图

根据需求将系统划分为两个个功能模块,函数之间的调用关系如图 1.1所示。

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

1)Scan:初始化比赛,输入比赛数据。

2)Save:将比赛数据读入文件(只保存每局比赛击倒瓶数而不保存积分数据)。

3)Count:通过计算得到比赛积分。

4)Print:调用Count计算后得到比赛积分结果并输出。

5)Read: 读取存储了比赛数据的文件。

6)Changein:将比赛数据由数组存入结构体,便于读入文件。

7)Changeout:将结构体中数据赋值给数组,方便读取文件得到数据后的计算、处理。

2.3模块说明

1.Scan模块

函数原型:void scan();

功能:提示输入局数以及每格击倒球数,即输入比赛数据。

输入参数:a[11][4],二维数组,存放比赛数据。

输出参数:a[11][4],已经赋值了的二维数组,存有一局比赛数据。

2.Save模块

函数原型:void save();

功能:将小于等于十局数量的比赛数据存入自己命名的文件。

输入参数:char ch,infile[15],字符串数组,输入文件名字。

输出参数:char ch,infile[15],字符串数组,已经输入的文件名字。

3.Count模块

函数原型:void count(int p[ ][4],int n);

c语言课程设计报告·图书管理系统

第一章 §题目描述 图书管理系统设计: 【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。试设计一图书管理系统,使之能提供以下功能: (1)新图书基本信息的输入; (2)图书基本信息的查询; (3)对撤销图书信息的删除; (4)办理借书手续; (5)办理还书手续; 【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同数字代表借还状态。借书和还书手续要注意修改结构体的成员变量存在状态的值。 §算法设计 1.设计思想: 在整个系统编写的过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。 2.实现注释: 这个实用的小型图书管理系统程序以结构体数组指针操作完成,并实现文件信息的录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、删除和借书、还书手续办理等。查询时可按书名、编号等方式查询,找到后输出这本书的所有信息。可查询图书的在库状态,方便用户进行借书、还书操作。在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。系统中主要的数据结构就是图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。在处理过程中各项可以作为一本图书的不同属性来进行处理。 3.结构体系设计 图:主函数结构;图:新书信息录入流程;图:图书信息查询(管理员)流程;图:图书信息查询(学生)流程;图:图书信息删除流程;图:办理借书手续流程;图:办理还书手续流程; §程序设计及代码分析 1.程序设计: 下面,我大致介绍一下我的系统的主要功能和注意事项: 当运行此程序时,首先进入系统主界面,然后可以选择[1].管理员登陆(密码:123),[2].学生登陆,[0].退出系统; 选择[1]后进入管理员系统,验证密码成功后显示管理员功能菜单,按数字键选择所需服务。管理员功能菜单中,[1].新书信息录入,[2].图书信息查询,[3].图书信息删除,[4].返回主菜单,[0].退出系统;当出现“请选择”时,输入选项前的数字,输完之后按回车(下同)。首次运行系统需要先选择[1]录入库存书籍信息,图书各信息项须用空格键隔开,输入完毕后信息自动储存并更新至数据库,然后再选择其他操作。当选择[3]时会进入图书信息删除,在这里可以选择删除图书信息等操

保龄球的积分计分规则

保龄球的积分计分规则 1、保龄球按顺序每轮允许投2个球,投完10轮为1局。 2、每击倒1个木瓶得1分。投完一轮将两个球的“所得分”相加,为该轮的“应得分”,10轮依次累计为全局的总分。 3、保龄球运动有统一格式的记分表。第一球将全部木瓶击倒时,称为“全中”。该轮所得分为10分。第二球不得再投。但按规则规定,应奖励下轮两个球的所得分。它们所得分之和为该轮的应得分。 4、当第一球击倒部分木瓶时,应在左边小格内记上被击倒的木瓶数,作为第一球的所得分。如果第二球将剩余木瓶全部击倒,则称为“补中”。该轮所得分亦为10分。按规则规定,应奖励下轮第一球的所得分。它们所得分之和为该轮的应得分。 5、第10轮全中时,应在同一条球道上继续投守最后两个球结束全局。这两个球的所得分应累计在该局总分内。 6、第10轮为补中时,应在同一条球道上继续投守最后一个球结束全局。这个球的所得分应累计在该局总分内。一局总分为300分.局分为10格,每格里有两次投球机会,如在第一次投球时全中,就有需要投第二球。每一格可能出现三种情况: 1.失球(MISS)无论何种情况,在一格的两次投球时,未能击倒10个瓶,此格的分数为击倒的瓶数,未击中用一个(-)符号表示。 2.补中(SPARE)当第二次投球击倒该格第一球余下的全部瓶子,称为补中,用一个(/)符号表示。补中的记分是10分加上下一次投球击倒的瓶数。 3.全中(STRIKE)当每一格的第一次投球击倒全部竖立的十个瓶时,称为全中,用一个(×)符号表示。全中的记分是10分(击倒的瓶)加该球员下两次投球击倒的瓶数。 但在第十格中情况比较特殊: (1)如第二次投球未补中,则第十格得分为第九格得分加上第十格所击倒瓶数。 (2)如第二次投球补中,则追加一次投球机会,第十格得分为第九格得他加上10加上追加一次投球击倒瓶数。 (3)如第一球为全中,则追上加二次投球机会,第十格得分为第九格得分加上10加追加二次投球击倒的瓶数。 因此从第一格到第十格的两次追加投球,都为全中,则为12个全中,得分为满分300分。

C语言程序设计课程设计题目

1一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n 是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进

行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

c语言课程设计报告书--学生成绩管理

C 语言程序设计报告 课题:学生成绩管理 时间:

一、需求分析 任务要求: 自学C语言中有关链表及外部文件的内容,设计出学生成绩管理。具体要求如下: 1.主要功能: (1)能按学期、按班级完成对学生成绩的录入、修改 (2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序 (3)能查询学生成绩,不及格科目及学生名单 (4)能按班级输出学生的成绩单 系统功能需求分析: 1、定义一个结构体类型,成员包括学期、班级、各科成绩、建立链表,定义该结构体类型的指针,用于指向各结点; 2、分别建立具有添输入、修改、查询、总分及平均分、排序等功能的子函数,完成相应功能,对程序实现模块化。 二、概要设计 系统总体设计框架: 对程序进行模块化,建立输入、修改、查询、查找和显示功能的子函数,各子函数中运用链表存储数据。 系统功能模块图:

三、详细设计 主要功能模块的算法设计思路如下: 1、输入信息函数 (1)定义指向结构体变量的指针; (2)移动指针,找到插入结点; (3)在要插入的结点输入信息; (4)返回头指针。 2、修改信息 (1)定义指向结构体变量的指针; (2)用指针检验链表中是否有记录,若没记录,出现报错,然后要求重新输入; (3)根据要修改的编号查找对应结点; (4)修改信息;

(5)修改成功。 3、排序函数 (1)定义所要排序的班级和链表的头指针为形参; (2)调用排序函数,把班级和链表的头指针赋给形参; (3)在子函数中进行排序; (4)输出排序结果。 4、显示学生成绩信息(void Disp(Link l)) (1)选择想要查询的项目(学生各科成绩、不及格科目、班级成员);(2)用指针检验是否有记录; (3)若无记录,输出提示信息,返回主函数; 若有记录,移动指针,依次输出记录; 5、查询班级成绩信息(void Find(Link l)) (1)选择所要查询的班级; (2)输入班级: (3)在链表中寻找相应结点; (4)输出结点信息。 以上各个函数的流程图如下:

数字电子技术课程设计篮球比赛30s计时器

一、设计目的 1.培养理论联系实际的正确设计思想,训练综合运用已经学过的理论和生产实际知识去分析和解决工程实际问题的能力 2.学习较复杂的电子系统设计的一般方法,了解和掌握模拟、数字电路等知识解决电子信息方面常见实际问题的能力,由学生自行设计、自行制作和自行调试。3.运行基本技术训练,如基本仪器仪表的使用,产业元器件的识别、测量、熟练运用的能力,掌握设计资料、手册、标准和规以及使用仿真软件、实验设备进行调试和数据处理等。 4.培养学生的创新能力。 二、设计要求 1.30秒计时器具有显示30秒的计时功能。 2.系统设置外部操作开关,控制计时器的直接置数、清零、启动、和暂停功能。3.计时器为30秒递减计时时,其计时间隔为1秒。 4.当计时器递减计时到零时,数码显示器不能灭灯,LED变亮报警。 三、总体设计 本实验的核心部分是要设计一个30s计数器,并且对计数结果进行实时显示,同时要实现设计任务中提到的各种控制要求,因此该系统包括秒脉冲发生器、计数器、译码显示电路、辅助时序控制电路(简称控制电路)和报警电路等5个部分构成。其中,计数器和控制电路是系统的主要部分。计数器完成30s计时功能,而控制电路具有直接控制计数器的启动计数、暂停、连续计数、译码显示电路的显示和灭灯功能。为了满足系统的设计要求,在设计控制电路时,应正确处理各个信号之间的时序关系。在操作直接清零开关时,要求计数器清零,数码显示器显示零。当启动开关闭合时,控制电路应封锁时钟信号CP,同时计数器完成置数功能,译码显示电路显示30s字样;当启动开关断开

时,计数器开始计数;当暂停、连续开关拨在暂停位置上时,计数器停止计数,处于保持状态;当暂停、连续开关拨在连续时,计数器继续递减计数。系统设计框图如图下图所示。 图1 四、单元电路设计 1、译码显示电路 用发光二极管(LED )组成字型来来显示数字。这种数码管的每个线段都是一个发光二极管,因此也称LED 数码管或LED 七段显示器。因为计算机输出的是BCD 码,要想在数码管上显示十进制数,就必须先把BCD 码转换成 7 段字型数码管所要求的代码。我们把能够将计算机输出的BCD 码换成 7 段字型代码,并使数码管显示出十进制数的电路称为“七段字型译码器”因此在本次的设计中我们采用了常用的74LS48。 在数字测量仪表和各种数字系统中,都需要将数字量直观地显示出来,一方面供人们直接读取测量和运算的结果;另一方 面用于监视数字系统的工作情况。因此,数字显示电路是许多数字设备不可缺少的部分。数字显示电路通常由译码器、驱动 器和显示器等部分组成,如下图所示。下面对显示器和译码驱动器分别进行介绍。

保龄球比赛规则及术语介绍

保龄球比赛规则及术语介绍 1.保龄球是以局为单位,以击倒球瓶数的多少来计分并决定胜负的。一局分为10轮,每轮有两次投球的机会。如果在一轮中,第一次投球就把10个球瓶全部击倒,即全中,就不能再投第二次。唯有第10轮不同,第一次投球如果投得全中,仍要继续投完最后一球,结束全局。值得强调的是,如果两次投球没有将10个瓶全部击倒,那么第三次机会就会被自动取消。 2.比赛以抽签的方式决定道次。每局在相邻的一对球道上进行比赛,每轮互换球道,直至全局结束。第二局需互换球道,单数的球员向左移动,双数的球员向右移动。有时也可以统一向右移动道次,目的是为了每个球员都能相遇和机会均等。投球的先后次序以抽得的A、B、C顺序为准。 3.保龄球比赛时,均以6局总分累计决定名次。 (1)单人赛:将每一局的成绩相加,以6局总分最高者为冠军,次者为亚军,再次为第三名。 (2)双人赛:每人6局,以二人合计12局累计总分高低决定名次。 (3)三人赛:每人6局,以三人合计18局累计总分高低决定名次。 (4)五人赛:每人6局,以五人合计30局累计总分高低决定名次。 (5)全能赛:以每人24局总分高低决定全能名次。 (6)精英赛:通过上述前四项比赛,取24局总分的前16名参加准决赛马,进行单循环后共打完15局,取15局总分的前4名参加挑战赛。第四名对第三名,是第一次挑战;胜者对第二名是第二次挑战,胜者对第一名的比赛称为决赛,连胜两局者为冠军,连负二局者为亚军。一胜一负两局总分高的为冠军,一胜一负两局低的为亚军。如果两局总分相同,就要看双方第九轮与第十轮的成绩了,分数高的夺得冠军。 保龄球的术语,也就是一般俗称STRIKE,SPARE之类的,在这个地方将会做详尽的介绍: 1.STRIKE---在一格里面的第一球打出全倒.大陆方面称为"全中". 2.SPARE---第一球并未全倒,於第二球打 3.SPLIT---很难解到的球,俗称技术球, 4.Turkey---连续打出三次全倒

C语言程序设计课程设计报告

C语言程序设计课程设 计报告 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

《C语言程序设计》课程设计报告 (2013— 2014学年第 3 学期) 题目: C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号: 1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014 年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 2.1 掷骰子游戏 (5) 2.2 射击游戏 (7) 2.3 计算存款本息之和 (8) 2.4肇事逃逸 (10) 2.5 礼炮 (12) 2.6 汽车加油 (14) 2.7 大优惠 (16) 2.8 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C 语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 2.1掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

基于单片机的篮球赛计时记分器设计

篮球赛计时计分器设计 院系自动化学院 专业自动化 班级 学号 姓名 指导教师 负责教师

摘要 体育比赛中的计时计分系统是对体育比赛过程中所产生的时间、比分等数据信息进行快速采集、加工处理、传递和利用的系统。此系统能否清晰、稳定、精确的反应体育比赛中的客观数据,直接影响到比赛的公平性和公正性。本文针对上述情况研制了篮球赛计时计分器。该系统以单片机为核心,利用7段共阴LED作为显示器件。为了调整比赛中的时间和比分,在本设计中设立了8个按键,分别用于记录甲、乙两队的分数,设置赛程时间,调整赛程时间,启动和暂停赛程时间等功能,本系统还设计了定时报警系统。实践证明,该系统精度高、稳定性好、抗干扰性强,具有一定的应用前景。 关键词:计时器;计分器;单片机;LED显示

Abstract The system of time and score recorded in the sporting games is the one like this: the data about time and socres that generated in the process of the games can be collected rapidly, processed, transmited and be used. If the system can reflect the objective data in the games clearly, stably and accurately, it will affect the fairness and impartiality of the games. According to this, calculagraph and scores recorder of the basketball games are researched and designed in this paper. The core of the system is the MCU, using seven segments LED as the display. In order to adjusting the time and the scores of the game, eight keys are used in this paper. The functions of these keys are: recording the scores of the team A and B, setting up or adjusting the time of the game, and starting or suspending the time of the game. The timing alarm system is also designed in the system. Experiments , good stability, strong anti-interference and it prospects. Key words: calculagraph;scores recorder; MCU; LED display

C语言程序设计课程设计

《C语言程序设计》课程设计 1课程设计目的 C语言课程设计是在“C语言程序设计”课程后集中安排的1周相关的实践技能训练环节。它的目的是通过实践环节的训练,培养学生查阅资料的能力、分析与解决问题的能力、应用C语言开发与设计程序的能力。 2课程设计选题 2.1 题目1 必做题目,其余题目任选一题完成 题目1:年历显示。 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。 (2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 题目2:小学生测验 面向小学1-2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1-2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0-50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN” 题目3:学生学籍管理系统(可以2人合作完成) 用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。 功能要求: (1)系统以菜单方式工作。 (2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息; (3)删除已知学号的学生信息; (4)查找已知学号的学生信息; (5)按学号,专业输出学生籍贯表。 (6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。 题目4:通讯录程序设计 设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。实现功能:(1)系统以菜单方式工作 (2)信息录入功能 (3)信息浏览功能

C语言课程设计图书管理系统课程设计报告

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

完整版篮球赛计时计分器开题报告

华东交通大学理工学院 本科生毕业设计开题报告 题目:嵌入式篮球赛计分屏的设计 分院:电气与信息工程学院 专业:

班级: 学号: 姓名: 指导教师: 填表日期:2012 年 2 月10 日 目录 一、选题的依据及意义 (2) 1.1选题的依据 (2) 1.2选题的意义 (2) 二、国内外研究现状及发展趋势 (3) 三、本课题研究内容 (4) 四、本课题研究方案 (5) 4.1.硬件设计方案 (5) 4.2.软件设计方案 (6) 五、研究目标、主要特色及工作进度 (8) 六、参考文献 (9)

七、指导老师意见 (10) - 1 - 一、选题的依据及意义 1.1 选题的依据 进入21世纪,伴随着电子,信息通信技术的应用与普及开发,人们对电子技术的要求也越来越高。目前嵌入式单片机渗透到我们生活的各个领域,按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。对于嵌入式即可分软件部分和硬件部分。以MCU为核心,就是各种各样的单片机,是嵌入式硬件部分的实现方式之一,它主要是因为把处理器和存储器等部件集成在一块芯片上。 在探索单片机的发展道路时,有过两种模式,即“Σ模式”与“创新模式”。“Σ模式”将通用计算机系统中的基本单元进行裁剪后,集成在一个芯片上,构成单片微型计算机;“创新模式”则完全按嵌入式应用要求设计全新的,满足嵌入式应用要求的体系结构、微处理器、指令系统、总线方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照创新模式发展起来的单片形态的嵌入式系统。MCS-51是在MCS-48探索基础上,进行全面完善的嵌入式系统,成为单片嵌入式系统的典型结构体系。 体育比赛计时计分器是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录、加工处理、传递利用的工具。篮球比赛的计时计分器是一种得分类型的工具。它由计时器等、计分器等多种电子设备组成。 虽然篮球比赛中很早就开始研究应用了电子计分器,但通常都是利用模拟电子器

c语言语言课程设计报告

上海应用技术学院 课程设计 2011~ 2012学年第二学期 设计题目成绩记录簿 院(系)计算机科学与信息工程学院 专业计算机应用技术 班级 11104114 学号 1110411414 学生姓名蒋佳琴 设计时间 2012.06.25 -2012.07.06 指导教师马智娴 提交日期 2012.07.06

上海应用技术学院课程设计任务书 指导教师(签名):马智娴教研室主任(签名):马智娴2012年6 月25日2012年6月25日

目录 1 设计目的 (5) 2 功能描述 (5) 2.1模块功能 (5) 2.2流程图 (6) 3 总体设计 (13) 3.1 功能模块设计 (13) 3.2 数据结构设计 (13) 3.3 函数功能描述 (13) 4 程序实现 (14) 4.2 运行结果 (25) 5课程设计总结 (28)

成绩记录簿 1. 设计要求: 基本功能 a) 添加成绩 b) 删除成绩 c) 查询学生成绩 d) 查询班级成绩 e) 退出 拓展功能 a) 写入文件 b) 读取文件 创新(自拟)功能: 程序实现的其它功能由个人自拟。 2. 设计要求具体说明 基本功能: 成绩记录簿中记录以下数据: 学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分; 输入信息时要检查数据项学号、课程编号、成绩、学分的合法性,学号:8位数字;课程编号:5位数字;成绩:0 ~ 100 之间的整数,学分: 1~ 5之间的实型数。 添加成绩:需要输入学生的学号或姓名、课程编号及成绩,如已有该门课程成绩给出提示; 查询(班级或个人)成绩: a) 查询个人成绩:以学号或姓名作为关键字,可查询一个学生的所有成绩,和已完成 的总学分。 b) 查询班级成绩:以课程编号为关键字,成绩表后面要统计平均分、及格率及全班同 学不同课程在不同分数段分布的人数及百分比。 拓展功能: a) 程序启动时先从文件读入数据,如果文件中没有数据则给出提示; b) 每次修改的数据写入文件。 3. 提示 定义合适的结构体类型,使用链表或数组的方式组织数据。

篮球赛计时与计分系统的设计报告

设计报告 设计包括四个模块。他们是24秒显示,计时器,记分器,计节器。24秒显示能按键控制24秒计时器,当控球时间超过24秒时,可发出报警信号。计时器,可按键调节。可以随时暂停计时,暂停比赛,在每节结束和全场结束时报警。记分器记录两队的积累分数,可通过按键分别加1、2、3分。 1 系统设计方案 本设计由STC89C52RC 编程控制LCD 液晶显示器作球赛计时计分系统。 1.1 系统构成框图 基于单片机系统的篮球计时计分器的系统构成框图如图所示。 GND VC C VL RS RW EN DB 0DB 1DB 2DB 3DB 4DB 5DB 6DB 7LED+LED-J2CON16 12MHZ P1.01P1.23P1.34P1.45P1.56P1.67P1.78RS T 9P3.0/RXD 10P3.1/TXD 11P3.2 INT012P3.3/INT113P3.4/T014 P3.5/T115P3.6/WP 16P3.7/RD 17XTAL218XTAL119GND 20 P2.0 21 P2.122P2.223P2.324P2.425P2.526P2.627P2.728NA 29ALE 30EX_LVD 31P0.732P0.633P0.5 34P0.435P0.336P0.237P0.138P0.039VC C 40 P1.12STC40 STC1 +5V R210K 1 2 C110uF 1 2 C222 1 2 C3 22+5V S6 S7 S5 P3.412 J1 CON2 S10 SW SPST +5V R3 10K DB 0DB 1DB 2DB 3DB 4DB 5DB 6DB 7 DB 0DB 1DB 2DB 3DB 4DB 5DB 6DB 7P2.6 P2.0P3.2P1.0P2.7+5V P1.5 P3.2 P1.4 P2.6 P3.3S8 P3.3 1 LS 1 SPEAKER +5V R110K P2.0 P1.1P1.2P1.3P1.4P1.5 1 3 2 Q1PNP P2.7S2 S3 S1 P1.1 P1.2 P1.0 S4 P1.3 S9 P3.4 图1.1 系统构成框图 本系统采用单片机STC89C52RC 作为本设计的核心元件。利用LCD1602作为显示器件,第一行显示双方比赛总分数,第二行依次显示节数,倒计时时间,24秒倒计时。赛程计时采用倒计时方式。即比赛前将时间设置好,比赛开始时启动

保龄球比赛规则大全

保龄球比赛规则大全 保龄球是以局为单位,以击倒球瓶数的多少来计分并决定胜负的。一局分为10轮,每轮有两次投球的机会。下面是小编为大家收集关于保龄球比赛规则大全,欢迎借鉴参考。 01、以局定胜负 保龄球是以局为单位,以击倒球瓶数的多少来计分并决定胜负的。 一局分为10格,每格有两次投球机会。如果一格中,第一次投球就把10个球瓶全部击倒,即为全中(X),就不能再投第二次。唯有第10轮不同,第一次投球如果投得全中,仍要继续投完最后两个球;如果是补中,就要继续投完最后一球,结束全局。值得强调的是,如果两次投球没有将10个瓶全部击倒,那么第三次机会就会被自动取消。 02、输赢与道次无关 比赛以抽签的方式决定道次。 每局在相邻的一对球道上进行比赛,每轮互换球道,直至全局结束。第二局需互换球道,单数的球员向左移动,双数的球员向右移动。有时也可以统一向右移动道次,目的是为了每个球员都能相遇和机会均等。投球的先后以抽得的A、B、C顺序为准。 03、积分规则 保龄球的计分不难,每一局总共有十格,每一格里面有两球。共

有十支球瓶,要尽量在两球之内把球瓶全部击倒。 情况1 如果第一球就把全部的球瓶都击倒了,也就是STRIKE,画面出现X,就算完成一格了,所得分数就是10分再加下两球的倒瓶数。 情况2 如果第一球没有全倒时,就要再打一球,如果剩下的球瓶全都击倒,也就是SPARE,画面出现/,也算完成一格,所得分数为10分再加下一格第一球的倒瓶数。 情况3 如果第二球也没有把球瓶全部击倒的话,那分数就是第一球加第二球倒的瓶数,再接着打下一格。 依此类推直到第十格。但是第十格有三球,第十格时如果第一球或第二球将球瓶全部击倒时,可再加打第三球。

C语言程序课程设计猜数字游戏

C语言程序设计课程设计 : 自 动 化 级 : 名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2015年07月21日

一.引言 设计目的 复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。 设计要求 在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。 充分地分析和理解问题本身,弄清要求做什么(What to do)。在确定解决方案框架过程中(How to do),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。 确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。 上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。 二.基础题 题目 用选择法对10个数进行排序。 有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。解题思路 程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。 先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。 流程图 子函数流程图如图1所示:

C语言课程设计报告烟花绽放

课程设计报告书设计题目烟花绽放 系别计算机工程系 专业计算机科学与技术 班级 姓名 指导教师 设计任务下达日期2011年 12 月 24 日 设计时间2011年12月26日至 2010年12月30日 课程设计任务书

一、目的和意义 本课程设计是《C语言程序设计》课程的后继教学环节, 通过研究C语言中图形编程技术或者声音控制等其它方面的多媒体编程技术,一方面拓展学生在这些领域的C语言知识,另一方面使学生在运用所学理论知识进行实践开发,更好的培养学生综合学习能力和实践能力。本次课程设计学生可以根据喜好,可以利用复杂的数据类型实现成绩管理系统等小型的综合应用程序。 二、题目(可从下面题目中任选一个) 1、C语言的图形编程应用 设计实现如菜单、图形的显示,再如动画和小游戏。 2、简易电子琴模拟程序的实现 为实现在键盘模拟电子琴设计的程序。由学生自行设计并且实现。 3、成绩管理程序 学生本人设计具体方案,然后改进和编码实现。 三、课程设计报告书应包括的主要内容 1、介绍概要的思路和设计方案,程序的总体功能和模块划分。 2、主要算法的介绍及流程图,主要功能的实现手段的说明文档。 3、对于有设想但最终未实现的功能的大致编程思路的阐述和设计过程中的启发。 四、进度要求 1、设计时间:2011年12月19日至2011年12月25日 2、编写课程设计报告书:2011年12月26日至2011年12月29日 3、提交报告及答辩时间:2011年12月30日 专科 四、进度要求 1、设计时间:2011年12月26日至2011年12月28日 2、编写课程设计报告书:2011年12月29日 3、提交报告及答辩时间:2011年12月30日 目录

篮球赛计时计分器课程设计

电子与电气工程学院 课程设计报告 课程名称电子技术课程设计 设计题目计分器 专业名称电子科学与技术 班级 13级 2班 学号2013210825 学生姓名唐前昆 指导教师王欢 2015年06 月02日

目录 第1章系统概述 (1) 1.1 功能简述 (1) 1.2 按钮设置 (1) 第2章总体方案设计 (2) 2.1 系统框图 (2) 2.2 软件总体设计 (2) 第3章系统硬件设计 (3) 3.1 80C51单片机 (3) 3.2 3×4矩阵式键盘 (3) 3.3 8段数码管显示器 (3) 3.4 系统原理图 (3) 第4章软件设计 (4) 4.1 主函数设计 (4) 4.2按键码获取,按键处理函数 (5) 4.3显示子函数 (6) 4.4延时子函数 (7) 第5章系统的安装调试说明 (8) 5.1 软件调试 (8) 5.2 软硬联调 (8) 总结 (9) 参考文献 (10) 附录A 系统原理图 (11) 附录B 源程序清单 (12)

第1章系统概述 1.1 功能简述 本设计内容为比赛计分器,主要用于各种体育比赛记录分数。采用矩阵式键盘作为输入,用户可分别对两队比分进行加1、加2和减1减2操作,其加减1,2分可以通过加减1分、2分的切换按钮实现,并通过指示灯显示其每次按下加减分键所加减的分值。可以实现预置分。比分通过4个8段数码管显示器进行显示,每队比分显示2位, 1.2 按钮设置 计分器应该有7个按键分别标注于原理图,见图1-1。 图1-1按钮功能图 其中1/2分切换由发光二极管指示,加1减1分别对应。预置分是事先设定分数可以分别设定甲乙两队的初始分数。按下清零后,显示的分数清零。

《C语言程序设计》课程设计

《C语言程序设计》课程设计 刘力斌 一、意义和目的 C语言是光信息科学与技术专业的重要专业基础课。在很多后续课程中,都要使用到C语言。 学生通过对C语言的学习,已经具备了使用C语言编写简单的应用程序的能力。为了加强程序设计基础,开设课程设计课,使学生对C语言有更全面的理解,进一步提高运用C语言编程解决实际问题的能力,同时,为后续课程的学习夯实基础。 课程设计目的: 提高用程序设计解决实际问题的能力。 通过提出算法、指定输入输出来设计一个解决方案。 用C语言合理地开发两个简洁有效的程序代码来实现该设计。 测试程序是否工作且满足设计指标并评价其效率。 二、目标 完成本课程设计的学生应能在以下几方面证明你们的能力: A、分析问题。各种简单的与计算机有关的案例中所需要的输出结果,把大问题分解成小问题,使用自顶向下或类似设计方法给出模块化或计划。 B、提出算法执行特定任务。模块表示为算法,使用自顶向下或伪代码等设计手段将模块细化成更详细的成分,清楚地表明顺序、选择和重复等到控制结构。 C、把一个算法变为用C语言编写的结构化程序。 D、用合适的测试方法检查程序是否符合最初的要求,为不合适数据设计错误陷阱,并提供错误信息来帮助用户。 E、写出清晰的用户文档,确保用户或者通过遵循程序中的指示或者使用程序设计者编写的文档能成功地运行程序。 F、写出技术文档,对程序中主要标示符的含义或作用加以说明,并提供一个完整的程序流程图。 G、调试程序、测试数据过程成功。

三、要求 参加本课程设计的学生,应当认真完成本课程设计的全部过程。并以最终课程设计成果来证明其独立完成各种实际任务的能力。从而,反映出理解和运用本课程知识的水平和能力。 完成课程设计应提交如下文档: ①程序的总体设计和算法分析。 ②技术文档 ③用户文档 ④源程序代码清单。 ⑤测试数据和测试过程记录。 ⑥遇到的问题及解决方法分析。 四、选题 每人一个题,具体题目可以参考附录。 第一题:链表操作题(包括建立、插入、删除、打印等)(参考教材); 第二题:文件操作,具体题目最好是自拟。 如果选题确实有困难的同学,可参考后面参考题目来完成本课程设计(成绩要影响)。 五、评价 评价是检测学生理解问题和解决问题能力的一个重要手段,教师将根据学生提交的一套文件中,严格检查以下各项任务完成情况: 1、课程设计文档是否齐全。 2、程序的用户文档 如果在程序执行期间有足够的指导信息显示在屏幕上显示,这些用户文档可以是很简要的,也许只限于解释如何装入并运行程序。 3、问题或任务的陈述(描述问题,而且问题是合理原始的、应当包括输 入、输出及其预期范围。)是否正确。 4、问题的解决方案采取由顶向下设计的形式,在适当的地方使用伪代 码,把整个解决方案划分成若干模块。 5、程序完成后的代码应当加以注解。最少应清楚指出每一个模块。 6、用于检查程序的测试数据,或者对一个控制程序给出测试的例程。测 试应考虑探索通过程序的几条路径,在合适的地方选择打印输出来。 7、程序的技术文档

相关文档
最新文档