问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言简单的英文词典排版系统的实现

发布网友 发布时间:2022-04-28 22:40

我来回答

3个回答

热心网友 时间:2022-06-24 10:04

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

热心网友 时间:2022-06-24 10:04

付费内容限时免费查看回答打开CSDN APP

Copyright © 1999-2020, CSDN.NET, All Rights Reserved

二进制*攻略

登录

英文字典设计c语言代码,一种简单的英文词典排版系统 转载

2021-05-22 14:15:33

戒糖ing

码龄4年

关注

《一种简单的英文词典排版系统》由会员分享,可在线阅读,更多相关《一种简单的英文词典排版系统(20页珍藏版)》请在人人文库网上搜索。

1、中国地质大学(武汉)C语言课程设计论文学 院:工程学院 专 业:勘察技术与工程 题 目:一种简单的英文词典排版系统 班 级:54073 姓 名: 学 号: 2009年1月一种简单的英文词典排版系统摘 要在英文词典排版当中,人工统计的速度很慢,且容易出现差错。本英文词典排版系统的自动化加速了排版工作,提高工作效率本程序主要采用对零散的单词进行自动读取,然后按单词首字母顺序讲单词保存到文档,这样的结构化非常便于程序后续的排版工作。排版具体过程涉及到自动排除重复单词与添加新单词并重新排版等问题,将于正问中详细介绍。本程序实现了所有设计要求。关键词:英文词典排版系统,结构体,排版,单词目 录 中文摘要。

2、主要符号表1 题目要求11.1.12 需求分析3 总体设计4 详细设计4.1主函数4.2各功能模块设计5运行结果(附带抓图)6总结参考文献致谢主要符号表#include stdlib.h 为exit()函数提供原型; #include string.h字符串处理函数原型; #include ctype.h字符处理函数原型; #define ROWS 256 #define COLS 32定义“字典”的大小:可存放256个单词,每个单词的长度不超过31 static FILE *fp;定义文件指针:内部链接,文件作用域; static char aROWSCOLS;定义数组:内部链接,文件作用域。

3、;该数组的作用是将文件的内容复制进来,并加以处理。因为处理数组比处理文件方便。 char get_option(void);接收用户的选项,防止误操作。若输入“a;”(不包括引号),那么将视为选项a int b(int count);完成选项b的作用接收新单词; void c(char *pt, int count);完成选项c的作用通过指针对

亲,希望我的回答能够帮到你。

亲你好,方便的话用,用发财小手给我个5星赞,谢谢

热心网友 时间:2022-06-24 10:05

用链表吧;
给你说思想,你自己动手写代码;
利用十字链表;
struct
Dir{

char*word;

Dir*next;
};
2,然后在外部可以26个字母的结构体变量就行了(数组形式)
....
根据这2点就可以动手写了,楼主,加油。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
形容手表很舒服的句子 情侣手表的对话句子 租门面和房东鉴了十年合同,房东要退店面,我可以不退吗,继续经 ...一篇朝花夕拾里十篇小短文的主要内容及作者的情感和主要人物的... 什么叫狼狗 狼狗的生活习性有哪些? 起个姓罗好听的宝宝名字 野火的近义词 个是词语解释 请旌词语解释 新课堂ab卷电子版哪里有 新课堂ab卷电子版哪里有? 人人文库网怎么下载文档- 问一问 人人文库可以免费下载吗 人人文库网 iphone5越狱以后怎么设置呼叫转移? 全向吸顶天线有什么用途? 那些大学设有“ 电波传播 与天线” 测试归一化场地衰减是用什么天线,接受天线和发射天线分别是什么,还有水平极化和垂直极化是什么意思 9/10dbi单极化室内定向对数周期天线 做什么用的 宽带对数周期定向天线是双极化天线吗 对数周期天线能干啥 请问大棚种植葡萄需要搭建的大棚成本多少钱一亩,另外大棚葡萄每亩年产量和露天葡萄相比哪个高。 樱桃大棚骨架用卡簧可以吗? 想在已经做好的柜子中安装隔板,怎么做呢? Nano-SIM标准的标准方案 视频下到U盘里怎样转换MP3格式 mate30高德打车从哪里扣款 衣柜内部的隔板是怎么固定的 我在高德叫了辆滴滴,请问它是在哪里扣费的?(微信、支付宝都没扣钱)? 送气工证试题上哪里下载? 除了道客巴巴、豆丁网,还有哪些文库网站可以上传资料赚钱的? 秦始皇兵马俑与波斯尼小姐在塑造的艺术手法上有什么不同? 为什么大多数人喜欢喝酱香酒,原因在这里 《国学概论人人文库717718》pdf下载在线阅读全文,求百度网盘云资源 懂酒的人为什么只喝酱香酒?酱香酒有什么优缺点? 2021年新一轮家电下乡补贴 人人文库一个积分一块钱吗? 这个不动产证明是什么意思? 喝酒为什么要喝酱酒? 一种简单英文词典排版系统的实现 C语言编程 1.2寸管螺纹底孔多大?用规格怎么表示, 是G1-1/4吗? 为什么大家都爱喝酱香酒? 新课堂ab卷电子版六年级上册语文哪里有? 一种简单的英文词典排版系统的实现 酱香型白酒越来越受欢迎,你知道是为什么吗? 不动产证是什么 为何酱香型白酒受消费者追捧,除了这些年你还想知道什么? 不动产证是什么东西?它有什么作用? 梦见被黑狗咬到私出用手掰手流血