怎么用C++编写出一个英汉字典程序

怎么用C++编写出一个英汉字典程序,第1张

#include<iostream>

using namespace std;

#include<stringh>

#define N 1024

int nWord=2;

char h[N][21]={"你好","再见",0};

char y[N][21]={"hello","bye",0};

void ReadFile() { FILE fp; char buffer[21]; int i;

nWord=0;

if ( fp=fopen("c:\\htxt","r") ) {

fgets(buffer,20,fp); sscanf(buffer,"%d",&nWord);

for ( i=0;i<nWord;i++ ) fgets(fp,20,h[i]);

fclose(fp);

} else printf("无法打开汉语短语文件\n");

if ( fp=fopen("c:\\ytxt","r") ) {

fgets(buffer,20,fp);

for ( i=0;i<nWord;i++ ) fgets(fp,20,y[i]);

fclose(fp);

} else printf("无法打开英语短语文件\n");

}

void main() { unsigned char s[20]; int i;

ReadFile();

cin>>s;

if ( s[0]>127 ) for ( i=0;i<nWord;i++ ) if ( strcmp(s,h[i])==0 ) cout<<y[i]<<endl;

else for ( i=0;i<nWord;i++ ) if ( strcmp(s,y[i])==0 ) cout<<h[i]<<endl;

}

两个文件存放到c盘根目录:

htxt : 第1行写短语个数,后面每行一个短语,行数不要超过N,短语字符数不要超过20,否则改程序

2

你好

再见

ytxt: 第1行写短语个数,后面每行一个短语,行数不要超过N,短语字符数不要超过20,否则改程序

2

hello

bye

读入一个字典类型的字符串,反转其中键值对输出。

即,读入字典key:value模式,输出value:key模式。

用户输入的字典格式的字符串,如果输入不正确,提示:输入错误。

给定字典d,按照print(d)方式输出

提供一些思路吧:

如果使用C,可以考虑用一个搜索树实现,就是一个26叉树,每个节点最后带有该单词的解释,搜索一个单词的时候从树根开始,每个字母选择一个分支,单词搜索完,停留的节点最后就是对应的解释,这个方法在查询的时候时间复杂度可以达到O(1)。

如果使用C++,可以考虑使用map,key是单词,value是解释。

分别输入key和value,key输入回车结束

dic = {}

while True:

    key = input('Input key:')

    if key == '':

        break

    value = input('Input value:')

    dic[key] = value

for key, value in dicitems():

    print(key + ' : ' + value)

以上就是关于怎么用C++编写出一个英汉字典程序全部的内容,包括:怎么用C++编写出一个英汉字典程序、Python123 Python语言程序设计 -字典翻转输出、如何用c++编写一个生成字典的小程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9704484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存