⑴ 自行建立一个包含若干英文单词的词汇表文件,系统初始化时导入内存,用于进行句子翻译。
⑵ 用户可以输入单词或者句子,在屏幕上显示对应翻译结果。
⑶ 用户可对词汇表进行添加和删除,并能将更新的词汇表存储到文件中。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h> 
#include<stdlib.h>
#include<string.h> 
#include<Windows.h>void Menu();				//菜单
int get_choice();			//获取选择(1-4)
int load();				//导入词汇表
void search(int i);		//单词查找
int add(int i);			//添加单词
int del(int i);			//删除单词
void Save(int i);			//将新的数据存如文件void Menu()                                    //显示菜单
{printf("**************************************************************\n");printf("*                                                            *\n");printf("*                     欢迎使用英语翻译程序                   *\n");printf("*                                                            *\n");printf("*                     1.单词查询                             *\n");printf("*                     2.增加单词                             *\n");printf("*                     3.删除单词                             *\n");printf("*                     4.退出                                 *\n");printf("*                                                            *\n");printf("* 请输入你的选择:                                            *\n");printf("*                                                            *\n");printf("**************************************************************\n");
}int get_choice()                     //获取选择 (1-4)
{int a;scanf("%d", &a);return a;
}struct Translate
{char English[20];char Chinese[20];
};struct Translate cihui[6000];                       //结构体数组 int load()                                         //导入词汇表 
{int i = 0;FILE* fp;if ((fp = fopen("cihuibiao.txt", "r")) == NULL)		//打开文件{printf("无法打开文件!\n");}else {do {fscanf(fp, "%s%s", cihui[i].English, cihui[i].Chinese);i++;} while (feof(fp) == 0);				//遍历}fclose(fp);								//关闭文件return i - 1;
}void search(int i)                       //查询单词功能 
{int a;char b;system("cls");char English[1024];
I:	printf("请输入你要查询的单词\n"); scanf("%s", English);				//用户输入查询的单词for (a = 0; a <= i; a++){if (strcmp(cihui[a].English, English) == 0){printf("中文意思:%s\n", cihui[a].Chinese);break;}}if (a > i)printf("not find\n");printf("是否继续查询?(y/n)\n");fflush(stdin);						//刷新输出缓冲区scanf("%c", &b);if (b == 'y')goto I;else if (b == 'y')return;}int add(int i)                            //实现用户添加词汇表功能
{system("cls");					//清空屏幕printf("请输入你要添加的英文:\n");fflush(stdin);					//刷新输出缓冲区scanf("%s", cihui[i + 1].English);printf("请输入你要添加的中文:\n");fflush(stdin);scanf("%s", cihui[i + 1].Chinese);printf("请在文件中查看"); return i + 1;
}int del(int i)                              // 实现用户删除词汇表功能
{system("cls");char english[20];printf("请输入你要删除的英文:\n");scanf("%s", english);for (int a = 0; a <= i; a++){if (strcmp(cihui[a].English, english) == 0){while (1){strcpy(cihui[a].English, cihui[a + 1].English);strcpy(cihui[a].Chinese, cihui[a + 1].Chinese);a++;if (a > i)goto Z;}}}printf("请在文件中查看"); 
Z:	return i - 1;
}void Save(int i)                                       //清空文件,并将新的数据存入文件 
{FILE* fp = NULL;fp = fopen("词汇表.txt", "w");					//打开文件,只读方式if ((fp = fopen("词汇表.txt", "w")) == NULL){printf("写入文件失败,请重试!");}for (int a = 0; a <= i; a++){fprintf(fp, "%s", cihui[a].English);fputs(" ", fp);fprintf(fp, "%s", cihui[a].Chinese);fputs("\n", fp);}fclose(fp);     //关闭磁盘文件
}int Bye_bye()   		//退出程序
{printf("退出程序\n");return 0;
}int main()
{int a, n, b, i;
L:	i = load();system("cls");//	清空屏幕Menu();a = get_choice();switch (a){case 1: search(i); break;case 2: n = add(i); Save(n); break;case 3: b = del(i); Save(b); break;case 4: Bye_bye();}Sleep(3000);goto L;
} 
 

