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

相关内容

二十六个英语字母的练习

   计算机技术基础课程设计 C 语言设计报告 题 目: 二十六个英语字母的练习 学 专 院: 业: 班 姓 级: 名: 设计日期: 设计日期: 一、选题背景 根据我们所学的知识和网上自学的知识,利用 C 语言编译程序来实现英语 字母的练习,从而使小学生熟练掌握英语 26 个字母,并且使自己熟练了键盘, 丰富了我们的业余生活,且练习了打字的速度,下面就是借鉴网上且自己修改了 的用 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个英语字母的书写格式

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

26个英语字母的书写格式

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

英语字母的密码

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

英语字母

   要想学好英语口语,应该学一些语音知识,以下是我总结的一些有关语音的知识, 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 ...

热门内容

11届高三二模考试英语答案(海淀)

   2011 海淀二模 英 2011. 05 第一部分:听力理解(共三节, 第一部分:听力理解(共三节,30 分) 第一节(共 5 小题;每小题 1.5 分,共 7.5 分) 1. B 2. C 3. A 4. C 5. B 语 参考答案及评分标准 第二节(共 10 小题;每小题 1.5 分,共 15 分) 6. C A 7. A 13. B 8. A 14. C 9. B 15. A 10. C 11. B 12. 第三节(共 5 小题;每小题 1.5 分,共 7.5 分) 拼写错误不计分; ...

2011英语专业四级听写50篇全文

   英语专业四级听写 50 篇(50):Reading Nowadays few of us read books after we leave school. This is rather disturbing, for one should know that books are no less necessary to one’s mental life than fresh air is to one’s physical life. From good reading we can d ...

英语作文背诵范文

   阳光家教网 阳光家教网 www.ygjj.com 西安家教 青岛家教 郑州家教 家教 苏州家教 天津家教 中国最大找家教, 家教平台 中国最大找家教,做家教平台 家教 写作模板??提纲式作文 写作模板??提纲式作文 ?? 模版 1 Some people believe (argue, recognize, think) that 观点 1. But other people take an opposite side. They firmly believe that 观点 2. As f ...

自考英语笔记3

   Unit 3 Text A 搭配: 1. separate A from B 把某人;或某物分开/动词词组 2. keep sb. from doing sth. 使某人无法做某事;无法做某事/动词词组 3. on the average 平均;below/above the average 在什么的水平以下;上/介词词组 4. furnish sth for sb. 给某人提供某物/动词词组 5. pile up 折起,累计,若干车辆碰在一起/动词词组 语言点: 1. 本课带宾补的动词:m ...

怎么用英语表达数字

   在汉英笔译和英语写作中,经常会遇到数字;哪些场合用单词表示,哪些场合用 阿拉伯数字表示,往往使人难以确定,现行语法书中也极少涉及此类问题。 实际上,以英语为母语的国家,在书写数字时已形成几条约定俗成的规则,现总 结如下供读者参考。 (1)英美等国的出版社在排版时遵循一条原则,即 1 至 10 用单词表示,10 以 上的数目用阿拉伯数字 (也有的以 100 为界限) 这条原则值得我们行文时借鉴。 , 如: That table measures ten feet by five. 那个工作台长 ...