如何用C语言来制作翻译器

这是我们的课程设计,如何使用C语言来制作一个翻译器。
即启动程序后,输入“如果”+回车,会出现“if”。反之输入英文则出现对应的中文翻译。并且在查询后可以继续查询,直到输入“bye”则结束程序。

写了一个简单的翻译器,只提供单词翻译,中文到英文,英文到中文都行,你需要首先进行字典录入。录入以后会自动在目录下生成一个dic.txt文件。
#include
"stdio.h"
#include
"stdlib.h"
#include
"string.h"
#define
filename
"dic.txt"
struct
word
//字典结构体
{
char
chinese[20];
//中文
char
english[20];
//英文
};
/////////////////////////////////////////////////////////////
file
*fp;
//全局文件指针
file
*
fileopen(char
filename[])
//文件打开函数
{
file
*fp;
if((fp=fopen(filename,"r"))==null)
{
fp=fopen(filename,"w");
cout<<"文件打开失败重新创建记录文件";
return
fp;
}
fp=fopen(filename,"a+");
return
fp;
}
void
fileclose(file
*fp)
//文件关闭函数
{
if(fclose(fp)==0)
cout<<"安全关闭"<<endl;
else
cout<<"文件关闭失败"<<endl;
}
////////////////////////////////////////////////////////////////
void
tra1()
//中文翻译成英文模块
{
file
*fp;
if((fp=fopen(filename,"r"))==null)
{
printf("文件打开失败!");
}
char
tempchinese[20];
word
temp;
printf("请输入中文单词:");
scanf("%s",tempchinese);
while(fread(&temp,sizeof(word),1,fp)==1)
{
if(strcmp(temp.chinese,tempchinese)==0)
{
printf("中文:%s
英文:%s
\n",temp.chinese,temp.english);
}
}
printf("查找完毕!");
fileclose(fp);
}
//////////////////////////////////////////////
void
tra2()
//英文翻译成中文模块
{
file
*fp;
if((fp=fopen(filename,"r"))==null)
{
printf("文件打开失败!");
}
char
tempenglish[20];
word
temp;
printf("请输入英文单词:");
scanf("%s",tempenglish);
while(fread(&temp,sizeof(word),1,fp)==1)
{
if(strcmp(temp.english,tempenglish)==0)
{
printf("中文:%s
英文:%s
\n",temp.chinese,temp.english);
}
}
printf("查找完毕!");
fileclose(fp);
}
////////////////////////////////////////////////
void
inp()
//字典录入模块
{
fp=fileopen(filename);
word
temp;
printf("请输入英文:");
scanf("%s",temp.english);
printf("请输入对应中文:");
scanf("%s",temp.chinese);
fwrite(&temp,sizeof(temp),1,fp);
printf("信息添加完成");
fileclose(fp);
}
////////////////////////////////////////////////
int
menu()
//主目录模块
{
int
choose;
while(choose!=0)
{
printf("\n");
printf("简易中英翻译系统\n");
printf("1、中->英翻译\n");
printf("2、英-中翻译\n");
printf("3、字典录入\n");
printf("输入0退出系统\n");
printf("请输入:");
scanf("%d",&choose);
switch(choose)
{
case
0:return
0;break;
case
1:tra1();break;
case
2:tra2();break;
case
3:inp();break;
}
}
}
///////////////////////////////////////////////////////
void
main()
{
menu();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-18
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define szSTR 32
struct TWordPair {
char A[szSTR];
char B[szSTR];
} Dict[] = {
{"if", "如果"},
{"else", "否则"},
{"then", "那么"},
{"bye", "再见"}
};/*end dict*/

char * translate(const char * source)
{
int i = 0; struct TWordPair * p = 0;
int c = 0; int sz = sizeof(Dict) / sizeof(struct TWordPair);
for(i = 0; i < sz; i++) {
p = Dict + i;
c = strcmp(source, p->A);
if (c == 0) return p->B;
c = strcmp(source, p->B);
if (c == 0) return p->A;
}
return 0;
}

int main(void)
{
char source[szSTR] = ""; char * result = 0; int c = 0;
do {
scanf("%s", source);
result = translate(source);
if (result)
printf("“%s”的意思是“%s”\n", source, result);
else
printf("当前字典内无“%s”\n", source);

c = strcmp("bye", source);
}while(c);
return 0;
}本回答被网友采纳

如何用C语言来制作翻译器
写了一个简单的翻译器,只提供单词翻译,中文到英文,英文到中文都行,你需要首先进行字典录入。录入以后会自动在目录下生成一个dic.txt文件。include "stdio.h"include "stdlib.h"include "string.h"define filename "dic.txt"struct word \/\/字典结构体 { char chinese[20];\/\/中文 char english[2...

如何用C语言来制作翻译器
写了一个简单的翻译器,只提供单词翻译,中文到英文,英文到中文都行,你需要首先进行字典录入。录入以后会自动在目录下生成一个dic.txt文件。include "stdio.h"include "stdlib.h"include "string.h"define FILENAME "dic.txt"struct word \/\/字典结构体 { char chinese[20]; \/\/中文 char e...

C语言编程利用文件等新知识点编程实现一个翻译器,将一个文件中的小写...
void convert(char *path){ char ch;int i=0;char *temp=(char *)malloc(sizeof(char));FILE *fp=fopen(path,"r");while(!feof(fp)){ ch=fgetc(fp);(temp+i++)=(ch>='a' && ch<='z')?ch-('a'-'A'):ch;temp=(char *)realloc(temp,sizeof(char)*(i+1));} (temp+...

c语言翻译器
把前面改成这样#include<stdio.h>

c语言在线翻译器
这个是大数加法的程序了,1 先进行分割,2 然后将对应的字符数字保存为数字逆序放到数组里,3 在做加法,进位的时候后面以为加,低位和减去10为低位,4 逆序输出结果

求编程,编一个简单的翻译器,5句英文翻译成中文就可以了。用c语言...
2.【词性】(你学习语法的时候要用到吧)3.【其他】(词组了什么的,有发音功能的话还得记录音标吧、、呵呵)然后,要教它语法吧、、、这其实是最难的,语法就相当于你的算法了,程序的灵魂所在;这也许就是C一直吸引着我们的地方,将抽象变为具体,呵呵、、祝你学习愉快、、、...

c语言关键字中英翻译机,要求创建文件搜索
程序使用结构链表实现。由于我写的函数已经自动识别中英文输入,中英文翻译功能其实可以合并成一个选项(3,4选项),但你题目既然要求2项目,所以没合并。根据题目,创建字典是覆盖性,既每次创建输入,都会覆盖掉原文件,但考虑后期扩展,我的函数writeFile可以不覆盖,在原文件后新增,具体看备注。菜单显示...

我想制作个翻译软件,怎么弄
输入英语后 对应数据库查找其对应的汉语。比如,你要查see,先输入see,然后软件根据编写的程序 在数据库中找到see,然后把see对应的汉语显示出来,做个简单是不难。就是把那么多英文 汉语输入就很麻烦了。用C#语言做比较简单,做个面板出来连接数据库就行。数据库为access最简单 ...

c语言翻译机可以添加的功能?
C语言翻译机可以添加许多功能来增强其性能和实用性。以下是一些可能的功能:1. 多语言支持:添加更多语言的翻译功能,使其能够支持更广泛的语言翻译需求。2. 语音识别:添加语音识别功能,使用户可以通过语音输入文本进行翻译。3. 离线模式:提供离线翻译功能,使用户无需网络连接也能使用翻译服务。4. 自动...

C语言翻译器
翻译成啥? 题目翻译成代码? 那还要程序员干啥用

相似回答
大家正在搜