单词助手
来源:互联网 发布:域名如何过户 编辑:程序博客网 时间:2024/05/29 21:30
该程序包含了单词修改,单词考核(汉译英及英译汉)和成绩查询,单词添加,删除,显示所有单词的功能。//**单词助手// 汪强// 2017年3月14日#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX 10//单词中字母的最大个数#define MAX1 100//单词最大个数int i;int j;int h,p;int s=1;struct word//建立单词结构体{ char en[MAX]; char ch[MAX];}word1[MAX1];void file1()//向文件中存入单词和单词的汉语意思{ FILE *p; if((p=fopen("file1.dat","w"))==NULL) { printf("无法打开此文件!\n"); exit(0); } for(j=0;j<i;j++) { fprintf(p,"%s %s ",word1[j].en,word1[j].ch); } fclose(p);}void file2()//从文件中读取单词的信息{ FILE *q; if((q=fopen("file1.dat","r"))==NULL) { printf("无法打开此文件!\n"); exit(0); } j=0;i=0; do { fscanf(q,"%s%s",word1[i].en,word1[i].ch); i++;}while(fscanf(q,"%s %s ",word1[i].en,word1[i].ch)==2);fclose(q);}void add()//添加单词及其汉语意思{ int flag=1; while(flag) { flag=0; printf("\n请输入单词的英文形式:"); scanf("%s",word1[i].en); for(j=0;j<i;j++) if(word1[j].en==word1[i].en) { printf("\n单词重复请重新输入:"); flag=1; break; } } printf("请输入单词的中文形式:"); scanf("%s",word1[i].ch); i++;}void revise()//修改单词信息{ char en[MAX]; printf("\n请输入要修改单词的英文形式:"); scanf("%s",en); for(j=0;j<i;j++) { if(strcmp(word1[j].en,en)==0) { printf("\n请输入修改后的单词和汉语意思:"); scanf("%s %s",word1[j].en,word1[j].ch); break; } } printf("\n修改成功");file1();}void del()//删除单词{int k; char en[MAX]; printf("\n请输入要删除单词的英文形式:"); scanf("%s",en); for(j=0;j<i;j++) { if(strcmp(word1[j].en,en)==0) { for(k=j;k<i;k++) word1[k]=word1[k+1]; break; } } i--; printf("\n删除成功"); file1();}void entext()//英译汉测试{ char a[10]; int choose=1; int n,z; while(choose) { n=rand()%i; printf("\n%s 请输入单词的汉语意思:",word1[n].en); scanf("%s",a); for(z=0;strcmp(a,word1[n].ch)!=0;z=z) {printf("\n回答错误,减十分");p=p+1;break;} for(z=0;strcmp(a,word1[n].ch)==0;z=z) {printf("\n回答正确,加十分");h=h+1;break;} printf("\n继续测试请选1,返回上一级请选0:"); scanf("%d",&choose); if(choose==0) return; }}void chtext()//汉译英测试{ char b[10]; int choose=1; int n,z; while(choose) { n=rand()%i; printf("\n%s 请输入单词的英文形式:",word1[n].ch); scanf("%s",b); for(z=0;strcmp(b,word1[n].en)!=0;z=z) {printf("\n回答错误,减十分");p=p+1;break;} for(z=0;strcmp(b,word1[n].en)==0;z=z) {printf("\n回答正确,加十分");h=h+1;break;} printf("\n继续测试请选1,返回上一级请选0:"); scanf("%d",&choose); if(choose==0) return; }}void grade()//成绩查询{ int sum; printf("\n回答错误%d个",h); printf("\n回答正确%d个",p); printf("\n总得分为%d",sum=10*p-10*h);}void all(){ printf("\n显示所有单词及其汉语意思: "); for(j=0;j<i;j++) { printf(" %s %s",word1[j].en,word1[j].ch); }}void mainten()//词库维护{ int choose; int flag=1; printf("********************\n"); printf("** 1.添加单词 **\n"); printf("** 2.修改单词 **\n"); printf("** 3.删除单词 **\n"); printf("** 4.返回上一层 **\n"); printf("********************\n"); while(flag) { printf(" \n请输入功能编号:"); scanf("%d",&choose); switch(choose) { case 1:add();file1();break; case 2:file2();revise();break; case 3:file2();del();break; case 4:return; default:printf("\n输入有误!"); } flag=0; }}void boundary()//主界面函数{ int temp; printf("\n"); printf("\t\t\t**********************************************\n"); printf("\t\t\t* *\n"); printf("\t\t\t* 0.词库维护 1.单词考核(英汉)*\n"); printf("\t\t\t* *\n"); printf("\t\t\t* 2.单词考核(汉英) 3.成绩查询 *\n"); printf("\t\t\t* *\n"); printf("\t\t\t* 4.查看所有单词 5.退出系统 *\n"); printf("\t\t\t**********************************************\n"); printf("\n"); printf("\n请选择序号:"); scanf("%d",&temp); switch(temp) { case 0:mainten();break; case 1:file2();entext();break; case 2:file2();chtext();break; case 3:grade();break; case 4:file2();all();break; case 5:s=0;break; default:printf("\n输入有误!"); }}int main()//主函数{ while(s) { boundary(); } system("pause"); return 0;}
1 0
- 单词助手
- 单词记忆助手
- 单词小助手
- 单词小助手
- 单词小助手的代码
- ”单词小助手“个人体会
- Mword单词记忆小助手
- 程序设计方法学work_week2_“单词小助手”
- 使用C语言编写的简单的单词小助手
- 单词。。
- 单词
- 单词
- 单词
- 单词:
- 单词
- 单词
- 单词
- 单词
- 日志总结-java变量类型
- thinking in java——0321学习笔记
- faster rcnn:assert (boxes[:, 2] >= boxes[:, 0]).all()分析塈VOC2007 xml坐标定义理解
- Unity3D Mesh小课堂(五)CombineMeshes合并网格
- Android动画SDK从基础到精通(AnimationForAndroid)
- 单词助手
- CodeForces 125D【鸽巢原理】
- kmp算法理解解释(1)
- Ubuntn 16.0.4下JDK安装的几种方法
- 动态规划
- ++i+++i+++i的问题的一点思考
- python相关面试题
- 用Java写出优雅的单例模式
- POJ1056 Runtime Error