收藏 分销(赏)

C语言专业课程设计方案报告书教小学生学英语.doc

上传人:快乐****生活 文档编号:2727269 上传时间:2024-06-05 格式:DOC 页数:39 大小:310.54KB 下载积分:12 金币
下载 相关 举报
C语言专业课程设计方案报告书教小学生学英语.doc_第1页
第1页 / 共39页
C语言专业课程设计方案报告书教小学生学英语.doc_第2页
第2页 / 共39页


点击查看更多>>
资源描述
C语言程序设计 课程设计汇报 设计题目:教小学生学英语 专 业 微电子 学 号 班 级 132班 姓 名 布玛利亚.吾斯曼 指导老师 张老师 年 秋季 学期 设计任务: 题目:计算机辅助教学(CAI)软件开发:教小学生学英语 功效:1.屏幕上随机出现一个汉语单词,英语单词,汉语词组,英语词组或一短句提醒小学生给出对应答案,答错了要提醒要求重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从单词到词组,从词组到短句。一样,也可降级。起步阶段可各选30个,软件可扩充,即扩大词库容量。 (rand(),#include<stdio.h> 结构体、文件或数组) 2.保留:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、完成最低要求:能教单词,并有统计功效,即一次答正确成功率为90%以上 后可晋级; 3、深入要求:将词库、目前晋级等级保留在磁盘文件,每次登录时读取。 要求:1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统各个功效模块要求用函数形式实现; 4、界面友好(良好人机交互),程序要有注释。 平时成绩: 验收答辩成绩: 设计汇报成绩: 总评成绩: 指导老师: 一、总体设计 1.程序总体设计 思索怎样使用合理方法使使用者有效利用软件记住单词,将自己想法经过程序来实现。 2. 数据结构 3. 函数原型申明 二、具体设计 1.main( )(步骤图) 2.源程序 #include<stdio.h> #include<string.h> #include<time.h> #include<stdlib.h> #define SIZE 100//申明函数,结构 void zero();//主显示界面 void select();//选择界面 void save();//保留界面函数 void save1();//保留单词函数 void save2();//保留短语函数 void save3();//保留短句函数 void see();//查看词库界面 void see1();//查看单词词库 void see2();//查看短语词库 void see3();//查看短句词库 void one();//学习单词函数 void two();//学习短语函数 void three();//学习短句函数 struct word_list { char a1[10]; char b1[10]; }word[SIZE]; struct phrase_list { char a2[20]; char b2[20]; }phrase[SIZE]; struct sentence_list { char a3[100]; char b3[100]; }sentence[SIZE]; //定义函数 void main() {zero(); select();} void zero() {printf("\n"); printf("\n\n\n"); printf("\t| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|\n"); printf("\t| |\n"); printf("\t| |\n"); printf("\t| ------快-乐-学-习——快-乐-成-长----- |\n"); printf("\t| |\n"); printf("\t| love me, love English! |\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"); } void select() { int a; printf("\t\t 请选择: "); scanf("%d",&a); switch(a) { case 1:one();break; case 2:save();break; case 3:see();break; case 4:exit(0); default: printf("error\n"); } } void save() {int b; printf("\n"); printf("\n"); printf("\t\t|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|\n"); printf("\t\t| |\n"); printf("\t\t| ------快-乐-学-习—&&&—快-乐-成-长----- |\n"); printf("\t\t| |\n"); printf("\t\t| !!!love me, love english!!! |\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) { case 1:save1();break; case 2:save2();break; case 3:save3();break; case 4:zero(); select();break; default: printf("error\n"); } } 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("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("cannot open file\n"); exit(0); } if(fwrite(&word[i],sizeof(struct word_list),1,fp1)!=1) printf("file write error\n"); fclose(fp1); m1=m1+1; if((fi1=fopen("c1","wb"))==NULL) { printf("cannot open file\n"); exit(0); } if(fwrite(&m1,sizeof(int),1,fi1)!=1) printf("file write error\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) ; else if(j==2) break; }} zero(); select(); } void save2() {int i,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("cannot open file\n"); exit(0); } if(fwrite(&phrase[i],sizeof(struct phrase_list),1,fp2)!=1) printf("file write error\n"); fclose(fp2); m2=m2+1; if((fi2=fopen("c2","wb"))==NULL) { printf("cannot open file\n"); exit(0); } if(fwrite(&m2,sizeof(int),1,fi2)!=1) printf("file write error\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) ; else if(j==2) break; }} zero(); select(); } void save3() {int i,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("cannot open file\n"); exit(0); } if(fwrite(&sentence[i],sizeof(struct sentence_list),1,fp3)!=1) printf("file write error\n"); fclose(fp3); m3=m3+1; if((fi3=fopen("c3","wb"))==NULL) { printf("cannot open file\n"); exit(0); } if(fwrite(&m3,sizeof(int),1,fi3)!=1) printf("file write error\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) ; else if(j==2) break; }} zero(); select(); } void see() {int j; 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(); 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((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<m1;i++) {fp1=fopen("word_list","rb"); fseek(fp1,i*sizeof(struct word_list),0); fread(&word[i],sizeof(struct word_list),1,fp1); printf("英语:%s\n\n汉字:%s\n",&word[i].a1,&word[i].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("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(struct phrase_list),0); fread(&phrase[i],sizeof(struct phrase_list),1,fp2); printf("英语:%s\n汉字:%s\n",&phrase[i].a2,&phrase[i].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");see();} for(i=0;i<m3;i++) {fp3=fopen("sentence_list","rb"); fseek(fp3,i*sizeof(struct sentence_list),0); fread(&sentence[i],sizeof(struct sentence_list),1,fp3); printf("英语:%s\n汉字:%s\n",&sentence[i].a3,&sentence[i].b3); printf("********************************************************\n"); } fclose(fp3); fclose(fi3); see(); } void one() {int m1,n,k,i,j=0,t; char a[10];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("\n\t---------------学习单词不够,请录入单词------------\n");zero();select();} else { printf("\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(struct word_list),0); fread(&word[k-1],sizeof(struct word_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----------------回复错误,记住下面正确答案哦!-----------------------\n"); printf("正确答案: %s\n",&word[k-1].b1);} } } for(i=5;i<10;i++) { k=rand()%n+1; fp1=fopen("word_list","rb"); fseek(fp1,(k-1)*sizeof(struct word_list),0); fread(&word[k-1],sizeof(struct word_list),1,fp1); printf("%s 翻译为英文:",&word[k-1].b1); gets(a); if((strcmp(a,word[k-1].a1))==0)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服