如何使用C语言实现一个简单的字典

您所在的位置:网站首页 简单的近义词怎么写 如何使用C语言实现一个简单的字典

如何使用C语言实现一个简单的字典

2024-07-10 17:14| 来源: 网络整理| 查看: 265

题目要求:

实现简单的英汉词典,词库就10个单词好了 实现功能: 输入单词时,可以输出相应的中文 输入中文时,可以输出相应的英文 如果输入的单词或者中文查找不存在时,则输出"你所查找的内容不存在,请重新输入"。 【要求使用链表来实现,并且直至输入能查找的词时程序才退出,只要查找不到就要一直重复输入】

提供10个单词 one 一 two 二 three 三 four 四 five 五 six 六 seven 七 eight 八 nine 九 ten 十

#include #include #include #define WORDSIZE 20 #define MEANSIZE 25 struct Record{ char word[WORDSIZE]; char mean[MEANSIZE]; }; struct Node{ struct Record data; struct Node *next; }; int flag = 0; void initData(struct Node *head); void printData(struct Node *head); void searchByWord(struct Node *head,char *word); void searchByMean(struct Node *head,char *mean); int main() { struct Node* head; head = (struct Node*)malloc(sizeof(struct Node)); initData(head); int choose; char input[20]; while(!flag){ printf("------------------\n"); printf("1.根据中文查英文\n"); printf("2.根据英文查中文\n"); printf("------------------\n"); printf("请输入你的选择\n"); scanf("%d",&choose); switch(choose) { case 1: printf("请输入(中文):"); scanf("%s",input); searchByMean(head,input); break; case 2: printf("请输入(英文):"); scanf("%s",input); searchByWord(head,input); break; default: printf("输入有误,请重新输入\n"); break; } //printData(head); } return 0; } //初始化数据 void initData(struct Node *head) { char english[10][6] = {"One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten"}; char chinese[10][10] = {"一","二","三","四","五","六","七","八","九","十"}; struct Node *p = head; int i; for(i=0;idata).word,english[i]); strcpy((temp->data).mean,chinese[i]); //printf("%s",(temp->data).word); //printf("%s",(temp->data).mean); p->next = temp; p = p->next; } p->next = NULL; } //打印出链表数据 void printData(struct Node* head) { struct Node* p = head; p = p->next; while(p!=NULL){ printf("word is;%s\n",(p->data).word); printf("mean is:%s\n",(p->data).mean); p = p->next; } } //根据英文查中文 void searchByWord(struct Node *head,char *word) { struct Node* p = head; p = p->next; while(p!=NULL){ if(strcmp((p->data).word,word)==0) { printf("\t---已找到---\n"); printf("\tENGLISH\tCHINESE\n"); printf("\t%s\t%s\n",(p->data).word,(p->data).mean); printf("\t--------------\n"); flag = 1; break; } else{ p = p->next; } } printf("未找到,请重新输入\n"); } //根据中文查英文 void searchByMean(struct Node *head,char *mean) { struct Node* p = head; p = p->next; while(p!=NULL){ if(strcmp((p->data).mean,mean)==0) { printf("\t---已找到---\n"); printf("\tENGLISH\tCHINESE\n"); printf("\t%s\t%s\n",(p->data).word,(p->data).mean); printf("\t--------------\n"); flag = 1; break; } else{ p = p->next; } } printf("未找到,请重新输入\n"); }

最近帮小师弟写的一个小demo,顺便让自己复习了一波C语言的知识。。。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3