计算机技术基础课程设计 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个英文字母 " " " " " " " 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 ...

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

热门内容

新东方英语中级口译口试讲义

   新东方在线 [www.koolearn.com ] 网络课堂电子教材系列 中级口译口试讲义 中级口译口试讲义 欢迎使用新东方在线电子教材 第一章 一,口试部分简介 1,常见选题 ①选择性,辩论性话题 ②热点问题:西部大开发,北京申奥等 ③校园文化话题 ④社会现象,成功,快乐,国家政策等 口译综述 2,口语应试技巧 ①多与英美国家人士交流,沟通 ②通过原版外片提高语感 ③背诵好的演讲稿 ④阅读报纸,提高词汇量,充实知识量 ⑤平日进行作文练习 3,口语考试常见问题: ①因为紧张忘记事先准备的例子 ...

2011同方英语提高班教程参考答案

   2011 年提高答案 阅读理解提高练习 1 Passage 1 BCDDC 1) The authors also found that the death rates for teenage drivers increased dramatically after 10 p.m., and especially after midnight, with passengers in the car, the driver was even more likely to die in a la ...

2010年各地高考英语试题下载-安徽卷[Word解析版]

   嘉兴英语教学网 www.jxenglish.com 收集整理 欢迎使用 绝密★ 绝密★启用前 2010 高考真题精品解析 英语(安徽卷) 高考真题精品解析?英语 安徽卷) 英语( 【名师点评】 安徽高考英语试题强调学生灵活运用语言的能力, 难度较去年略有所上升。 单选题涉及 到代词、动词短语、动词辨析、交际用语、名词辨析、强调句、时态、非谓语动词、情态动 词、复合句,其中 22、24 题有一定难度。完形填空是一篇说明文,学生对其内容熟悉,易 于理解,重点考查学生对语义、语境、语篇的深层次理解 ...

考研英语外贸常用英语

   外贸常用英语 第一期:General Terms 1. establishing business relation-建立业务关系 2. inquiry-询盘 3. offer-报盘 4. counter offer-还盘 5. quantity-数量 6. packing-包装 7. time of shipment-装运期 8. price-价格 9. discount-折扣 10. terms of payment-支付条款 11. insurance-保险 12. commodity ...

大学英语四级应试技巧必杀技

   本文由达人IT贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 河北 SEO:http://seo.baixing666.com 大学英语四级应 大学英语四级应试技巧 第一版本( 第一版本(转) 英语其实并不难 平时成绩能考50分 努力努力就能过 说说我的经验 复习流程 最好一开始先看高频词 和词组 不用太刻意背 有深点的印象就好 不要拿个四级字典在那背,背了不会用白背,还忘的快 背句子,上口也有意思,不枯燥 然后着重阅读的练习 要 ...