C语言课程设计报告书教小学生学英语.docx
- 文档编号:3434436
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:32
- 大小:99.55KB
C语言课程设计报告书教小学生学英语.docx
《C语言课程设计报告书教小学生学英语.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告书教小学生学英语.docx(32页珍藏版)》请在冰豆网上搜索。
C语言课程设计报告书教小学生学英语
C语言程序设计
课程设计报告
设计题目:
教小学生学英语
专业微电子
学号3130434063
班级132班
姓名
指导教师张老师
2013年秋季学期
设计任务:
题目:
计算机辅助教学(CAI)软件开发:
教小学生学英语
功能:
1•屏幕上随机出现一个汉语单词,英语单词,汉语词组,英语词组或一短句提示小学生给出相应答案,答错了要提示要求重新输入,直到答对为止。
要统计给分,且累计,够一定分数后可进级,即从单词到词组,从词组到短句。
同样,也可降级。
起步阶段可各选30个,软件可扩充,即扩大词库的容量。
(rand(),#include
2•保存:
将相关数据与入磁盘文件,便于存、取操作。
分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:
能教单词,并有统计功能,即一次答对的成功率为90%以上后可晋级;
3、进一步要求:
将词库、当前晋级等级保存在磁盘文件,每次登录时读取。
要求:
1、用C语言实现程序设计;
2、利用结构体进行相关信息处理;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序要有注释。
平时成绩:
验收答辩成绩:
设计报告成绩:
总评成绩:
指导教师:
、总体设计
1•程序的总体设计
思考如何使用合理方法使使用者有效利用软件记住单词,将自己的想
法通过程序来实现。
2.数据结构
3.函数原型声明
、详细设计
l.main()(流程图)
2•源程序
#include
#include
#include
#include
#defineSIZE100〃声明函数,结构
voidzero();〃主显示界面
voidselect();〃选择界面
voidsave();〃保存界面函数
voidsave1();〃保存单词函数
voidsave2();〃
保存短语函数
voidsave3();〃
保存短句函数
voidsee();//
查看词库界面
voidsee1();〃
查看单词词库
voidsee2();〃
查看短语词库
voidsee3();〃
查看短句词库
voidone();〃
学习单词函数
voidtwo();〃
学习短语函数
voidthree();〃
学习短句函数
structword」ist
{chara1[10];
charb1[10];}word[SIZE];structphrase_list{chara2[20];
charb2[20];}phrase[SIZE];structsentence_list{chara3[100];
charb3[100];}sentence[SIZE];
//定义函数
voidmain(){zero();select();}voidzero()
{printf("\n");
printf("\n\n\n");
printf("\t||\n");
printf("\t||\n");
printf("\t|
|\n");
printf("\t|
------快-乐-学-
习一一快-乐
木-成-长—|\n");
printf("\t|
|\n");
printf("\t|
loveme,loveEnglish!
|\n");
printf("\t|
|\n");
printf("\t|
|\n");
printf("\t|
1.开始学习
|\n");
printf("\t|
|\n");
printf("\t|
2.扩大词库
|\n");
printf("\t|
|\n");
printf("\t|
3.查看词库
|\n");
printf("\t|
|\n");
printf("\t|
4.退出系统
|\n");
printf("\t|
|\n");
printf("\t|
|\n");
printf("\t|
|\n");
printf("\t|
|\n");
voidselect()
{inta;
printf("\t\t请选择:
”);
scanf("%d",&a);
switch(a)
{
case1:
one();break;
case2:
save();break;
case3:
see();break;
case4:
exit(O);
default:
printf("error\n”);
}
}
M=u二
M=s_
M=s_
M=s_
(■nnNU"c=-=Lo=)u①doTL匸))七《(Le①SOE(=qM=cs=lp」OM=)uedoTLd=(■HnNH"ccs=lp」OM=)u①doTLE))七
匸尸-Ldr山1匚
BE二u_)()o>espo>
宀宀
(UVIO」」①=)tu_」d±in45①p三Ealqolo①-①s00」①z&①SEO三爲qoge>esc①Seo三ealqocxle>es
§11。
七MS
S03---P%ub
)4ueos
M=u二
F-U二
尸亘
X--U二=ZS=6U①①>0-(DE①>0-三
M=u二
M--U二^—^—^— 尸亘 M=s M=s =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d =lu_」d (o>espo> {m仁0; fi仁fopen("c1","wb"); fwrite(&m1,sizeof(int),1,fi1); fclose(fil);} if((fi仁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;} else {printf("请输入英文单词: "); getchar(); gets(word[i].a1); printf("\n请输入中文词语: "); gets(word[i].b1); if((fp仁fopen("word」ist","ab"))==NULL) { printf("cannotopenfile\n"); exit(0); } if(fwrite(&word[i],sizeof(structword_list),1,fp1)! =1) printf("filewriteerror'n"); fclose(fp1); m1=m1+1; if((fi仁fopen("c1","wb"))==NULL) { printf("cannotopenfile\n"); exit(0); } if(fwrite(&m1,sizeof(int),1,fi1)! =1) printf("filewriteerror'n");fclose(fil); printf("\t\t \n"); printf("\t\t \n"); printf("\t\t| ―|\n"); printf("\t\t| |\n"); printf("\t\t| 记录成功! 是否, 继续记录单词 -|\n"); printf("\t\t| |\n"); printf("\t\t| |\n"); printf("\t\t|1. 继续--- |\n"); printf("\t\t| |\n"); printf("\t\t|2. 退出--- |\n"); printf("\t\t| |\n"); printf("\t\t| |\n"); printf("\t\t| ―|\n"); printf("\t\t 请输入: "); scanf("%d",&j);if(j==1); elseif(j==2)break; }} zero(); select(); }voidsave2() {inti,j,m2; FILE*fp2,*fi2; if((fp2=fopen("phrase_list","r"))==NULL){fp2=fopen("phrase_list","wb");fclose(fp2);}if((fi2=fopen("c2","门)==NULL) {m2=0; fi2=fopen("c2","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)) {printf("\n已存满,不能存入数据 "); break;} else {printf("请输入英文短语: "); getchar(); gets(phrase[i].a2); printf("\n请输入中文短语: "); gets(phrase[i].b2); if((fp2=fopen("phrase_list","ab"))==NULL) { printf("cannotopenfile\n"); exit(0); } if(fwrite(&phrase[i],sizeof(structphrase_list),1,fp2)! =1) printf("filewriteerror'n"); fclose(fp2); m2=m2+1; if((fi2=fopen("c2","wb"))==NULL) { printf("cannotopenfile\n"); exit(0); } if(fwrite(&m2,sizeof(int),1,fi2)! =1) printf("filewriteerror'n"); fclose(fi2); printf("\t\t\n"); printf("\t\t \n"); printf("\t\t| ―|\n"); printf("\t\t| |\n"); printf("\t\t| 记录成功! 是否, 继续记录单词 -|\n"); printf("\t\t| |\n"); printf("\t\t| |\n"); printf("\t\t|1. 继续--- |\n"); printf("\t\t| |\n"); printf("\t\t|2. 退出--- |\n"); printf("\t\t| |\n"); printf("\t\t| |\n"); printf("\t\t| ―|\n"); printf("\t\t 请输入: "); scanf("%d",&j); if(j==1);elseif(j==2)break; }} zero();select(); }voidsave3() {inti,j,m3; FILE*fp3,*fi3; if((fp3=fopen("sentence_list","r"))==NULL){fp3=fopen("sentence_list","wb");fclose(fp3);}if((fi3=fopen("c3","门)==NULL) {m3=0; fi3=fopen("c3","wb"); fwrite(&m3,sizeof(int),1,fi3); fclose(fi3);} if((fi3=fopen("c3","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;} else {printf("请输入英文短句: "); getchar(); gets(sentence[i].a3); printf("\n请输入中文短句: "); gets(sentence[i].b3); if((fp3=fopen("sentence_list","ab"))==NULL) { printf("cannotopenfile\n"); exit(0); } if(fwrite(&sentence[i],sizeof(structsentence_list),1,fp3)! =1) printf("filewriteerror'n"); fclose(fp3); m3=m3+1; if((fi3=fopen("c3","wb"))==NULL) { printf("cannotopenfile\n"); exit(0); } if(fwrite(&m3,sizeof(int),1,fi3)! =1) printf("filewriteerror'n"); fclose(fi3); printf("\t\t\n"); printf("\t\t\n"); printf("\t\t||\n"); printf("\t\t||\n"); printf("\t\t| |\n"); printf("\t\t| |\n"); printf("\t\t|1. 继续--■ |\n") printf("\t\t| |\n"); printf("\t\t|2. 退出--■ |\n") printf("\t\t| |\n"); printf("\t\t| |\n"); 记录成功! 是否继续记录单词 printf("\t\t| |\n"); printf("\t\t||\n"); printf("\t\t请输入: ”); scanf("%d",&j); if(j==1); elseif(j==2) break; }} zero(); select(); }voidsee() {intj; printf("\t\t\n"); printf("\t\t\n"); printf("\t\t| printf("\t\t| |\n"); printf("\t\t|-- 〜〜〜请选择记忆类型〜〜〜-- printf("\t\t| |\n"); printf("\t\t| |\n"); printf("\t\t| 1. 记忆单词 |\n"); printf("\t\t| |\n"); printf("\t\t| 2. 记忆短语 |\n"); printf("\t\t| |\n"); printf("\t\t| 3. 记忆句子 |\n"); printf("\t\t| |\n"); |\n"); |\n"); printf("\t\t|4. printf("\t\t| 退出 |\n"); |\n"); printf("\t\t||\n"); printf("\t\t请输入: ”); scanf("%d",&j); if(j==1)see1(); elseif(j==2)see2(); elseif(j==3)see3(); elseif(j==4){zero();select();} } voidsee1() {inti,m1; FILE*fp1,*fi1; if((fi仁fopen("c1","门)==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 {fp仁fopen("word_list","rb"); fseek(fp1,i*sizeof(structword」ist),O); 无存储信息 无存储信息 fread(&word[i],sizeof(structword_list),1,fp1); printf("英语: %s\n\n中文: %s\n",&word[i].a1,&word[i].b1); printf( **\n"); fclose(fp1); fclose(fi1); see(); } voidsee2() {inti,m2; FILE*fp2,*fi2; if((fi2=fopen("c2","门)==NULL){printf("\t \n");see();}fi2=fopen("c2","rb"); fread(&m2,sizeof(int),1,fi2); if(m2==0) {printf("\t \n");see();} 无存储信息 无存储信息 for(i=0;i {fp2=fopen("phrase_list","rb"); fseek(fp2,i*sizeof(structphrase_list),0); fread(&phrase[i],sizeof(structphrase_list),1,fp2); printf("英语: %s\n中文: %s\n",&phrase[i].a2,&phrase[i].b2); printf( **\n"); fclose(fp2);fclose(fi2);see(); } voidsee3() {inti,m3; FILE*fp3,*fi3; if((fi3=fopen("c3","门)==NULL){printf("\t \n”);see();}fi3=fopen("c3","rb"); fread(&m3,sizeof(int),1,fi3); if(m3==0) {printf("\t 无存储信息 无存储信息- \n");see();} for(i=0;i {fp3=fopen("sentence_list","rb"); fseek(fp3,i*sizeof(structsentence_list),0); fread(&sentence[i],sizeof(structsentence_list),1,fp3); printf("英语: %s\n中文: %s\n",&sentence[i].a3,&sentence[i].b3); **\n"); printf(fclose(fp3);fclose(fi3);see(); }voidone() {intm1,n,k,i,j=0,t; chara[10];getchar(); FILE*fi1,*fp1; if((fi仁fopen("c1","门)==NULL) {printf("\t无学习信息 \n”);zero();select();} fi1=fopen("c1","rb"); fread(&m1,sizeof(int),1,fi1); n=m1;fclose(fi1); if(n<10) {printf("\n\t学习单词不够,请录入单词 \n");zero();select();} else { printf("\t 单词练习 \n”); srand((unsigned)time(NULL)); for(i=0;i<5;i++) {k=rand()%n+1; fp仁fopen("word」ist","rb"); fseek(fp1,(k-1)*sizeof(structword_list),0); fread(&word[k-1],sizeof(structword_list),1,fp1);printf("\n%s翻译为中文: ",&word[k-1].a1); gets(a); if((strcmp(a,word[k-1].b1))==0) {printf("\n回答正 确川\n"); j++;} else { printf("\n回答错误,加油,再试试吧 \n"); printf("\n%s翻译为中文: ",&word[k-1].a1); gets(a); if((strcmp(a,word[k-1].b1))==0){ printf("\n回答正 确川\n");} else{printf("\n回答错误,记住下面的正确答案 哦! 宙"); printf(”正确答案: %s\n",&word[k-1].b1);} } } for(i=5;i<10;i++) { k=rand()%n+1; fp仁fopen("word」ist","rb");fseek(fp1,(k-1)*sizeof(structword_list),0);fread(&word[k-1],sizeof(structword_list),1,fp1);printf("%s翻译为英文: ",&word[k-1].b1); gets(a); if((strcmp(a,word[k-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告书 小学生 英语