本文为大家分享了完善版的C语言单词小助手的具体实现代码,供大家参考,具体内容如下
<强>一。题目分析强>
1,在原有代码基础上添加文档注释,函数注释及语句注释,使代码风格良好,易于阅读和修改。
2,完善功能,实现背单词时出错词的重复记忆。
3,在词库维护选项中添加中英文分别查询的功能
4,完成输如数据的正确性验证,如:在菜单选择时输入不规范的错误提示,在添加单词时英文输入时输入汉语的异常排除等
<强>二。关键算法构造强>
1。总菜单项目选择及维护函数子选项的输入异常检查及提示。
2。添加单词
<强>三。程序实现强>
# include & lt; string.h> # include & lt; stdlib.h> #定义MAX_CHAR 20//最大字符 #定义MAX_NUM 200//单词的最大个数 结构词//单词的结构体 { char en (MAX_CHAR);//英文形式 char ch (MAX_CHAR);//中文形式 }(MAX_NUM), r (MAX_NUM);//单词数组 int num;//词典单词个数 int rnum=0;//增强记忆单词个数 int选择=1;//选择为是否退出系统的标记 int d=0, c=0;//c为答错的次数,d为答对的次数//帮助 无效的帮助() { printf (" \ n本系统主要实现英语单词学习的功能。用户可对词典文件中的单词进行预览,增删改查。”); printf (" \ n同时还可进行中英,英中测试。本系统还提供了测试成绩的显示功能。”); }//从文件中读取单词的信息 空白readfile () { 文件*《外交政策》; int i=0; fp=fopen (“data.txt”、“r”); 如果(fp) { printf (" \ n打开文件data.txt失败!”); } 而(fscanf (fp, % s % s, s[我].en, s[我].ch)==2) { 我+ +; } num=我; 如果(0==我) printf (" \ n文件为空,请选择词典维护增加词条!”); 其他的 printf (" \ n "); 文件关闭(fp); }//向文件中写入单词 空白writefile () { 文件*《外交政策》; int i=0; fp=fopen (“data.txt”、“w”); 如果(fp) { printf (" \ n打开文件data.txt失败!”); } (i=0; i< num;我+ +) { 流(fp \ n % s % s, s[我].en s[我].ch); } printf (" \ n "); 文件关闭(fp); }//从增强记忆文件中读取单词 空白readRemeberfile () { 文件*《外交政策》; int i=0; fp=fopen (“Remeberdata.txt”、“r”); 如果(fp) { printf (" \ n打开文件Remeberdata.txt失败!”); } 而(fscanf (fp, % s % s, r[我].en, r[我].ch)==2) { 我+ +; } rnum=我; 如果(0==我) printf (" \ n你还没有错题哦!”); 其他的 printf (" \ n "); 文件关闭(fp); } 孔隙类型()/*按字典排序*/{ int i, j。 char临时[MAX_CHAR]; (i=0; i< num-1;我+ +) { (j=num-1; j>我;j——) 如果(strcmp ([j - 1] .en,年代[j] .en)在0)//字符串类比较字符串函数通过Ascll码逐字符比较 { strcpy (temp, s [j - 1] .en); strcpy ([j - 1] .en,年代[j] .en); 拷贝字符串(s [j] .en,临时); strcpy (temp, s [j - 1] .ch); strcpy ([j - 1] .ch,年代[j] .ch); 拷贝字符串(s [j] .ch,临时); } } }//添加单词信息 无效的add () { int i=num j标志=1; f:虽然(国旗) { 国旗=0; printf (" \ n请输入单词的英文形式:”); scanf (“% s”,[我].en);//strncpy (c, s[我].en.c_str (), s[我].en.length ()); (=0;a<20 + +) {如果(s[我].en[一]在祝辞8==0) { 继续; } 其他的 {printf("输入不是纯英文,请重新输入”); 标志=1; 转到f;//当不是纯英文输入时跳转 } }//如果(一个!=19)继续; (j=0; jC语言实现单词小助手功能完善版