计算机技术基础课程设计 C 语言设计报告

目:
二十六个英语字母的练习
学 专
院: 业:
班 姓
级: 名:
设计日期: 设计日期:
一、选题背景
根据我们所学的知识和网上自学的知识,利用 C 语言编译程序来实现英语 字母的练习,从而使小学生熟练掌握英语 26 个字母,并且使自己熟练了键盘, 丰富了我们的业余生活,且练习了打字的速度,下面就是借鉴网上且自己修改了 的用 C 语言编译的练习二十六个字母的程序。
二、设计思想
练习前先给屏幕一种底蓝色和告诉你马上就要进入练习,当你按了任意键 后,进入练习。 首先在屏幕上方记录你按键的次数和正确的次数及错误的次数。 下方是系统 随机给的英文字母如果你按的键和给的字母一样的话,进入下个字母,当你按错 了键的时候,主机发出“滴“的响声提示你按错了,重新输入字母,一行完后, 进入下一行。当你需要离开的时候,按 Esc 键,退出,并且告诉你的成绩好坏。
三、主要解决问题的方法及技术关键

  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 关闭函数。
四、程序流程
开始 main
定义 Char ch, int i=0,j
调用 InitTextMode 函数
调用 ShowSplash 函数
调用 DrawFrame
调用 ShowSplash
while
音乐和赞扬 条件 1
鼓励后结束程序 结束程序
调用 UpdateResult J 的判断 输入字符
是否是’27’ I=0 yes
yes
求出 j 的值
调用 ShowSample
no
是否为 a 和 z 之间 Row=0 yes no no Row 是否大 于等于 7 是否为 A 和 Z 之间
yes
本字符减去 32
Row 自增 1 no no yes Hits++ I 是否大于 80
Corrects++
和 Ch 是否相 等 yes no
I 自增 2
打出 ch
调用 sound
调用 delay
调用 nosound
Error++
调用 UpdateResult
调用 gotoxy
五、程序清单
#include "stdio.h" #include "time.h" #include "conio.h" #include "dos.h" #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; int CIRCLE; 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("\nHits: %d\tCorrects: %d\tErrors: %d",Hits,Corrects,Errors); window(1,4,80,
  25);/*定义活动文本模式窗口*/ textcolor(FORECOLOR);/*在文本模式中选择新的字符颜色*/ textbackground(BGCOLOR);/*选择新的文本背景颜色*/ clrscr();/*清除文本模式窗口*/ } void ShowSplash() { clrscr();/*清除文本模式窗口*/ gotoxy(30,
  11);/*在文本窗口中设置光标*/ printf("Welcome To Use This Software!");
gotoxy(50,
  13);/*在文本窗口中设置光标*/ printf("zhao ying."); getch(); clrscr();/*清除文本模式窗口*/ } void ShowSplash1() { clrscr(); gotoxy(30,
  11); printf("Thank you for you Use This Software!"); gotoxy(50,
  13); printf("you are a good player!!!"); getch(); clrscr(); } void ShowSplash2() { clrscr(); gotoxy(30,
  11); printf("Thank you for you Use This Software!"); gotoxy(50,
  13); printf("work hard for the next time!"); getch(); clrscr(); } void ShowSample() { int i; srand(time(
  0));/*初始化随机数发生器*/ for(i=0;;) { SrcList[i]=rand()%26+'A'; SrcList[i+1]=' '; i+=2; if(i>=WIDTH) break; } gotoxy(1,Row*3+
  1);/*在文本窗口中设置光标*/ printf("%s",SrcList); }
void UpdateResult() { window(1,1,80,
  3);/*定义活动文本模式窗口*/ textbackground(FORECOLOR);/*选择新的文本背景颜色*/ textcolor(BGCOLOR);/*在文本模式中选择新的字符颜色*/ clrscr();/*清除文本模式窗口*/ printf("\nHits: %d\tCorrects: %d\tErrors: %d",Hits,Corrects,Errors); 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(); CIRCLE++; if(CIRCLE>=
  25) break; } }
main() { char ch; int i=0,j; InitTextMode(); ShowSplash(); DrawFrame(); ShowSample(); while(
  1) { ch=getch(); if(ch==
  27) { j=(float)Corrects/Hits ; if(j>=
  2.0/
  3) { 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("%c ",ch); i+=2; Corrects++; if(i>=
  80) { Row++; if(Row>=
  7) Row=0; ShowSample(); i=0; } UpdateResult(); } else { sound(20
  00);/*以指定频率打开 PC 扬声器*/ delay(500
  00);/*将程序的执行暂停一段时间(毫秒)*/ nosound();/*关闭 PC 扬声器*/ Errors++; UpdateResult(); } gotoxy(i+1,3*Row+
  2); } }

设计结果说明
a、优点: 、优点: (
  1)用 Hits,等字母更新你输入的对错和总;
(
  2)用成绩好坏和音乐实现对你的激励。
b、缺点: 、缺点: 无法实现具体的成绩好坏和人家具体比拼。
c、有待改进: 、有待改进: 此次程序有许多不足之处,所以有待指导教师给出评定意见,帮助 我完善这个程序,并使其有利于本专业设计方面发展,实事求是,改 革创新。
 

相关内容

英语共有二十六个字母

   Unit 3 Net Changes Life (2) Part I Warming up Section A: History of Communications PrePre-listening questions: 1. What ways do you use to communicate with your families or friends? 2. What ways have humans used to send messages? Do you know when th ...

26个英语字母的书写格式

   非常抱歉,该文档存在转换错误,不能在本机显示。建议您重新选择其它文档 ...

26个英语字母的书写格式

   非常抱歉,该文档存在转换错误,不能在本机显示。建议您重新选择其它文档 ...

26个英语字母的书写格式

   非常抱歉,该文档存在转换错误,不能在本机显示。建议您重新选择其它文档 ...

26个英语字母的书写格式

   非常抱歉,该文档存在转换错误,不能在本机显示。建议您重新选择其它文档 ...

26个英语字母的书写格式

   非常抱歉,该文档存在转换错误,不能在本机显示。建议您重新选择其它文档 ...

26个英语字母的书写格式

   非常抱歉,该文档存在转换错误,不能在本机显示。建议您重新选择其它文档 ...

26个英语字母的书写格式

   非常抱歉,该文档存在转换错误,不能在本机显示。建议您重新选择其它文档 ...

英语字母的书写

   1)书写的规格 (1)应按照字母的笔顺和字母在三格中应占的位置书写。 (2)每个字母都应稍向右倾斜,约为 5°,斜度要一致。 (3)大写字母都应一样高,占上面两格,但不顶第一线。 (4)小写字母 a,c,e,m,n,o,r,s,u,v,w,x,z 写在中间的一格里, 上下抵线,但都不出格。 (5)小写字母 b,d,h,k,l 的上端顶第一线,占上面两格。 (6)小写字母 i 和 j 的点、f 和 t 的上端都在第一格中间,f 和 t 的第二笔紧贴 在第二线下。 (7)小写字母 f g j p ...

英语字母的音标

   26个英文字母 " " " " " " " A a [ei] , B b [bi:] , C c [si:] , D d [di:], E e [i:] , F f [ef] , G g [d3i:], H h [eit∫] , I i [ai] , J j [d3ei] , K k [,kei] , L l [el] , M m [em] , N n [en] , O o [Yu], P p [pi:], Q q [kju:] , R r [?:] , S s [es] , T t [t ...

热门内容

职称英语(理工类AB级)精选词汇例题解析

   大家论坛 club.topsage.com 职称英语( 职称英语(理工类 AB 级)精选词汇例题解析 (一) 1. We were all there when(在...的时候) the accident(事故) occurred. A) happened(发生) B) broke (打破, 不遵守, 折断) C) spread(伸展, 传播) D) appeared(出现,看起来) 1.A. occur 是单义词, 其基本词义为“发生”。因此 A(发生)是答案。 . 需要掌握的相关近义词词 ...

英语语法大全之二十一情态动词

   情态动词) 英语语法大全之二十一 (情态动词) 21.1 情态动词的语法特征 1) 情态动词不能表示正在发生或已经发生的事情,只表示期待或估计某事的发生. 2) 情态动词 除 ought 和 have 外,后面只能接不带 to 的不定式. 3) 情态动词没有人称,数的变化,即情态动词第三人称单数不加-s. 4) 情态动词没有非谓语形式,即没有不定式,分词,等形式. 21.2 比较 can 和 be able to 1)can could 表示能力;可能 (过去时用 could), 只用于现在 ...

牛津初中英语7b unit2 reading教学案例

   牛津 7B Unit 2 Welcome to Sunshine Town Reading(1) 教学案例 ( ) 教学案例 无锡市港下中学 刘书花 课 型:阅读课 一、教材内容分析: 教材内容分析: 本文是北京阳光中学的学生准备的一个有关阳光镇的录像片。 该片是为英国 交换留学生准备的。 照片增强了真实感, 可以帮助学生对这个话题有清楚的概念。 通过结合课文,让学生学会介绍城市各种功能的角度和方法。 二、教学目标: 教学目标: 1、语言知识目标: 1) 、复习和拓展有关生活方式和活动的词汇 ...

五年级英语期末调研测试试卷分析20071

   五年级英语期末调研测试试卷分析 2007.1 年级英语期末调研测 英语期末调研 一、总体情况: 1 月 18 日,中心小学对五年级英语进行了期末调研测试,全镇五年级共有 学生 487 人,总分 36446 分,平均成绩为 74.84 分,其中达到 90 分的有 92 人, 约占 18.9%,及格的有 405 人,约占 83.2%。 二、抽样情况: 在进行试卷取样分析过程中,共抽取了每个班级(每沓试卷)的第 4、14、 24、34、44 张试卷共计 50 份,对各个类型题目,尤其是听力、语音和 ...

人教版英语七年级上册unit1

   elcome Unit 1 My name’s Gina. ROSE a girl Gina Jenny Jim Alan Mary Listen and number the conversations. ( 2 ) A: What’s your name? B: Alan. ( 1 ) A: Hello! I’m Mary. B: Hi, Mary! I’m Jim. ( 3 ) A: My name’s Jenny. B: I’m Gina. Nice to meet you! Wha ...