计算机技术基础课程设计 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、有待改进: 、有待改进: 此次程序有许多不足之处,所以有待指导教师给出评定意见,帮助 我完善这个程序,并使其有利于本专业设计方面发展,实事求是,改 革创新。
 

相关内容

26个英语字母的书写格式

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

26个英语字母的书写格式

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

26个英语字母的书写格式

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

26个英语字母的书写格式

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

26个英语字母的书写格式

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

英语字母的密码

   通过字母破解英语单词的秘密 人们普通认为:英语是拼音文字,因而与象形无关。但是,实际上,即使作为拼音文字,其 字母的来源也与象形有关。 根据笔者十多年的研究结果, 英语中的二十六个字母每个字母都 有其象形意义, 而且更重要的是: 这些字母的象形意义对于记忆大量的英语单词具有重要意 义。本文专门探讨英语中二十六个字母最重要的象形意义及其在英语单词记忆中的作用。 字母 A a??象形人头,指男人,人头, 喻向前 英语中的第一个字母 a 从外形上看象一个“人头”(head).常用来指(man),所 ...

英语字母的书写

   英语字母的书写 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 的第二笔紧贴在第二 ...

英语字母的妙用

   中学英语园地 !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" 英 语 字 母 的 妙 !" 用 同学们一定已经认识 !" 个字母了吧? 有些字母本身就是一个单 词 (如:,$ ) 两个或两个以上的字母组合 ...

英语字母的音标

   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 ...

英语字母

   要想学好英语口语,应该学一些语音知识,以下是我总结的一些有关语音的知识, 1 元音: 1) [i:] 字母组合:ee ea e ie three tree green sheep meet beef see seek eat tea meat leave lead teacher team mean speak clean please he she me piece receive ceiling 2) [i] 发音字母 i y e sit picture it is list six m ...

热门内容

冀教版三年级英语下册课堂测试卷-第一单元

   冀教版三年级下册课堂测试卷 Unit 1 Lesson 1-2 一.选出不同类型单词 ( ( ( ( ( ) 1. ) 2. ) 3. ) 4. ) 5. A happy A cold A apple A scared A mad B sad B nose B warm C C C C C headache hot cool tired finger B knee B scared 二.根据所给出的句子,选择正确的图片,在( )内划√。 1.I feel scared. 2.I’m sad. ...

小学英语教研组工作计划

   小学英语教研组工作计划 李艳平 现状分析。 一、 现状分析。 1、组内老师以女性居多,从女同志的心理出发,许多事情需妥善处理,防 、组内老师以女性居多,从女同志的心理出发,许多事情需妥善处理, 止内部矛盾的发生或激化,减少内耗。 止内部矛盾的发生或激化,减少内耗。 2、组内人员增至 23 位,22 位在岗,1 人休产假,3 位新老师。队伍的圹 位在岗, 人休产假, 位新老师。 、 对加强集体凝聚力和提高集体工作能力提出了更高更新的要求。 大,对加强集体凝聚力和提高集体工作能力提出了更高更新的 ...

2011状元之路北师大英语第一轮复习 - 专题02 形容词和副词

   专题二 形容词和副词 第1页 共 45 页 一、定语的一般顺序 限定词(定冠词 不定冠词 物主代词/指示代词 限定词 定冠词/不定冠词 物主代词 指示代词 +表示顺序的 定冠词 不定冠词/物主代词 指示代词)+ 词(序数词 序数词/only, same, next, last 等)+表示数目的词(基 +表示数目的词 基 序数词 数词/many, other, several 等)+描述性形容词 数词 +描述性形容词(beautiful, interesting 等)+(大小 长短 高低 新旧 ...

新目标 英语 七年级 goforit7A 元音字母组合及其发音 英文

   Goforit7A Words & Sounds 元音字母及字母组合 第 1 页 共 5 页 age April bookcase classmate education game make sale table ☆ Aa ☆ a a [ei] a.m. baseball case date favorite late name same take alarm card hard partner sharpener start ar [a:] are guitar March par ...

课堂英语教师口语用语150句

   课堂英语教师口语用语150句 Beginning a class ( 开始上课) 1. Let’s start class. =It’s time for class. 上课 2. Hello, boys and girls / children.同学们好 3. Good morning /afternoon, boys and girls / teacher/同学们/老师们,早晨好/下午好 4.Stand up / Sit down, please.起立/请坐 5. Who is on du ...