c语言英语词典程序

c语言英语词典程序,第1张

// 词典.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(index<0||index>5)/*选择项不在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

#include "stdio.h" #include "stdlib.h" #include "string.h" #include "ctype.h" #define ROWS 256 #define COLS 32 static FILE *fpstatic char a[ROWS][COLS]char get_option(void)int b(int count)void c(char *pt[], int count)int check(char arr[], int count)void storage(char *pt[], int count)int main(void) { int i,countint startchar *pt[ROWS]char ch, lenchar inputif((fp=fopen("words.txt","a+"))==NULL) { fputs("不能打开或建立文件!\n",stderr)exit(1)} fseek(fp,0L,SEEK_END)start=(int)ftell(fp)/32count=startrewind(fp)if(fread(a,32*sizeof(char),start,fp)==0) { i=0puts("请输入单词(每行一个虚谨),在新行输入END结束输入:")while(i<ROWS&&scanf("%s", a[i])==1) { fflush(stdin)if(strncmp(a[i],"END",3)==0) { count+=ibreak} if(check(a[i], i)) continuei++} } puts("您要做些什么?困雀")puts("a. 显示已有的单词 b. 添加新单词")puts("c. 对已有的单词进行排序 d. 退出")while((input=get_option())!='d') { if(input=='a') { puts("已有的单词:")for(i=0i<counti++) { printf(" ")puts(a[i])} } if(input=='b') { puts("请输入新的单词(汪誉早每行一个),在新行输入END结束输入: ")count=b(count)} if(input=='c') { puts("对单词进行排序:")c(pt, count)for(i=0i<counti++) { printf(" ")puts(pt[i])} } puts("还要做些什么?")} storage(pt,count)fclose(fp)puts("再见!")return 0} char get_option(void) { char chwhile((ch=getchar())<'a'||ch>'d') { while((ch=getchar())!='\n') puts("请输入a,b,c或者d.")} fflush(stdin)return ch} int b(int count) { int ii=countwhile(i<ROWS&&scanf("%s", a[i])==1) { fflush(stdin)if(check(a[i], i)) continueif(strncmp(a[i],"END",3)==0) { count=ibreak} i++} return count} void c(char *pt[], int count) { int i,jchar *tempfor(i=0i<ROWSi++) pt[i]=a[i]for(i=0i<counti++) for(j=i+1j<countj++) { if(strcmp(pt[i],pt[j])>0) { temp=pt[i]pt[i]=pt[j]pt[j]=temp} } } int check(char arr[], int count) { int iint flag=0for(i=0i<strlen(arr)i++) if(isalpha(arr[i])==0) { printf("%s不是一个单词.\n",arr)flag=1break} for(i=0i<counti++) if(strncmp(a[i],a[count],strlen(a[count])+1)==0) { puts("重复的单词!")flag=1} return flag} void storage(char *pt[], int count) { int i,jchar ptr[ROWS][COLS]c(pt, count)for(i=0i<counti++) for(j=0pt[i][j]!='\0'j++) ptr[i][j]=pt[i][j]fp=fopen("words.txt","w+")rewind(fp)fwrite(ptr,32*sizeof(char),count,fp)}


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

原文地址: http://outofmemory.cn/yw/8180284.html

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

发表评论

登录后才能评论

评论列表(0条)

保存