C语言课程设计报告书教小学生学英语.docx
- 文档编号:8989541
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:36
- 大小:26.47KB
C语言课程设计报告书教小学生学英语.docx
《C语言课程设计报告书教小学生学英语.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告书教小学生学英语.docx(36页珍藏版)》请在冰点文库上搜索。
C语言课程设计报告书教小学生学英语
C语言程序设计
课程设计报告
设计题目:
教小学生学英语
专业微电子
学号3130434063
班级132班
姓名布玛利亚.吾斯曼
指导教师张老师
2013年秋季学期
设计任务:
题目:
计算机辅助教学(CAI)软件开发:
教小学生学英语
功能:
1.屏幕上随机出现一个汉语单词,英语单词,汉语词组,英语词组或一短句提示小学生给出相应答案,答错了要提示要求重新输入,直到答对为止。
要统计给分,且累计,够一定分数后可进级,即从单词到词组,从词组到短句。
同样,也可降级。
起步阶段可各选30个,软件可扩充,即扩大词库的容量。
(rand(),#include
2.保存:
将相关数据写入磁盘文件,便于存、取操作。
分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:
能教单词,并有统计功能,即一次答对的成功率为90%以上后可晋级;
3、进一步要求:
将词库、当前晋级等级保存在磁盘文件,每次登录时读取。
要求:
1、用C语言实现程序设计;
2、利用结构体进行相关信息处理;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序要有注释。
平时成绩:
验收答辩成绩:
设计报告成绩:
总评成绩:
指导教师:
一、总体设计
1.程序的总体设计
思考如何使用合理方法使使用者有效利用软件记住单词,将自己的想法通过程序来实现。
2.数据结构
3.函数原型声明
二、详细设计
1.main()(流程图)
2.源程序
#include
#include
#include
#include
#defineSIZE100//声明函数,结构
voidzero();//主显示界面
voidselect();//选择界面
voidsave();//保存界面函数
voidsave1();//保存单词函数
voidsave2();//保存短语函数
voidsave3();//保存短句函数
voidsee();//查看词库界面
voidsee1();//查看单词词库
voidsee2();//查看短语词库
voidsee3();//查看短句词库
voidone();//学习单词函数
voidtwo();//学习短语函数
voidthree();//学习短句函数
structword_list
{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(0);
default:
printf("error\n");
}
}
voidsave()
{intb;
printf("\n");
printf("\n");
printf("\t\t|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|\n");
printf("\t\t||\n");
printf("\t\t|------快-乐-学-习—&&&—快-乐-成-长-----|\n");
printf("\t\t||\n");
printf("\t\t|!
!
!
loveme,loveenglish!
!
!
|\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");
printf("\t\t|4.返回|\n");
printf("\t\t||\n");
printf("\t\t|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|\n");
printf("\t\t请输入:
");
scanf("\n%d",&b);
switch(b)
{
case1:
save1();break;
case2:
save2();break;
case3:
save3();break;
case4:
zero();select();break;
default:
printf("error\n");
}
}
voidsave1()
{inti,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("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;}
else
{printf("请输入英文单词:
");
getchar();
gets(word[i].a1);
printf("\n请输入中文词语:
");
gets(word[i].b1);
if((fp1=fopen("word_list","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((fi1=fopen("c1","wb"))==NULL)
{
printf("cannotopenfile\n");
exit(0);
}
if(fwrite(&m1,sizeof(int),1,fi1)!
=1)
printf("filewriteerror\n");
fclose(fi1);
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","r"))==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","r"))==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||\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();
}
voidsee()
{intj;
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|3.记忆句子|\n");
printf("\t\t||\n");
printf("\t\t|4.退出|\n");
printf("\t\t||\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((fi1=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 {fp1=fopen("word_list","rb"); fseek(fp1,i*sizeof(structword_list),0); 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","r"))==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","r"))==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); printf("********************************************************\n"); } fclose(fp3); fclose(fi3); see(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告书 小学生 英语