单词助手

来源:互联网 发布:域名如何过户 编辑:程序博客网 时间: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
原创粉丝点击