当前位置:文档之家› 纯c语言编写的打字游戏代码

纯c语言编写的打字游戏代码

纯c语言编写的打字游戏代码
纯c语言编写的打字游戏代码

xx信息科技大学

软件工程1301SHERO组

#include

#include

#include

#include

#include

void func();

void fun();

void fu();

int k=0,num;

void main(){int choice,choice1 ;

float result;

system("color 5A");

printf("开始游戏:1结束:0\n");

scanf("%d",&choice);

do{

switch (choice){case 1:

printf("请选择字母【7】数字【8】数字+字母【9】"); scanf("%d",&choice1);

switch(choice1){case 7:func();break;

case 8:fun();break;

case 9:fu();break;}system("cls");

printf("\n\n\n\n\n\n\n\n\n\n 您成功地击落%d个字母!",k); printf("\n 您有%d个字母未击落!",num-k);result=(float)k/num; printf("\n 您的准确率为%.2f!",result);break;

case 0:

exit

(1);break;

default :

system("cls");

printf("指令有误!请检查指令。\n");

getchar();}printf("\n\n\n\n\n\n\n继续游戏:1

scanf("%d",&choice);

} while

(1);}/***************字母模块*****************/

void func(){int a[25][80];

int i,l,j,m=0,n=0,t,t1,temp,c=0;

int sure,sure1=0,dif,N;

do{

do

{system("cls");

printf("\n请选择难度等级:

困难:

1普通:

2结束:0

简单:

3\n");

");

scanf("%d",&dif);

if(dif!=1&&dif!=2&&dif!=3)

{printf("\n指令有误,按任意键继续!"); getchar();}else

sure1=1;

}while (sure1!=1);

if(dif==1)

N=10;

if(dif==2)

N=500;

if(dif==3)

N=2000;

printf("\n请输入字母个数:

");

scanf("%d",&num);

switch (dif){case 1: printf("\n你选择了困难等级,%d个字母进行练习。",num);break;case 2: printf("\n你选择了普通等级,%d个字母进行练习。",num);break;case 3: printf("\n你选择了简单等级,%d个字母进行练习。",num);break;}

printf("\n\n确定请按1,重新选择请按0");

scanf("%d",&sure);

system("cls");

}while(sure!=1);

printf("\n\n\n\n\n\n\n\n\n\n 按任意键开始游戏!\n");getch();/*头文件为#include */

system("cls");

for(i=0;i<25;i++)/*赋值为空格*/

for(j=0;j<80;j++)

a[i][j]=32;

system("cls");

srand((unsigned)time(NULL ));

a[0][rand()%80+1]=(rand()%26+65) ;

for(t=0;t0;i--)

for(j=80;j>0;j--)

printf("%c",a[i][j]);

_sleep(N);/*时间延迟,用来控制难度*/

m=0;

while(m<=22){for(l=0;l<80;l++){temp=a[m+1][l]; a[m+1][l]=a[m][l];

a[m][l]=temp;}m++;}if (!kbhit())

printf("");

else {char c = getch();

for(i=0;i<25;i++)

for(j=0;j<80;j++)

if(c==27)

exit

(1);

else if (a[i][j]==c-32){a[i][j]=32;

putchar('\a');

k++;}}

system("cls");

/*以下是最后一个字母出现以后所执行的*/ if(t==num-1)

{for(t1=0;t1<23;t1++){for(i=24;i>0;i--)

for(j=80;j>0;j--)

printf("%c",a[i][j]);

_sleep(N); /*时间延迟,用来控制难度*/

m=0;

while(m<=22){for(l=0;l<80;l++){if(m

a[m][l]=32;

temp=a[m][l];

a[m][l]=a[m+1][l];

a[m+1][l]=temp;}m++;}if (!kbhit())

printf("");

else {char c = getch();

for(i=0;i<25;i++)

for(j=0;j<80;j++)

if(c==27)

exit

(1);

else if (a[i][j]==c-32){a[i][j]=32;

putchar('\a');

k++;}}

system("cls");}}

/*以上是最后一个字母出现之后运行的*/

a[0][rand()%80+1]=(rand()%26+65) ;}}

/***************数字模块******************/ void fun(){int a[25][80];

int i,l,j,m=0,n=0,t,t1,temp,c=0;

int sure,sure1=0,dif,N;

do{

do

{system("cls");

printf("\n请选择难度等级:

困难:

1普通:

2简单:

3");

scanf("%d",&dif);

if(dif!=1&&dif!=2&&dif!=3)

{printf("\n指令有误,按任意键继续!"); getchar();}else

sure1=1;

}while (sure1!=1);

if(dif==1)

N=10;

if(dif==2)

N=500;

if(dif==3)

N=2000;

printf("\n请输入数字个数:

");

scanf("%d",&num);

switch (dif){case 1: printf("\n你选择了困难等级,%d个数字进行练习。",num);break;case 2: printf("\n你选择了普通等级,%d个数字进行练习。",num);break;case 3: printf("\n你选择了简单等级,%d个数字进行练习。",num);break;}

printf("\n\n确定请按1,重新选择请按0");

scanf("%d",&sure);

system("cls");

}while(sure!=1);

printf("\n\n\n\n\n\n\n\n\n\n 按任意键开始游戏!\n");getch();/*头文件为#include */

system("cls");

for(i=0;i<25;i++)/*赋值为空格*/

for(j=0;j<80;j++)

a[i][j]=32;

system("cls");

srand((unsigned)time(NULL ));

a[0][rand()%80+1]=(rand()%10+48) ;

system("cls");

for(t=0;t0;i--)

for(j=80;j>0;j--)

_sleep(N);/*时间延迟,用来控制难度*/

m=0;

while(m<=22){for(l=0;l<80;l++){temp=a[m+1][l]; a[m+1][l]=a[m][l];

a[m][l]=temp;}m++;}if (!kbhit())

printf("");

else {char c = getch();

for(i=0;i<25;i++)

for(j=0;j<80;j++)

if(c==27)

exit

(1);

else if (a[i][j]==c){a[i][j]=32;

putchar('\a');

k++;}}

system("cls");

/*以下是最后一个字母出现以后所执行的*/ if(t==num-1)

{for(t1=0;t1<23;t1++){for(i=24;i>0;i--)

for(j=80;j>0;j--)

_sleep(N); /*时间延迟,用来控制难度*/ m=0;

while(m<=22){for(l=0;l<80;l++){if(m

a[m][l]=32;

temp=a[m][l];

a[m][l]=a[m+1][l];

a[m+1][l]=temp;}m++;}if (!kbhit())

printf("");

else {char c = getch();

for(i=0;i<25;i++)

for(j=0;j<80;j++)

if(c==27)

exit

(1);

else if (a[i][j]==c){a[i][j]=32;

putchar('\a');

k++;}}

system("cls");}}

/*以上是最后一个字母出现之后运行的*/ a[0][rand()%80+1]=(rand()%10+48) ;}}

/*****************数字+字母模块******************/ void fu(){int a[25][80];

int i,l,j,m=0,n=0,t,t1,temp,c=0;

int sure,sure1=0,dif,N,NO;

do{

do

{system("cls");

printf("\n请选择难度等级:

困难:

1普通:

2

scanf("%d",&dif);

if(dif!=1&&dif!=2&&dif!=3)

{printf("\n指令有误,按任意键继续!");

getchar();}else

sure1=1;

}while (sure1!=1);

if(dif==1)

N=10;

if(dif==2)

N=500;

if(dif==3)

N=2000;简单:

3");

printf("\n请输入个数:

");

scanf("%d",&num);

switch (dif){case 1: printf("\n你选择了困难等级,%d个字进行练习。",num);break;

case 2: printf("\n你选择了普通等级,%d个字进行练习。",num);break;

case 3: printf("\n你选择了简单等级,%d个字进行练习。

",num);break;}printf("\n\n确定请按1,重新选择请按0

scanf("%d",&sure);

system("cls");

}while(sure!=1);

printf("\n\n\n\n\n\n\n\n\n\n

getch();/*头文件为#include */

system("cls");

for(i=0;i<25;i++)/*赋值为空格*/

for(j=0;j<80;j++)

a[i][j]=32;

system("cls");

srand((unsigned)time(NULL ));

NO=rand()%2;

switch(NO){case 0:a[0][rand()%80+1]=(rand()%26+65) ; break;

case 1:a[0][rand()%80+1]=(rand()%10+48) ; break;}for(t=0;t0;i--)

for(j=80;j>0;j--)

printf("%c",a[i][j]);

_sleep(N);/*时间延迟,用来控制难度*/

m=0;

while(m<=22){for(l=0;l<80;l++){temp=a[m+1][l];

a[m+1][l]=a[m][l];

a[m][l]=temp;}m++;}if (!kbhit())

printf("");

else {char c = getch();

for(i=0;i<25;i++)

for(j=0;j<80;j++)

if(c==27)

exit

(1);

else if (a[i][j]==c-32){a[i][j]=32;

putchar('\a');

k++;}}

system("cls");

/*以下是最后一个字母出现以后所执行的*/ if(t==num-1)

{for(t1=0;t1<23;t1++){for(i=24;i>0;i--)

for(j=80;j>0;j--)

printf("%c",a[i][j]);

_sleep(N); /*时间延迟,用来控制难度*/

m=0;

while(m<=22){for(l=0;l<80;l++){if(m

a[m][l]=32;

temp=a[m][l];

a[m][l]=a[m+1][l];

a[m+1][l]=temp;}m++;}if (!kbhit())

printf("");

}}}else {char c = getch();

for(i=0;i<25;i++)

for(j=0;j<80;j++)

if(c==27)

exit

(1);

else if (a[i][j]==c){a[i][j]=32;

putchar('\a');

k++;}else if (a[i][j]==c-32){a[i][j]=32;

putchar('\a');

k++;}}

system("cls");}/*以上是最后一个字母出现之后运行的*/ a[0][rand()%80+1]=(rand()%26+65) ;

c语言程序设计课程计算器设计报告

课程设计说明书 题目计算器程序设计 起讫日期 2006 年 7月 3日至 2006 年 8月 6日 所在院系软件学院 专业机械+软件班级 04-2 学生姓名偶偶哦学号 指导教师 2006年 8 月日

摘要 当今社会是信息社会,科技经济高速发展的社会!为了更方便人们的工作生活和加速人们处理信息的速度,计算器应运而生。由于它体积小巧,携带方便,价格便宜,构造简单等诸多的优点成为人们生活中的必备品! 随着科技的发展计算器的种类变得更多,功能变得更强大,体积变得更小!电脑的出现改变人们的生活习惯,很多事情都可以电脑来完成!电脑的更大一个优点就是可以通过软件的应用无限的延伸电脑功能的外延!下面我们将用我们学习的c语言编写一个简易的计算器程序!实现简单的初步的计算功能! 本程序的编写基础是Tubro 汉化版,它在tubro c的原有基础上实现了多汉字的支持方便了我们的使用。生成的程序可移植性强兼容性好稳定!现在只实现了加、减、乘、除、求幂、求模,求平方根,求Sin,求Cos,求Log10,以及一个时钟原代码。这个系统是基于软件发展的生命周期来研制的,它可以直接输入数学表达式,不需要任何转换,就可以直接输出数学四则运算的结果。但是,每次只能运算一个表达式。不能运算多个表达式。在程序里面在添加一组选择函数即可。本论文主要介绍了本课题的开发背景,开发的过程和所要完成的功能。重点的说明了系统设计思想,设计的步骤、难点技术和解决方案。 关键词:C语言 Tubro c 汉化版计算器时钟

目录 第一章综述 (1) 1.1 课题的现实意义 (1) 1.2 软件环境 (1) 1.3 硬件环境 (1) 第二章系统设计流程图 (2) 2.1 系统流程图 (2) 2.2 主要功能表 (2) 第三章系统分析和设计 (3) 3.1 图形的绘制和输出 (3) 3.2 文本的输出显示 (3) 3.3 计算函数的调用 (4) 3.4 程序的运行和退出 (5) 第四章系统测试 (6) 4.1 系统测试 (6) 4.2 调试 (6) 4.3 错误原因分析一 (6) 4.4 错误原因分析二 (6) 第五章用户使用说明书 (8)

汇编语言课程设计报告-打字练习程序

提供全套毕业设计,欢迎咨询 汇编语言课程设计报告 程序题目:打字练习程序 学生姓名:XX 班级:2010级计算机科学与技术专业4班学号:XXX 院系:计算机科学学院 指导教师:XXX

目录

1设计目的 本程序运行后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出。通过课程设计,主要达到以下目的: 1. 增进对汇编语言的认识,加强用汇编语言编程的能力; 2. 掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等; 3. 了解和掌握汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习打下良好基础; 4. 通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中; 5. 掌握屏幕输出显示的设计方法。 2概要设计 2.1 系统总体分析 根据题目要求可以看到有以下几部分来实现打字练习:1.由26字母乱序组成一行显示行。2.字母自动落下。3.从键盘输入的字母与落下字母相同则该字母消失,并且下一个字母自动接着落下。4.按下“Ese”键则程序返回到主界面。5.按空格键游戏暂停。6.在主界面按“E”则程序退出。打字练习的主要功能由以上六部分组成,每一部分之间的联系都是比较紧密的。对于以上及部分,最主要的部分就是第二三两个部分,这是打字练习的重点,需要详细设计其所需要的功能。 2.2主模块框图及说明

是 否 否 是 是 图2-1程序设计流程图 程序的核心模块是打字,各个模块功能的实现主要是通过键盘输入指令来融合的,主要流程是先到主界面,然后选择你想要进行的指令ENTER 进入打字界面开始打字,E退出程序,空格在打字练习时执行暂停的功能,ESC是从打字界面返回到主界面。核心模块的流程大体如下面的流程图图2-1: 3 详细设计 3.1 主模块及子模块说明 主界面是程序的初始入口,也是其他功能模块的接入点。主模块是打字模块,也是核心模块,主要通过各个键盘符来控制各个子模块之间的协调。子模块分为判断输入字符判断模块(这当中包含两个小的子模块:主界面输入字符判断和打字模块输入字符判断)、暂停模块、退出模块(这当中包含两个小的子模块:打字界面返回主界面模块和主界面退出程序模块)

C语言课程设计 简单计算器程序

课程设计名称:C语言课程设计课程设计题目:简单计算器程序

目录 第1章需求分析 (1) 1.1设计要求 (1) 1.2任务 (1) 第2章总体设计 (2) 2.1设计简介及设计方案论述 (2) 2.2功能模块层次图 (2) 第3章详细设计 (3) 3.3由(后缀)逆波兰表达式计算中缀表达式原理 (8) 3.3.1算法描述 (8) 第4章调试分析 (10) 4.1程序设计中所遇到的错误及犯错的原因 (10) 4.2错误的解决方法 (10) 第5章用户手册 (11) 总结 (15) 参考文献 (16) 附录(程序清单) (17)

第1章需求分析 1.1 设计要求 (1)用 C 语言数据结构实现程序设计; (2)利用结构体、栈、进行相关信息处理; (2)系统的各个功能模块要求用函数的形式实现; (4)界面简单,可操作性高。 1.2任务 (1)定义一个结构体类型数组,输入0~9 及+、--、*等符号的信息,将其信息存储起来; (2)输入简单的加减乘除算术计算式,并在屏幕上显示逆波兰(后缀式)表达式和计算结果; (3)编写代码; (4)程序分析与调试。 说明: 本课程设计将实现一个简单计算器。在功能上尽量模仿windows 的计算器。系统界面不做牵制要求。该程序能实现标准型中+、-、*、/、(、)、.、的混合运算表达式(一般意义上的中缀表达式),将其转换成逆序波兰表达式(后缀表达式)并计算输出结果。在进行运算后可以选择继续运算或者结束当前运算。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

第2章 总体设计 2.1设计简介及设计方案论述 逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相 关的两个运算对象之间,所以,这种表示法也称为中缀表达式。波兰逻辑学家 J.Lukasiewicz 于 1929 年提出了另一种表示表达式的方法。按此方法,每一运算符都置 于其运算对象之后,故称为后缀表达式。 后缀表达式的优点是显而易见的, 编译器在处理时候按照从左至右的顺序读取逆波 兰表达式,遇到运算对象直接压入堆栈,遇到运算符就从堆栈提取后进的两个对象进行计算,这个过程正好符合了计算机计算的原理。后缀表达式比前缀表达式更加易于转换,并且它的最左面一定为数字,这一点在实 际编程的时候就会体会到它的好处了。 逆波兰表达式有一个更大的优点,就是拆括号,根据运算符的级别将中缀表达式转 换成逆波兰表达式后,运算顺序就已经替代了运算符的级别,这样也避免了括号提高运 算级别的特殊处理。 2.2功能模块层次图 将算术表达式转化为逆波兰表达式 计算逆波兰表达式的值 简单计算器 表 达 式 格 式 转 换 系统 求 值 计 算 系 统

java课程设计报告--打字游戏

java课程设计报告--打字游戏 Java开发技术课程设计 (打字游戏) 学院:计算机与信息工程学院 学号:****** 姓名: ** 时间:2011年12月14日 一、程序描述 1.1程序设计的目的 通过java开发技术课程的学习,我初步了解了如何运用java语言编写程序。课程结束后,按老师的要求,在查找资料后,我完成了打字练习这个程序。 在这个过程中,主要达到了两个目的,一是检验和巩固专业知识,二是提高综合 课堂上掌握的理论知识与处理数据的素质和能力。通过该程序的编写,可以将我 业务相结合,以检验我掌握知识的宽度、深度及对知识的综合运用能力。 1.2程序设计的要求 (1)程序的界面会随机的出现字母和数字,玩家在键盘上摁相应的键后,界面上的对应的字符就会消失 (2)字符下落的速度可以选择,完成一定量的字符后,显示进入下一关,下一关的速度加快 (3)能统计正确与错误的字符数分别是多少

(4)程序的主界面是能够给玩家第一感官的部分,主要包括程序图形区域界面、程序的显示更新界面。 1.3程序设计的环境 Windows xp操作系统、Myeclipse编辑工具、jdk1.6 二、分析与设计 2.1 游戏处理流程 本次游戏设计的处理流程如下图所示 进入游戏画面 单击“开始”按钮, 游戏开始,字符开始随机。 根据出现的字符按相应的 键,对应一个消失一个(字 符)按对一定字符后将提示 进入下一关,下一关的速度 有所增加。速度也可单独调 节。 没有摁倒相应游戏中途欲中 的键,错误的断,稍后继续 数字将加一游戏 单击“退出” 单击“暂停” 退出游戏游戏暂停 再次单击开始 游戏,游戏恢复 游戏处理流程图 2.2需求分析

C语言简易计算器的实现

目录 一.课程设计目的 (1) 二.设计环境 (1) 三.设计内容 (1) 四.设计说明 (2) 五.设计程序流程图 (2) 六.调试 (4) (1)错误原因分析一 (4) (2)语法错误 (5) (3)逻辑错误 (5) 七. 调试结果图 (6) 八. 结论与心得体会 (7) 九.附录 (8) 具体代码实现 (8) 十.参考文献 (18)

一.课程设计目的 1.通过一个学期的学习,我认为要学号C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践来巩固我 们的知识,特别是学计算机专业的,我们更应该注重这一环节, 只有这样我们才能成为一个合格的计算机人才。通过这一个课程 设计,进一步来巩固所学的语句,如:循环,和分支结构的运用。还要熟悉四则运算和函数的算法。 2.通过这次课程设计扩展自己的知识面,课本上的东西是远 远不够的,可以通过上网或去图书馆查资料等方式得到一些新的 知识, 3.通过课程设计,加深对课程化设计思想的理解,能进行一 个系统功能分析,并设计一个合理的模块化结构,提高程序开发 能力。 二.设计环境 1.硬件:一台完整的电脑,包括键盘、鼠标,最小硬盘空间1GHz 2.软件:安装有Microsoft visual c++6.0 三.设计内容 以简易计算器为例,通过对简单应用软件计算器的设计,编制、调试,实现

简单的加,减,乘,除等运算,以学习应用MFC库类编写对话框的原理,加深对C++类的学习及应用。 (1)定义一个结构体类型数组,输入0~9及+、--、*等符号的信息,将其信息存入文件中; (2)输入简单的加减乘除算术计算式,并在屏幕上显示计算结果; (3)画出部分模块的流程图; (4)编写代码; (5)程序分析与调试。 四.设计说明 1)包含的功能有:加、减、乘、除运算,开方、平方等功能。 (2)计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。 (3)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。 (4)计算功能基本上是用系统内部函数。 (5)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。 (6)“CE”按钮可以清除所有已输入的数据从头计算 五.设计程序流程图

打字训练测试软件_Java课程设计报告书

word格式文档 《程序设计实践》题目:打字训练测试软件 学校:陕西工业学院 学院:信息学院 班级:信管12-2 学号:201213156619 姓名:刘克豪 2014 年11 月09 日

基础类、IO流与异常处理程序设计 一、实践要求 1.掌握Java常用基础类API。 2.掌握输入输出流常用类API。 二、实践要求 利用Java常用基础类API、输入输出流常用类API、Java异常处理等完成所选项目的程序设计。 三、项目需求 所选项目名称:打字训练测试软件 四、项目设计方案 EnglishGame类:主要构造都在这里完成。 MyKey类:是该程序的一个内部类。 EnglishGame作为主函数的入口。调用actionPerformed类的方法实现事件监听器。当发生点击事件时就会弹出输入框,开始英文打字功能。从而达到打字训练测试的目的。 五、核心算法详细设计 1 . public void actionPerformed(ActionEvent e) {} 2.public void keyReleased(KeyEvent arg0) {} 3.public static void main(String[] args) {}

4. public JPanel creatMenu() {} 六、完整源码 package shiyansan; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.io.FileReader; import java.util.Date; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextPane; import javax.swing.SwingUtilities; //所使用的包 public class EnglishGame implements ActionListener { private static JFrame f = new JFrame("英文打字游戏"); private static Container con = f.getContentPane(); JPanel mainPanel,panel0,panel1,panel2,panel3,panel4,panel5,panel6,panel7; JButton button1,button2,button3,button4,button,button5,button6; JTextPane tp1,tp2;

C语言实现计算器功能

实验一多功能计算器 一、问题描述 设计一个多功能计算器,可以完成基本的计算。 设计要求: 1、具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。结果可以作为下一个运算的第一运算数。按‘C’清屏,按‘R’返回菜单。 例如:输入:2 + 5 输出:7 2、实现单运算符表达式计算的功能。输入的操作数可以包含整数或浮点数。输入表达式如下: 例如:输入:2+5 输出:7 二、算法说明 1.数据结构说明(可以图示说明,也可以文字说明) 本程序主要根据选择菜单编写了六个自定义函数,用于在main()函数中调用,在main()中,用一个字符变量num1来记录下菜单选项的标号,根据num1的值来决定调用哪个函数。 程序要完成的功能及所要用到的函数如下:

下面就是整个程序的流程图:

2.算法说明(即函数说明) void suanshuyunsuan() //做算术运算时调用的函数 void suanshuyunsuan2() //选择继续做算术运算调用的函数,将上次运算的结果做为下次算术运算的第一个操作数//判断算术运算就是否继续 void panduan() //判断算术运算就是否继续 void biaodashiyunsuan() //单运算符表达式实现函数 void qingping() //清除屏幕 void fanhuicaidan() //显示菜单 三、测试结果(这部分需文字与图示结合) 1.第一组测试用例 (1)测试输入: 测试目的:测试算术运算的功能 结果输出:

(2)再一次输入:1测试目的:测试算术运算就是否能继续 结果输出: (3)这时输入:0 测试目的:退出算术运算 结果输出:

C语言打字练习程序课程设计报告

青岛理工大学 《C语言程序设计》 题目打字练习程序 指导教师:李兰老师 姓名: 学号:2011 班级: 专业:计算机科学 地点:现代教育中心机房201 时间:2012.6.26 至2012.6.29

一、内容 本程序主要实现的是对使用者的打字速度进行练习和提高。因为界面友好亲和,因此能让使用者在轻松愉快中练习并快速提高自己的打字速度和准确性。程序主要的功能有记录使用者在本次使用中的击中数和总下落字母的个数之比。并且游戏设置了九个等级,随着数字的增加,等级越高,字母下落的速度逐步提高,这样能够更好的迎合不同水平的用户需求。使用本程序很简单,因为在写代码时,我很注重的是界面的友好,所以,在用户的每次操作前,界面上都有详细的操作提醒,只要跟着提示输入就能很快速地进入并开始练习。 二、上机环境 操作系统:windows XP(win7兼容) 开发工具:VC6.0 三、函数调用关系图 void main( ) start( ) printfScreen( ) levelChoice( ) newWord ( ) moving( ) wordHit( ) result( ) leave( )

四、各函数功能说明 1、void main( ) 主函数 2、void printScreen( ) 刷新屏幕函数 3、int levelChoice( ) 游戏等级选择函数 4、int newWord( ) 生成新字符函数 5、int moving( ) 字符下降函数 6、int wordHit( ) 击中字符函数 7、int result ( ) 结果输出函数 8、int start( ) 程序开始提示操作 9、void leave( ) 函数结束

大学计算机c语言计算器源代码

C++语言编写。。 #include #include #include using namespace std; const double pi = 3.14159265; const double e = 2.718281828459; const int SIZE = 1000; typedef struct node//为了处理符号而建立的链表(如: 1+(-2)) { char data; node *next; }node; typedef struct stack_num//存储数的栈 { double *top; double *base; }stack_num; typedef struct stack_char//存储运算符号的栈 { char *top;

char *base; }stack_char; stack_num S_num;//定义 stack_char S_char;//定义 char fu[18] = {'\n', ')', '+', '-', '*', '/', '%', '^', 'Q', 'L', 'C', 'S', 'T', 'c', 's', 't', '('}; int compare[1000];//表现出各运算符号的优先级 double shu[1000];//存储"数"的数组 double dai_result;//运算的结果,是为了处理M运算(简介函数里有M的定义) int biao = 0;//和dia_result一样,为了处理M运算 char line[SIZE];//输入的所要计算的表达式 void init()//初始化 { compare[fu[0]] = -2;//用数字的大小表现出符号的优先级 compare[fu[1]] = -1; compare[fu[2]] = 2; compare[fu[3]] = 2; compare[fu[4]] = 4; compare[fu[5]] = 4; compare[fu[6]] = 4;

计算机技术基础(c语言)课程设计 简单的打字游戏

计算机技术基础(C程序) 课程设计报告 一.题目:简单打字游戏 二、选题背景: 在全球信息化高度发展的今天,计算机技术是现代人必须掌握的基本技术。而一手精湛的打字技术更是我们自动化人所必备的资本。本c语言程序的开发为广大计算机使用者提供了一个很好的平台。 三、设计思想: 本程序主要应用了e l s e…i f语句、g o t o语句等函数。建立打字练习的程序。通过使用积分的方式,给使用者以直观的视觉冲击。激励使用者的练习兴趣。

三、程序流程图:

四:程序清单 #include "conio.h" #include "stdlib.h" #include "graphics.h" main() {char a[36]; int i,j,x,key,t,score=0; int gd=DETECT,gr; initgraph(&gd,&gr,""); cleardevice(); for(i=0;i<10;i++) a[i]=48+i; for(i=10;i<36;i++) a[i]=55+i; a[i]=0; for(i=1;i<81;i++) { gotoxy(i,3); printf("%c",220); gotoxy(i,18); printf("%c",220); } gotoxy(5,1); printf("score:"); settextstyle(1,0,8); outtextxy(100,350,"TYPE GAME"); sleep(2); randomize(); for(;;) { gotoxy(12,1); printf(" "); gotoxy(12,1);

C语言制作简单计算器

C语言制作简单计算器 一、项目介绍 我们要用c语言做一个简单的计算器,进行加、减、乘、除操作。本程序涉及的所有数学知识都很简单,但输入过程会增加复杂性。我们需要检查输入,确保用户没有要求计算机完成不可能的任务。还必须允许用户一次输入一个计算式,例如:32.4+32 或者9*3.2 项目效果图 编写这个程序的步骤如下: ?获得用户要求计算机执行计算所需的输入。 ?检查输入,确保输入可以理解。 ?执行计算。 ?显示结果。 三、解决方案 1.步骤1

获得用户输入是很简单的,可以使用printf()和scanf()。下面是读取用户输入的程序代码: #includeint main(){ double number1=0.0; //定义第一个操作值 double number2=0.0; //定义第二个操作值 char operation=0; //operation必须是'+''-''*''/'或'%' printf("\nEnter the calculation\n"); scanf("%lf%c%lf",&number1,&operation,&number2); return0; } 2.步骤2 接着,检查输入是否正确。最明显的检查是要执行的操作是否有效。有效的操作有+、-、*、/和%,所以需要检查输入的操作是否是其中的一个。 还需要检查第二个数字,如果操作是/或者%,第二个数字就不能是0。如果右操作数是0,这些操作就是无效的。这些操作都可以用if语句来完成,switch语句则为此提供了一种更好的方式,因此它比一系列if语句更容易理解。 switch(operation) { case'+': printf("=%lf\n",number1+number2); break; case'-': printf("=%lf\n",number1-number2); break; case'*': printf("=%lf\n",number1*number2); break; case'/': if(number2==0) printf("\n\n\aDavision by zero error!\n"); else printf("=%lf\n",number1/number2); break;

C#打字游戏课程设计

C# 打字游戏程序核心代码主要部分: 设计程序流程图:

主窗体代码: using System; using System.Collections.Generic; using https://www.doczj.com/doc/e96258344.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; //课程名称 C# 程序设计实践 //设计题目打字游戏 //专业计算机科学与技术 //班级 //学号 //姓名 //指导老师 namespace Typing_Game { public partial class FrmTyping : Form { public FrmTyping() { InitializeComponent();

public int right = 0; //正确个数计数 public int wrong = 0; //错误个数计数 public int sum = 0; //总个数技术 public int count = 0; //按键总次数 public float accuracy; //正确率 public int Minute = 1; //设置默认没局游戏时间 public int minute; //设置游戏中的倒计时分 public int second; //设置游戏中的倒计时秒 private void FrmTyping_Load(object sender, EventArgs e) { } //在状态栏中显示当前系统时间 private void timerSys_Tick(object sender, EventArgs e) { DateTime now = DateTime.Now; this.tsslSysTime.Text = "系统时间: " + now.Hour.ToString() + ":" + now.Minute.ToString() + ":" + now.Second.ToString()+'\t'; } //开始&结束按钮 private void tsmiStratOrOver_Click(object sender, EventArgs e) { if (tsmiStratOrOver.Text == "开始") { tsmiStratOrOver.Text = "结束"; timerWord.Start(); timerGame.Start(); timerGT.Start(); //在游戏开始时暂停&继续按钮可用 tsmiPauseOrContinue.Enabled = true; //在游戏未开始时选择游戏等级与设置游戏按钮无效 tsmiLevel.Enabled = false; tsmiOption.Enabled = false; //游戏开始初始化游戏数据 right = 0; wrong = 0;

C语言课程设计--计算器(图形界面)

扬州大 学 题目一个简易计算器的设计与实现 班级 学号 姓名 指导教师 成绩 老师评语: 扬州大学信息工程学院 2010 年6 月25

目录 一、程序设计目的: (1) 二、程序设计内容: (1) 三、课程设计所补充的内容:补充的函数或算法…………3,4 四、系统总体设计 (4) 五、系统详细设计………………………………………5,6,7,8 六、运行结果………………………………………………8,9,10 七、系统调试…………………………………………8,9,10,11 八、课程设计体会总结………………………………8,9,10,11

1 课程设计目的 (1).课程设计是一项综合性实践环节,是对平时实验的一个补充,课程设计内容包括课程的主要理论知识,但由于C语言对初学者较难掌握,因而对一个完整的C语言程序不适合平时实验。通过课程设计可以达到综合设计C语言程序的目的。 (2)通过本课程设计,可以培养独立思考,综合运用所学有关相应知识的能力,能更好地使用C语言的知识,更好地了解C语言的好处和其可用性!掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础! (3)通过本程序训练程序设计的基本技能,掌握字符串的表示方法和字符串函数的功能、自学掌握四则运算的算法及WIN-TC的图形操作的基本知识、键盘上特殊键的获取及图形方式下光标的显示。 2 课程设计内容 目的:本课程的课程设计要求学生模拟实现一个简单计算器,要求(1)能够实现四则运算,并能支持优先级运算。(2)三角与反三角运算:如sinx,cosx等。(3)指数对数运算:如log(x),lnx,e的x次方等。(4)其他运算:如X!,x 的累加等。(4)不允许调用库函数,使用自行开发的程序实现常用函数运算。(5)进一步考虑计算器外观设计,用可视化界面给出计算器外观、功能按键及输入界面。 使用说明:执行加法运算,'—'表示执行减法运算,表示执行乘法运算,'/'表示除法运算.‘Q’表示退出计算器‘C’表示清零,’=’表示得出结果'^'表示执行x的y次方,'e'表示执行e的x次方操作,'&'表示执行累加操作.,你可以可以用键盘上的上下左右键对光标进行移动,当光标移动到计算器按键上时,按ENTER即可执行该键的操作!最后按“=”则可得出结果。 3 课题设计的补充知识 本程序通过int specialkey(void)和#include来实现对屏幕的操作,通过调用int arrow()函数,int specialkey(void)和#include来实现对光标的操作。计算机图形采用Turbo C 2.0绘图程序制作。因此涉及C的图形程序设计知识。此外,由于不允许调用库函数,则要自行开发程序实现sinx,cosx,e的x次方函数运算,则可以根据幂级数的展开式来设计实现其运算的算法,而x的阶乘和x的累加则可用for语句来实现。 最后,不得不说说四则运算的算法,有两种方法可以实现:(1)利用堆栈实现四则运算(2)还可以用递归整数的四则运算。 sinx函数 #include

(完整word版)C语言简易计算器课程设计.doc

C语言课程设计报告书题目:简易计算器 院系: 班级: 学号: 姓名:

摘要 该软件为用户提供在windows 系统上的简易计算器,能进行简单的加、减、 乘、除四则运算与混合运算。目的是为了巩固和加深 C 语言课程的基本知识的理 解和掌握,利用 C语言进行基本的软件设计,掌握 C 语言的编程和程序调试 的基本技能,掌握书写程序设计说明文档的能力,提高运用 C 语言解决实际问 题的能力。 关键词: C; 简易计算器 ; 程序 ; 基本算法;混合运算 SUMMARY the software provides a simple calculator in Windows system for users ,can be a simple add,subtract,multiply,divide.The purpose is to consolidate and deepen the basic knowledge of C language courses to understand and master, The use of C language for software design basic, To master the basic skills of C language programming and program debugging, Master the writing program design documentation ability,improve the ability to use C language to solve practical problems.

Java课程设计打字游戏

中南大学 Java课程设计报告题目打字游戏 学生姓名窦立阳 指导教师陈丽萍 学院信息科学与工程学院 专业班级计科1204 完成时间 2015年1月15日 目录 第二章总体设计 界面设计 (4) 运行流程 (4) 逻辑设计 (4) 积分设计 (4) 第三章详细设计 主面板 (5) 两个按键 (5) 相关全局变量 (5) 全局变量说明 (5) 相关全局函数 (7) 字符下落模块 (7) WordLabel (7) WordFallControl (8) WordFallLabel (8) 速度控制模块 (8) 按键模块设计 (8) 键盘监听事件 (9) 积分模块设计 (9) 事件模块设计 (10) 第四章调试分析 第一次调试 (11) 第二次调试 (11) 第三次调试 (12) 第五章运行结果 (13)

第六章课程设计总结 (17) 第七章参考文献 (19) 第八章附录:带注释的源代码 Wordfall (20) WordFallControl类 (20) WordLabel类 (22) WordFallLabel类 (23) ScoreLabel类 (24) StartButton类 (25) TimeLabel类 (26) AAAAA类:程序的主函数入口 (28) Maintain类 (30) 第一章实验要求 【问题描述】设计实现一个打字游戏,界面参见图2-2,具备如下功能: ●点击“开始”按钮,产生随机字符从屏幕上方下落; ●点击键盘上按钮,如果正确,当前的字符消失,产生新的按钮从上方继续落下。 ●提供速度调整和积分功能。 图2-2 打字游戏界面 第二章总体设计 界面设计 根据实验要求中的图2-2,在主面板中, 有一个模块控制各个字符的生成并且控制他们的自动下落,并在正确触发时,字符不可见; “开始”和“结束”,用于字符下落的开始和结束; 运行流程 程序启动,程序等待按键“开始”的事件的触发; 当“开始”键触发后,负责字符下落的模块,将持续产生字符,并使其下落; 键盘开始被监听,从键盘的按键触发,向程序返回值; 积分模块开始工作,将字符下落模块的字符和键盘事件返回的值进行比较,得出积分,并且将积分值显示在面板上; 如果点击“停止”按键,所有模块停止工作,等待程序关闭,或者等待“开始” 逻辑设计 字符不断产生并且下降,需要一个线程控制产生字符,然后还应该有一个线程对面一个字符,控制其下落。 键盘被按下后,立刻会有值返回到程序中,积分模块会每隔一段时间将,键盘事件返回的值,和当前需要按下的值进行比较。 积分说明 当开始产生字符后,会有很多字符都是可输入的,但是当前可输入的字符只有一

C语言_程序设计_计算器

C语言_程序设计_计算器 课程设计说明书 题目多功能计算器起讫日期 2006 年 7月 3日至 2006 年 8月 6日 所在院系 专业班级 学生姓名学号 指导教师 2006年 8 月 1 日 摘要 当今社会,随着人们物质生活的不断提高,电子产品已经走进家家户户,无论是生活和学习还是娱乐和消遣几乎样样都离不开电子产品,计算器可谓是我们最亲密的电子伙伴之一。 随着科技的发展,人们对计算要求的精确度越来越高,各种不同功能的计算器已经悄悄走进我们的生活和学习中。对于学生来说一个功能齐全的计算器对我们的学习有着莫大的帮助。借着C语言程序设计的机会,我决定自己动手来研究一下计算器。在练习巩固C语言学习的同时又可以从中体会到计算器的强大功能,然而由于学习的内容和时间有限,至今为止我只能实现四则运算加、减、乘、除、平方、立方和开方的一些简单功能,并且在计算器的里面加了一个漂亮的时钟,用来方便我们的学习。在今后的学习中,我会继续研究,争取进一步来完善它的功能。 本系统采用Turbo C语言开发,生成可执行文件在任何系统下都可以执行,具有很好的数据处理能力和稳定性。本论文主要介绍了该课题的开发背景以及过程和

所要完成的功能。并且重点的说明了系统设计思想,设计的步骤、难点技术和解决方案。由于“初来乍到”,这个程序设计还有一些漏洞和缺陷,希望您多多提出~关键字:Turbo c c语言计算器程序四则数值运算 目录 第一章综述...........................................................................1 1(1 课题的现实意义...............................................................1 1(2 软件环境........................................................................1 1(3 硬件环境 (1) 第二章系统设计流程图............................................................2 2(1 系统流程图.....................................................................2 2(2 主要功能表.....................................................................2 第三章系统分析和设计............................................................3 3(1 图形的绘制和输出............................................................3 3(2 文本的输出显示...............................................................3 3(3 计算函数的调用...............................................................4 3(4 程序的运行和退出 (5) 第四章系统测试.....................................................................6 4(1 缺少变量定义,定义位置不正确..........................................6 4(2 语法错误........................................................................6 4(3 注释的位置.....................................................................6 4(4 逻辑错误 (6) 第五章用户使用说明书……………………………………………………8 5(1 运行Turbo C程序进入计算器界面…………………………………8 5(2 计算器的使

打字游戏毕业论文

打字游戏毕业论文 打字游戏设计摘要:本文的主题是设计打字游戏,是在 VB 的环境下编程的。在户联网飞速发展的今天,电脑成了每家每户的多需要的平台,打字的速度也是人们所追求的。本文主要设计的是对键盘的熟悉程度,用户可以根据对键盘的认识程度选择相应的级别来完成打字测试。用户完成打字测试,可以进入一个测试结果窗体,这个窗体清楚的显示出用户击中字符的个数和没有击中的数目。用户通过这个窗体可以更好的认识到自己对键盘上的字符还有哪些不熟识的。关键词:打字游戏 ;测试;设计;引言随着科学技术的不断提高,计算机科学日渐成熟,计算机已经深入到工作和生活的各个角落,文字录入是学习计算机非常重要的一部分。在手写录入技术和语音识别技术还不完善的同时大部分人还在使用键盘作为文字录入的工具。所以我编了这个程序,也是我的毕业设计,希望能对电脑处学者和想提高打字速度的朋友有所帮助。1 设计思路在打字之前,由用户选择所需要的打字级别,该系统设置是通过一组单选按钮来实现的。本系统的关键在于如何实现打字练习。首先,应使字符以随机方式出现在窗体中,并不断下落,其中字符的出现方式与用户的具体设置相关。本系统中采用了命令按钮来表示不同的随机字符,该数组的每个元素为一个命 1 令按钮,用来显示一个字符。为了使不同的字符多能在窗体的顶端位置出现并下落,可在设计时设置各命令按钮的具体位置多在窗体的顶端。而实现出现字符的随机出现方式,应在命令按钮的 caption 属性中使用随机函数,使之代表不同的字符。字符的自动下落过程由定时器 Timer1,Timer6 控制命令按钮,下落速度取决于用户设置的练习速度。用户在不断按键的时候,会引起 Keypress 事件,在该事件中可判断用户的输入是否和当前命令按钮数组中某个元素的 Caption 属性值性质相同,即判断是否击中了出现在窗体中的某个字符。如果击中,则使用 Move 方法把图片 Image1 移动到被击中字符的位置出

用C语言编写简易计算器

供应链管理 用C语言设计简易计算器 班级:工业工程1103班 姓名: 2014/5/6

一、设计内容 我设计的是一款简易计算器,界面清楚,操作方便,它能实现以下功能:1.以界面形式给出计算器功能 2.简单的四则混合运算(支持小括号、优先级) 3.弦、余弦函数计算 4.指数、对数的运算 二、总体设计 简单计算器由五大模块组成,模块设计如下: 模块调用图 1.主函数 void main() 功能:调用各个主要模块,实现简单计算器的整体功能。2. 主界面函数void JieMian() 功能:使用有关图形函数模拟出可视化的计算器外观界面,并提供用户输入窗口。 3.四则混合运算函数void SiZeHunHeYunSuan() 功能:实现简单的加减乘除混合运算,并支持优先级和带括号的运算。 4.三角运算函数void SanJiaoYunSuan() 功能:实现基本的三角函数运算:sin(x)和cos(x)。 5.指对数函数void ZhiDuiShuYunSuan() 功能:实现基本的指数和对数运算。

三、采取的解决措施: 1.去图书馆借相关图书,上网查资料,通过自己的阅读,研究,不断的尝试,运行,修改,最终做出了简单的界面,但仍存在很多不足的地方,只能模拟出大体的外观,没能模拟出计算器中的各个键。 2.查在界面显示的函数原型,对比自己的程序,不断修改,对比,调试,检查,反思,最后发现是语句顺序错误,显示写在了判断的后面,修改成功。 3.在编写ln函数的时候,遇到很大困难,最后通过查阅资料,向别人请教编写出了函数。 四、详细代码: #include #include #include void main () { int i,flag; printf("*****欢迎使用简单计算器*******\n"); printf(" 1.加法运算\n"); printf(" 2.减法运算\n"); printf(" 3.乘法运算\n"); printf(" 4.除法运算\n"); printf(" 5.开方运算\n"); printf(" 6.平方运算\n"); printf(" 7.立方运算\n"); printf(" 8.正弦运算\n"); printf(" 9.余弦运算\n"); printf(" 10.正切运算\n"); printf(" 11.余切运算\n"); printf(" 12.平均值方差标准差运算\n"); printf("请输入i的值:\n"); scanf("%d",&i); switch(i) { case 1:flag=1;break; case 2:flag=2;break; case 3:flag=3;break; case 4:flag=4;break; case 5:flag=5;break; case 6:flag=6;break; case 7:flag=7;break; case 8:flag=8;break;

相关主题
文本预览
相关文档 最新文档