C语言课程设计报告书教小学生学英语_第1页
C语言课程设计报告书教小学生学英语_第2页
C语言课程设计报告书教小学生学英语_第3页
C语言课程设计报告书教小学生学英语_第4页
C语言课程设计报告书教小学生学英语_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言课程设计报告书教小学生学英语C语言程序设计课程设计报告设计题目:教小学生学英语专业 微电子学号 3130434063班级 132 班姓名 布玛利亚 .吾斯曼指导教师 张老师2013 年 秋季 学期设计任务:题目:计算机辅助教学( CAI )软件开发:教 小学生学英语 功能:1.屏幕上随机出现一个汉语单词, 英语 单词,汉语词组,英语词组或一短句提示小 学生给出相应答案,答错了要提示要求重新 输入,直到答对为止。要统计给分,且累计, 够一定分数后可进级,即从单词到词组,从 词组到短句。同样,也可降级。起步阶段可 各选 30 个,软件可扩充,即扩大词库的容量。( rand(),#includ

2、e<stdio.h> 结 构 体、文件或数组)2.保存:将相关数据写入磁盘文件, 便 于存、取操作。分步实施:1、初步完成总体设计,搭好框架,确 定人机对话的界面,确定函数个数;2、完成最低要求:能教单词,并有统计功能,即一次答对的成功率为 90% 以上 后可晋级;3、进一步要求:将词库、当前晋级等级保存在磁盘文件,每次登录时读取。要求: 1 、用 C语言实现程序设计;块要求用函数的2、 形式实现3 、; 形式实现4 、;界面友好(良好的人机交互) ,程 序要有注释。平时成绩:验收答辩成绩:设计报告成绩:总评成绩:指导教师:、总体设计1程序的总体设计思考如何使用合理方法使使用者有效

3、利用软件记住单词,将自己的想法通过程序来实现2. 数据结构3. 函数原型声明 void save3();/ 保存短句函数 void see();/ 查看词库界面 void see1();/ 查看单词词库 void see2();/ 查看短语词库 void see3();/ 查看短句词库 void one();/ 学习单词函数 void two();/ 学习短语函数 void three();/ 学习短句函数 struct word_list char a110;、详细设计1.main( )( 流程图)2源程序#include<stdio.h> #include<string.

4、h> #include<time.h>#include<stdlib.h>#define SIZE 100/ 声明函数, void zero();/ 主显示界面主显示界面结构void save();/void save1();/void save2();/保保存存界单面词函函数数保存短语函数char b110; wordSIZE; struct phrase_list char a220;char b220; phraseSIZE; struct sentence_list char a3100;char b3100; sentenceSIZE;/ 定义函数 vo

5、id main() zero(); select(); void zero()printf("n");printf("nnn");printf("t|n");printf("t| n");printf("t|n"); printf("t| 快 - 乐 - printf("t| |n"); printf("t| English! 快- 乐- 学- 习 成- 长 |n");love me, love|n");printf("t|n

6、"); printf("t|n"); printf("t| |n");printf("t|n"); printf("t|n"); printf("t| |n");printf("t|n");1.开始学习2.扩大词库3.查看词库printf("t|n"); printf("t|n"); printf("t|n"); printf("t|n"); printf("t|n"

7、); printf("t|4. 退出系统|n");void select() int a; printf("tt 请选择 : "); scanf("%d",&a); switch(a) case 1:one();break;case 2:save();break;case 3:see();break;case 4:exit(0); default: printf("errorn"); void save()int b;printf("n");printf("n");p

8、rintf("tt| |n");printf("tt|n"); printf("tt| - 快- 乐- 成- 长"tt快- 乐- 学- 习 &&&printf("tt| |n");printf("tt|n");english!printf("tt|n");!love me, love |n");printf("tt|n"); printf("tt|n");1.记录单词printf("tt| |

9、n");printf("tt|n");2.记录词组printf("tt| |n");printf("tt|n");3.记录句子printf("tt|n"); printf("tt|n");4.返回printf("tt|n"); printf("tt请输入 : ");scanf("n %d",&b); switch(b)case 1:save1();break;case 2:save2();break;case 3:sa

10、ve3();break;case 4:zero(); select();break;default: printf("errorn");void save1()int i,j,m1;FILE *fp1,*fi1; if(fp1=fopen("word_list","r")=NULL) fp1=fopen("word_list","wb");fclose(fp1) ;if(fi1=fopen("c1","r")=NULL)m1=0; fi1=fopen(&q

11、uot;c1","wb"); fwrite(&m1,sizeof(int),1,fi1);fclose(fi1); if(fi1=fopen("c1","rb")!=NULL) fi1=fopen("c1","rb"); fread(&m1,sizeof(int),1,fi1);i=m1; for(i;i<=SIZE;i+) if(m1>=(SIZE-1) printf("n 已存满,不能存入数据 ");break;elseprintf(

12、" 请输入英文单词: "); getchar();gets(wordi.a1);printf("n 请输入中文词语: "); gets(wordi.b1);if(fp1=fopen("word_list","ab")=NULL) printf("cannot open filen");exit(0); if(fwrite(&wordi,sizeof(struct word_list),1,fp1)!=1) printf("file write errorn");fcl

13、ose(fp1); m1=m1+1;if(fi1=fopen("c1","wb")=NULL)printf("cannot open filen");exit(0); if(fwrite(&m1,sizeof(int),1,fi1)!=1) printf("file write errorn"); fclose(fi1);printf("tt n");printf("tt n");printf("tt| |n");printf("tt|

14、|n");printf("tt|记录单词记录成功 ! 是否继续printf("tt|n");printf("tt|n"); printf("tt|n"); printf("tt|n"); printf("tt|n"); printf("tt|n"); printf("tt|n");printf("tt|n");1.2.继续-退出-printf("tt 请输入 : ");|n");scan

15、f("%d",&j);if(j=1) ;else if(j=2)select();break; zero();void save2()int i,j,m2;FILE *fp2,*fi2; if(fp2=fopen("phrase_list","r")=NULL) fp2=fopen("phrase_list","wb");fclose(fp 2);if(fi2=fopen("c2","r")=NULL)m2=0; fi2=fopen("c

16、2","wb"); fwrite(&m2,sizeof(int),1,fi2);fclose(fi2); if(fi2=fopen("c2","rb")!=NULL) fi2=fopen("c2","rb"); fread(&m2,sizeof(int),1,fi2);i=m2;for(i;i<=SIZE;i+)if(m2>=(SIZE-1) break;elseprintf(" 请输入英文短语: "); getchar();gets(p

17、hrasei.b2);if(fp2=fopen("phrase_list","ab")=NULL )printf("cannot open filen"); exit(0); if(fwrite(&phrasei,sizeof(struct phrase_list),1,fp2)!=1) printf("file write errorn"); fclose(fp2);m2=m2+1;if(fi2=fopen("c2","wb")=NULL) printf("

18、;cannot open filen"); exit(0); if(fwrite(&m2,sizeof(int),1,fi2)!=1) printf("file write errorn"); fclose(fi2);printf("ttn");printf("tt|n");printf("tt|n");p记ri录ntf单("词tt|记录成功 ! 是否继续printf("tt|n");printf("tt|n"); printf("tt|

19、n");|n");1.继续-printf("tt|n");printf("tt| 2. 退出 -|n");printf("tt|n");printf("tt|n");printf("tt| |n");printf("tt请输入 : ");scanf("%d",&j);if(j=1) ;else if(j=2)break;zero();select();void save3()int i,j,m3;FILE *fp3,*fi3;

20、if(fp3=fopen("sentence_list","r")=NUL L)fp3=fopen("sentence_list","wb");fclose( fp3);if(fi3=fopen("c3","r")=NULL) m3=0;fi3=fopen("c3","wb"); fwrite(&m3,sizeof(int),1,fi3);fclose(fi3); if(fi3=fopen("c3",&quo

21、t;rb")!=NULL) fi3=fopen("c3","rb"); fread(&m3,sizeof(int),1,fi3);i=m3; for(i;i<=SIZE;i+) if(m3>=(SIZE-1) printf("n 已存满,不能存入数据 ");break;elseprintf(" 请输入英文短句: "); getchar();gets(sentencei.a3);printf("n 请输入中文短句: "); gets(sentencei.b3);if(

22、fp3=fopen("sentence_list","ab")=NULL) printf("cannot open filen"); exit(0); if(fwrite(&sentencei,sizeof(struct sentence_list),1,fp3)!=1) printf("file write errorn");fclose(fp3);m3=m3+1; if(fi3=fopen("c3","wb")=NULL)printf("cannot o

23、pen filen"); exit(0); if(fwrite(&m3,sizeof(int),1,fi3)!=1) printf("file write errorn");fclose(fi3);printf("ttn");printf("ttprintf("tt| |n");printf("tt|记录单词记录成功 ! 是否继续printf("tt|n");printf("tt|n"); printf("tt|n"); printf(&

24、quot;tt|n"); printf("tt|n"); printf("tt|n"); printf("tt|n");printf("tt|n");1.2.printf("tt 请输入 : "); scanf("%d",&j); if(j=1) ;else if(j=2) break; zero(); select();继续-退出-|n");void see()int j; printf("tt n");printf(&quo

25、t;ttn"); printf("tt| |n");printf("tt|n");printf("tt| 型 printf("tt| |n");printf("tt|n"); printf("tt| |n");printf("tt|n"); printf("tt| |n");printf("tt|n"); printf("tt| |n");printf("tt|n"); pri

26、ntf("tt| |n");printf("tt|n"); printf("tt|n");1.2.3.4.请选择记忆类记忆单词记忆短语记忆句子退出|n");printf("tt 请输入 : "); scanf("%d",&j); if(j=1) see1(); else if(j=2) see2(); else if(j=3) see3();else if(j=4) zero();select(); void see1()int i,m1;FILE *fp1,*fi1;if(f

27、i1=fopen("c1","r")=NULL)printf("t无存储信息n");see();fi1=fopen("c1","rb");fread(&m1,sizeof(int),1,fi1);if(m1=0)printf("t无存储信息n");see(); for(i=0;i<m1;i+) fp1=fopen("word_list","rb");fseek(fp1,i*sizeof(struct word_list),

28、0);fread(&wordi,sizeof(struct word_list),1,fp1);printf(" 英语: %snn 中 文: %sn",&wordi.a1,&wordi.b1); printf( *n");fclose(fp1);fclose(fi1); see();void see2()int i,m2;FILE *fp2,*fi2;if(fi2=fopen("c2","r")=NULL)printf("t存储信息n");see();fi2=fopen("

29、;c2","rb");fread(&m2,sizeof(int),1,fi2);if(m2=0)printf("t存储信息n");see();for(i=0;i<m2;i+)fp2=fopen("phrase_list","rb");fseek(fp2,i*sizeof(structphrase_list),0);fread(&phrasei,sizeof(structphrase_list),1,fp2);printf(" 英语: %sn 中文: %sn",&a

30、mp;phrasei.a2,&phrasei.b2);printf(*n");fclose(fp2); fclose(fi2); see();void see3()int i,m3;FILE *fp3,*fi3;if(fi3=fopen("c3","r")=NULL)printf("t存储信息n");see();fi3=fopen("c3","rb");fread(&m3,sizeof(int),1,fi3);if(m3=0)printf("t存储信息-n&q

31、uot;);see();for(i=0;i<m3;i+)fp3=fopen("sentence_list","rb");fseek(fp3,i*sizeof(structsentence_list),0);fread(&sentencei,sizeof(structsentence_list),1,fp3);printf(" 英语: %sn 中p3r)i;n tf(文: %sn",&sentencei.a3,&sentencei.b*n");fclose(fp3); fclose(fi3); s

32、ee();void one()int m1,n,k,i,j=0,t; char a10;getchar();FILE *fi1,*fp1;if(fi1=fopen("c1","r")=NULL)printf("t习信息无学n");zero();select(); fi1=fopen("c1","rb"); fread(&m1,sizeof(int),1,fi1); n=m1;fclose(fi1);if(n<10)printf("nt 学习单词不够,请录入单词n"

33、;);zero();select();elseprintf("t 词练习 n");srand(unsigned)time(NULL); for(i=0;i<5;i+)单k=rand()%n+1;fp1=fopen("word_list","rb"); fseek(fp1,(k-1)*sizeof(structword_list),0); fread(&wordk-1,sizeof(struct word_list),1,fp1);",&wordk-1.a1);gets(a);回答错误回答错误 ,if(s

34、trcmp(a,wordk-1.b1)=0) printf("n确答正!n");j+; else printf("n加油, 再试试吧 n"); printf("n%s 翻译为中文: ",&wordk-1.a1);gets(a); if(strcmp(a,wordk-1.b1)=0) printf("n回答正 确!n");else printf("n记住下面的正确答案 哦!n");printf(" 正确答 案: %sn",&wordk-1.b1); for(i=

35、5;i<10;i+) k=rand()%n+1;fp1=fopen("word_list","rb");fseek(fp1,(k-1)*sizeof(struct word_list),0); fread(&wordk-1,sizeof(struct word_list),1,fp1);printf("%s gets(a); if(strcmp(a,wordk-1.a1)=0) printf("n 答正 确! j+; else翻译为英文: ",&wordk-1.b1);n");printf(&

36、quot;n加油, 再试试吧!n");printf("n%s 翻译为英文:",&wordk-1.b1);gets(a);getchar();if(strcmp(a,wordk-1.a1)=0)回答错误printf("n回答正 确!n");elseprintf("n住下面的正确答案哦!回答错误,记n");printf(" 正确答案: %sn",&wordk-1.a1); fclose(fp1);printf("n 答对 %d题,得分%dn",j,j*10);if(j>

37、;=(i*0.9)|n");printf("tt|n");printf("tt|入下一级 !-!|!n");恭喜你可以进printf("tt|n"); printf("tt|n"); printf("tt|1.进入下一级|n"); printf("tt|2.继续单词翻译|n"); printf("tt|n"); printf("tt|n"); printf("tt|n"); printf("tt|

38、3.退出|n"); printf("tt| |n");printf("tt 请选择: "); scanf("%d",&t); if(t=1) two();if(t=2) one();if(t=3) zero();select(); else|n");printf("tt|n");printf("tt| 继续努力|n");printf("tt|n");printf("tt|n");printf("tt| 1. 继续|n&

39、quot;);printf("tt|n");printf("tt| 2. 退出|n");printf("tt|n");printf("tt|n"); printf("tt| |n");printf("tt请选择: "); scanf("%d",&t);if(t=1) one();if(t=2)zero();select();void two()int m2,n,k,i,j=0,t;char a20;getchar();FILE *fi2,*fp2;

40、 if(fi2=fopen("c2","r")=NULL) 无学习信息printf("nn");zero();select()fi2=fopen("c2","rb");fread(&m2,sizeof(int),1,fi2); n=m2;fclose(fi2);if(n<10) 短语不够, 请录n");zero();select();短语练习n");srand(unsigned)time(NULL);for(i=0;i<5;i+)k=rand()%n+1;

41、fp2=fopen("phrase_list","rb"); fseek(fp2,(k-1)*sizeof(struct phrase_list),0);fread(&phrasek-1,sizeof(struct phrase_list),1,fp2);printf("%s 翻译为中文:",&phrasek-1.a2);scanf("%s",a);if(strcmp(a,phrasek-1.b2)=0)printf("n回答正 确!n")j+;else回答printf(&quo

42、t;n错误,加油, 再试试吧n");gets(a);if(strcmp(a,phrasek-1.b2)=0)printf("n回答正确!n")else回答错n翻")译; 为中文:printf("%s",&phrasek-1.a2);printf(" 正确答案: %sn",&phrasek-1.b2);for(i=5;i<10;i+)k=rand()%n+1; fp2=fopen("phrase_list","rb"); fseek(fp2,(k-1)*s

43、izeof(struct phrase_list),0);fread(&phrasek-1,sizeof(structpprhirnatfs(e"%_lsis t),1翻,fp译2)为; 英文",&phrasek-1.b2);gets(a);if(strcmp(a,phrasek-1.a2)=0)printf("n 答正 确!j+;elsen");printf("n回答正确!else回答错gets(a);if(strcmp(a,phrasek-1.a2)=0)n");哦!n");printf("%s

44、 翻译为英文: ",&phrasek-1.b2);printf(" 正确答案: %sn",&phrasek-1.a2);答对%d题,得fclose(fp2);printf("n分%dn",j,j*10);if(j>=(i*0.9)太棒了 ! printf("tt| |n"); printf("tt|- 入下一级 !|n");!|!n");恭喜你可以进printf("tt|n");printf("tt| 1. 进入下一级 |n");pr

45、intf("tt|n");printf("tt| 2. 继续短语翻译 |n");printf("tt|n"); printf("tt| 3. 退出|n"); printf("tt|n"); printf("tt|n");printf("tt| |n");printf("tt 请选择: ");scanf("%d",&t); if(t=1)three();if(t=2) two();if(t=3) zero();

46、select();else if(j<(i*0.9)&&j>=(i*0.6)|n");printf("tt|n");printf("tt|-|-n-"-)-;- - - 继续努力printf("tt|n"); printf("tt|n"); printf("tt|1.继续|n"); printf("tt|n"); printf("tt|2.退出|n"); printf("tt|n");printf(

47、"tt|n"); printf("tt|n");printf("tt 请选择: "); scanf("%d",&t);if(t=1)two();if(t=2)zero();select();else|n");printf("tt|n");printf("tt| 再做一下单词练习吧 |n");printf("tt|n");printf("tt|n");printf("tt| 1. 好的|n");pri

48、ntf("tt|n");printf("tt| 2. 退出|n");printf("tt|n");printf("tt|n");printf("tt| |n");printf("tt请选择: ");scanf("%d",&t);if(t=1)one();if(t=2) zero();select();void three()int m3,n,k,i,j=0,t;char a100;getchar();FILE *fi3,*fp3;if(fi3=fo

49、pen("c3","r")=NULL)-p无rin学tf(习"-信-息-n");zero();select()fi3=fopen("c3","rb");fread(&m3,sizeof(int),1,fi3); n=m3;fclose(fi3);if(n<10) 句子不够, 请录n");zero();select();printf("t 句子练习 ");srand(unsigned)time(NULL);for(i=0;i<5;i+)k=rand

50、()%n+1;fp3=fopen("sentence_list","rb");fseek(fp3,(k-1)*sizeof(struct sentence_list),0);sentence_list),1,fp3);printf("%s 翻译为中文:",&sentencek-1.a3);fread(&sentencek-1,sizeof(structscanf("%s",a);if(strcmp(a,sentencek-1.b3)=0)printf("n 回答正 确!j+;elsen&q

51、uot;);printf("n错误, 加油, 再试试吧 n");gets(a);if(strcmp(a,sentencek-1.b3)=0) printf("nn");回答正确!elseprintf("n误, 记住下面的正确答案哦!n");printf("%s 翻译为中文:",&sentencek-1.a3);printf(" 正确答回答回答错案: %sn",&sentencek-1.b3); for(i=5;i<10;i+)k=rand()%n+1;fp3=fopen("sentence_list","rb");fseek(fp3,(k-1)*sizeof(struct sentence_list),0);fread(&sentencek-1,sizeof(struct sentence_list),1,fp3);printf("%s 翻译为英文:",&am

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论