举的拼音-方形的英文
计算机技术基础课程设计
C语言设计报告
题目: 二十六个英语字母的练习
学院: 机电工程学院
专业: 工业工程
姓名: 李敏
指导老师: 顾煜新
设计日期: 2007年1月9号
一: 选题背景
根据我们所学的C语言程序设计的知识和网上自学的知识,利
用C语言编译程序来实
现英语字母的练习,从而使小学生熟练掌握
英语26个字母,并且使自己熟练了键盘的键位,设计过程中
,丰富
了我们的业余生活,且练习了打字的速度,下面就是借鉴网上且自己
修改了的用C语言编
译的练习二十六个字母打字的程序。
二: 设计思想
练习前先给屏幕一种底蓝色和告诉你马上就要进入练习,当你按
了任意键后,进入正式练习。
首先在屏幕上方记录你按键的次数和正确的次数及错误的次数。
下方是系统随机给的英文字母如
果你按的键和给的字母一样的话,进
入下个字母,当你按错了键的时候,主机发出“滴”的响声提示你按
错了,重新输入字母,一行完后,自动进入下一行。当你需要离开的
时候,按Esc键,退出,
并且告诉你的成绩好坏,
三:
程序流程图
开始main
定义Char ch int i=0
调用InitTextMode
函数
调用ShowSplash
函数
调用DrawFrame
调用ShowSplash
调用gotoxy
四:程序清单
#include
#include
#include
#include
#define
BGCOLOR BLUE
#define FORECOLOR GREEN
#define PERFE RED
#define WIDTH 80
#define HEIGHT 25
int Row=0;
int
Corrects=0;
int Hits=0;
int Errors=0;
char SrcList[2*WIDTH]={'0'};
void
InitTextMode()
{
textmode(2);*将屏幕设置成文本模式*
textbackground(PERFE);*选择新的文本背景颜色*
textcolor(FORECOLOR);*在文本模式中选择新的字符颜色*
}
void DrawFrame()
{
textmode(2);*将屏幕设置成文本模式*
window(1,1,80,3);*定义活动文本模式窗口*
textbackground(FORECOLOR);*选择新的文本背景颜色*
textcolor(BGCOLOR);*在文本模式中选择新的字符颜色*
clrscr();*清除文本模式窗口*
printf(
window(1,4,80,25);*定义活动文本模式窗口*
textcolor(FORECOLOR);*在文本模式中选择新的字符颜色*
textbackground(BGCOLOR);*选择新的文本背景颜色*
clrscr();*清除文本模式窗口*
}
void
ShowSplash()
{
clrscr();*清除文本模式窗口*
gotoxy(30,11);*在文本窗口中设置光标*
printf(
gotoxy(30,13);
printf(
gotoxy(50,15);*在文本窗口中设置光标*
printf(
getch();
clrscr();*清除文本模式窗口*
}
void ShowSplash1()
{
clrscr();
gotoxy(30,11);
printf(
gotoxy(50,13);
printf(
gotoxy(50,15);
printf(
getch();
clrscr();
}
void ShowSplash2()
{
clrscr();
gotoxy(30,11);
printf(
gotoxy(50,13);
printf(
gotoxy(50,15);
printf(
getch();
clrscr();
}
void
ShowSample()
{
int i;
srand(time(0));*初始化随机数发生器*
for(i=0;i
SrcList[i]=rand()%26+'A';
SrcList[i+1]=' ';
}
gotoxy(1,Row*3+1);*在文本窗口中设置光标*
printf(
}
void UpdateResult()
{
window(1,1,80,3);*定义活动文本模式窗口*
textbackground(FORECOLOR);*选择新的文本背景颜色*
textcolor(BGCOLOR);*在文本模式中选择新的字符颜色*
clrscr();*清除文本模式窗口*
printf(
window(1,4,80,25);
}
void Music()
{
unsigned
FREQUENCY[]={392,392,440,392,523,494,
392,392,440,392,587,523,
392,392,784,659,523,494,440,
698,698,659,523,587,523};
unsigned
DELAY[]={375,125,500,500,500,1000,
375,125,500,500,500,1000,
375,125,500,500,500,500,1000,
375,125,500,500,500,1000};
int CIRCLE;
for(CIRCLE=0;CIRCLE<25;CIRCLE++)
{
sound(FREQUENCY[CIRCLE]);
delay(DELAY[CIRCLE]);
nosound();
}
}
main()
{
char ch;
int
i=0,j;
InitTextMode();
ShowSplash();
DrawFrame();
ShowSample();
while(1)
{
ch=getch();
if(ch==27)
{
j=(float)CorrectsHits
if(j>=2.03)
{
ShowSplash1();
Music();
}
else
ShowSplash2();
exit(0);
}
if(ch>='a'&&ch<='z')
ch-=32;
if(!(ch>='A'&&ch<='Z'))
continue;
Hits++;
if(ch==SrcList[i])
{
printf(
i+=2;
Corrects++;
if(i>=80)
{
Row++;
if(Row>=7)
Row=0;
ShowSample();
i=0;
}
UpdateResult();
}
else
{
sound(2000);*以指定频率打开PC扬声器*
delay(50000);*将程序的执行暂停一段时间(毫秒)*
nosound();*关闭PC扬声器*
Errors++;
UpdateResult();
}
gotoxy(i+1,3*Row+2);
}
}
五 主要解决问题的方法及技术关键
1
主要问题及解决方法:
用conio.h中的textmode函数将文本设置成文本模式
,再用
textbacdground选择新的文本背景颜色textcolor在文本模式中选
择新的字符颜色使进入不同的界面,再利用clrscr函数清除文本
模式,用gotoxy函数设置
光标,告诉进入的是什么程序。
进入正式的程序后,在上面四行,记录打对打错的数目和总数目,时时更新,用随机函数srand和rand给出应该打的字母,
当你答对的时候进入下一个字母,错误的时候发出“滴”的警告,
用dos.h中的sound delay 和nosound函数实现。
当你按了Esc键退出测试,并且告诉你的成绩的好坏。
2.技术关键:
1、delay()的暂停、延迟功能,来达到控制速度的目的。
2、Hits,Corrects,Errors来记录对错。
3、Exit关闭函数。
六 设计结果说明
优点:
1、
用Hits,等字母更新你输入的对错和总和。
2、
用成绩好坏和音乐实现对你的激励。
3、 色彩艳丽,有一种感官的刺激。
缺点:
1、 无法实现具体的成绩好坏和人家具体比拼。
2、
没有大小写的切换,实践的作用不大。
3、 没有使计时系统,不方便与别人比较成绩。
4、 程序较简单,很多细节都没有。
薛宝钗人物赏析-迷惑的近义词
樛怎么读-倘怎么读
joyful-坐的英语
西安英语翻译-不大不小
涂颜色-赤霄剑
tongue怎么读-四氯化碳灭火器
park什么意思-solved
恐怖的拼音-驱使
-
上一篇:26个字母形象记忆
下一篇:26个英文字母大小写图片