c语言英汉词典维护函数 c语言英汉字典

c语言英语词典程序

// 词典.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include windows.h #include stdio.h #include malloc.h #include winbase.h #include process.h void Search() void InsertItem() int main(int argc, char* argv[]) while(index0||index5); /*选择项不在0~4之间重输*/ switch(index) return 0; } 输出: **************MENU*************** 1 英译汉 2 插入新的词条 3 清空屏幕 4 退出 ********************************** 请选择操作(1~4): 1 请输入要查询的单词: bad adj. 劣质的,有害的,坏的,不利的,不健康的,严重的 **************MENU*************** 1 英译汉 2 插入新的词条 3 清空屏幕 4 退出 ********************************** 请选择操作(1~4): 2 请输入要插入的单词: cat 请输入单词的解释: 猫 插入成功。 **************MENU*************** 1 英译汉 2 插入新的词条 3 清空屏幕 4 退出 ********************************** 请选择操作(1~4): 1 请输入要查询的单词: cat 猫 **************MENU*************** 1 英译汉 2 插入新的词条 3 清空屏幕

成都创新互联秉承实现全网价值营销的理念,以专业定制企业官网,成都网站制作、网站建设,重庆小程序开发公司,网页设计制作,手机网站开发,全网整合营销推广帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。

如果帮助到您,请记得采纳为满意答案哈,谢谢!祝您生活愉快! vae.la

c语言--编程,电子英汉词典的设计

/*基本的库函数*/

#include conio.h

#include stdio.h

#include stdlib.h

#include string.h

#define szWORD 32

#define szSTRN 224

#define szITEM sizeof(struct TItem)

char fileDict[szSTRN];

typedef struct TItem {

char word[szWORD];

char mean[szSTRN];

} Item;

fpos_t lookup(char *word, char *mean)

{

FILE * f = 0; Item i;

int r = 0; fpos_t p = 0;

if(!word) return 0;

f = fopen(fileDict, "rb");

if (!f) return 0;

while(!feof(f)) {

fgetpos(f, p);

r = fread(i, szITEM, 1, f);

if(r 1) break;

if(i.word[0] == 0) continue;

if(strcmp(i.word , word)) continue;

if(mean) strcpy(mean, i.mean );

fclose(f);

return p+1;

}

fclose(f);

return 0;

}

void append(void)

{

Item i; FILE * f = 0; fpos_t p = 0;

memset(i, 0, szITEM);

printf("请输入单词:"); scanf("%s", i.word );

p = lookup(i.word, 0 );

if(p) {

printf("字典内已经有该单词记录!\n");

return;

}

printf("请输入释义,按回车结束:");

fflush(stdin);

gets(i.mean );

f = fopen(fileDict, "ab");

fwrite(i, szITEM, 1, f);

fclose(f);

printf("词条已新增\n");

}

void erase(void)

{

Item i; FILE * f = 0; fpos_t p = 0;

memset(i, 0, szITEM);

printf("请输入单词:"); scanf("%s", i.word );

p = lookup(i.word, 0 );

if(p==0) {

printf("字典内没有该单词记录!\n");

return;

}

p--;

memset(i, 0, szITEM);

f = fopen(fileDict, "rb+");

fsetpos(f, p);

fwrite(i, szITEM, 1, f);

fclose(f);

printf("词条已删除\n");

}

void edit(void)

{

Item i; FILE * f = 0; fpos_t p = 0;

memset(i, 0, szITEM);

printf("请输入单词:"); scanf("%s", i.word );

p = lookup(i.word, 0 );

if(p==0) {

printf("字典内没有该单词记录!\n");

return;

}

p--;

printf("请输入释义,按回车结束(输入abort放弃修改):");

fflush(stdin);

gets(i.mean );

if(strstr(i.mean ,"abort")) {

printf("已放弃修改!\n");

return ;

}

f = fopen(fileDict, "rb+");

fsetpos(f, p);

fwrite(i, szITEM, 1, f);

fclose(f);

printf("词条已保存\n");

}

void query(void)

{

Item i; fpos_t p = 0;

memset(i, 0, szITEM);

printf("请输入单词:"); scanf("%s", i.word );

p = lookup(i.word, i.mean );

if(p==0) {

printf("字典内没有该单词记录!\n");

return;

}

printf("【词条】%s\n【释义】%s", i.word , i.mean );

}

void set(void)

{

int cmd = 0;

printf("当前字典为%s,需要改变吗(选择y或Y改变)?", fileDict);

cmd = getch();

if(cmd == 'y' || cmd == 'Y') {

printf("请输入字典文件名称(包含路径):");

scanf("%s", fileDict);

printf("设置成功!\n");

}

}

int main(int argc, char * argv[])

{

int cmd = 0;

if(argc 1)

strcpy(fileDict, argv[1]);

else

strcpy(fileDict, "c:\\dict.txt");

/*end if*/

for(;;) {

printf("\n\

************************\n\

** 欢迎使用迷你字典!**\n\

************************\n\

** 0 - 设置字典 **\n\

** 1 - 查询词条 **\n\

** 2 - 新增词条 **\n\

** 3 - 编辑词条 **\n\

** 4 - 删除词条 **\n\

** 5 - 退出字典 **\n\

************************\n");

cmd = getch() - '0';

switch(cmd) {

case 0: set(); break;

case 1: query(); break;

case 2: append(); break;

case 3: edit(); break;

case 4: erase(); break;

default: return 0;

}

}

return 0;

}

用c语言编写电子英汉词典。

我用VC写了一个

比较简单的

// 词典.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include windows.h

#include stdio.h

#include malloc.h

#include winbase.h

#include process.h

void Search()

{

char temp[100];

char buffer[2];

char result[100];

printf("请输入要查询的单词:\n");

scanf("%s",temp);

buffer[0]=temp[0];

buffer[1]='\0';

int ret=GetPrivateProfileString(buffer,temp,0,result,100,"./date.ini");

if(ret0)

printf("%s\n\n\n\n\n",result);

else

printf("对不起,没有您要查找的单词.\n\n\n\n\n");

}

void InsertItem()

{

char temp[100];

char buffer[2];

char result[100];

printf("请输入要插入的单词:\n");

scanf("%s",temp);

printf("请输入单词的解释:\n");

getchar();

scanf("%s",result);

buffer[0]=temp[0];

buffer[1]='\0';

int ret=WritePrivateProfileString(buffer,temp,result,"./date.ini");

if(ret=0)

printf("插入失败。\n\n\n\n\n");

else

printf("插入成功。\n\n\n\n\n");

}

int main(int argc, char* argv[])

{

int index;

main:

printf("**************MENU***************\n\n");

printf(" 1 英译汉\n");

// printf("2 汉译英\n");

printf(" 2 插入新的词条\n");

// printf(" 3 删除已有词条\n");

printf(" 3 清空屏幕\n");

printf(" 4 退出\n\n");

printf("**********************************\n");

do{

printf("请选择操作(1~4):\n");

scanf("%d",index); /*输入选择项*/

}while(index0||index5); /*选择项不在0~4之间重输*/

switch(index)

{

case 1:

Search();

goto main;

break;

case 2:

InsertItem();

goto main;

break;

case 3:

system("cls");

goto main;

break;

case 4:

return 0;

break;

default:

break;

}

return 0;

}

输出:

**************MENU***************

1 英译汉

2 插入新的词条

3 清空屏幕

4 退出

**********************************

请选择操作(1~4):

1

请输入要查询的单词:

bad

adj. 劣质的,有害的,坏的,不利的,不健康的,严重的

**************MENU***************

1 英译汉

2 插入新的词条

3 清空屏幕

4 退出

**********************************

请选择操作(1~4):

2

请输入要插入的单词:

cat

请输入单词的解释:

插入成功。

**************MENU***************

1 英译汉

2 插入新的词条

3 清空屏幕

4 退出

**********************************

请选择操作(1~4):

1

请输入要查询的单词:

cat

**************MENU***************

1 英译汉

2 插入新的词条

3 清空屏幕

4 退出

**********************************

请选择操作(1~4):

4

Press any key to continue


分享标题:c语言英汉词典维护函数 c语言英汉字典
新闻来源:http://cdiso.cn/article/ddoejde.html

其他资讯