/************2017.7.5上午***********/
/*制作简单的英汉电子词典*/
#include <stdio.h> 
#include <string.h>
#include <stdlib.h> 
char A[100][20];
char E[100][20];//英文 
char C[100][20];//中文 
int count;
int display();
void search();
void modify();
void quit();
void Search_China();
void Search_English();

int showmenu()
{
   int choice;
   printf("\t\t\t\t*********************************\n");
   printf("\t\t\t\t|*********英汉电子词典**********|\n");
   printf("\t\t\t\t|*******************************|\n");
   printf("\t\t\t\t|***********功能选择************|\n");
   printf("\t\t\t\t|        1.显示所有单词         |\n");
   printf("\t\t\t\t|        2.查询单词             |\n"); 
   printf("\t\t\t\t|        3.词条修改             |\n"); 
   printf("\t\t\t\t|        4.退出程序             |\n");  
   printf("\t\t\t\t*********************************\n");
   printf("输入你的选择(1-4):");
}

int main()
 {
   int choice;
   while(1)
 {
   system("cls");
   showmenu();
   scanf("%d",&choice);
   switch(choice)
   {
      case 1:system("cls");display();break;
      case 2:system("cls");search();break;
      case 3:system("cls");modify();break;
      case 4:system("cls");quit();exit(0);
   }
 }
 }
 
 int display()
 {
	
	FILE *fp;
	int len,j=0,k,i = 0;
    int select;
	if ((fp = fopen("C:\\Users\\10028\\Desktop\\实训\\7.6\\day4发学生\\上午\\dictionary.txt", "r")) == NULL)
    { 
		printf("文件1.txt不存在\n");  
	} 
	while (fscanf(fp, "%s", A[i]) != EOF)
	puts(A[i++]);
    count=i-1;//计数 
    fclose(fp);
    for(k=0;k<count;k++)
	{
		for(i=0;A[k][i]!=',';i++)
		{
		  E[k][i]=A[k][i];	
		} 
	} //把英文放入E 
	for(k=0;k<count;k++)
	{
		len=strlen(E[k]);
		j=0;
		for(i=len+1;A[k][i]!='\0';i++)
		{
			C[k][j]=A[k][i];
			j++;
		}	
		
	}//把中文放入C
	
    printf("按任意键返回\n");
    system("pause");
    
 }
 
 void search()
 {
  int Choice;
	system("cls");
	printf("\t\t\t\t 【**********1、按中文查找 **********】\n\n");
	printf("\t\t\t\t 【**********2、按英文查找 **********】\n\n");
	printf("\t\t\t\t   选择 : ");
	scanf("%d",&Choice);
	if(Choice==1)
		Search_China();
	else if(Choice==2)
		Search_English();
 }
 void Search_China()
 {
 	int i,flag=1;
	char s[20]={0};
	char judge;
	system("cls");
	printf("\n\n\n\n\n\t\t\t\t 输入你所要查询的中文 : ");
	scanf("%s",s);
	for(i=0;i<count;i++)
	{
		if(strcmp(s,C[i])==0)
		{
			printf("\n\n");
			printf("\t\t\t\t****************************************\n");
			printf("\t\t\t\t##************* 所查如下 *************##\n");
			printf("\n\t\t\t\t\t中文 : %s   英文 : %s \n\n",C[i],E[i]  );
			printf("\t\t\t\t****************************************\n");
			flag=0;
		}
	}
	if(flag=1)
		printf("\n\t\t\t\t 没有该词条 \n");
		
		printf("是否需要继续查询:(Y/N)"); 
		do
		{
		  judge=getchar();
		}while(judge!='Y'&&judge!='y'&&judge!='N'&&judge!='n');
     	if(judge=='y'||judge=='Y')
		search();  //返回查询 
 }
 void Search_English()
 {
 	int i,flag=1;
	char s[20]={0};
	char judge;
	system("cls");
	printf("\n\n\n\n\n\t\t\t\t 输入你所要查询的英文 : ");
	scanf("%s",s);
	for(i=0;i<count;i++)
	{
		if(strcmp(s,E[i])==0)
		{
			printf("\n\n");
			printf("\t\t\t\t########################################\n");
			printf("\t\t\t\t##************* 所查如下 *************##\n");
			printf("\n\t\t\t\t\t中文 : %s   英文 : %s \n\n",C[i],E[i]);
			printf("\t\t\t\t########################################\n");
			flag=0;
		}
	}
	
	if(flag=1)
		printf("\n\t\t\t\t 没有该词条 \n");
		
		printf("是否需要继续查询:(Y/N)"); 
		do
		{
		  judge=getchar();
		}while(judge!='Y'&&judge!='y'&&judge!='N'&&judge!='n');
     	if(judge=='y'||judge=='Y')
		search();  //返回查询 
 }
 void modify()
 {
 	int i,k;
 	char x[200];
 	char y[20]; 
 	char judge;
 	FILE *fp;
 	printf("\n请输入要修改的单词的英文:");
 	scanf("%s",x);
 	if(strcmp(x,E[i])==0)
		{
			printf("输入修改后的信息:");
			scanf("%s",y);
			strcpy(E[i],y);
			fp = fopen("C:\\Users\\10028\\Desktop\\实训\\7.6\\day4发学生\\上午\\dictionary.txt", "w");
            fscanf(fp, "%s", E[i]);
            fclose(fp);  
		}
	do
		{
		  judge=getchar();
		}while(judge!='Y'&&judge!='y'&&judge!='N'&&judge!='n');
     	if(judge=='y'||judge=='Y')
		 modify(); //返回修改 
 }
 void quit()
 {
 	printf("\t\t\t\t********************************************\n");
 	printf("\t\t\t\t*                                          *\n");
 	printf("\t\t\t\t*********         谢谢使用!      **********\n");
 	printf("\t\t\t\t*                                          *\n");
 	printf("\t\t\t\t********************************************\n");

 }