一种简单的英文词典排版系统的实现报告_第1页
一种简单的英文词典排版系统的实现报告_第2页
一种简单的英文词典排版系统的实现报告_第3页
一种简单的英文词典排版系统的实现报告_第4页
一种简单的英文词典排版系统的实现报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国地质大学 C语言程序设计学院 工程学院专业 岩土工程班级 052052-36 学号 20051003848姓名 虞梦泽 NO.4 一种简单的英文词典排版系统的实现一、 题目要求(1) 能输入和显示所打的单词。(2) 能分辨出单词。(3) 对重复的单词和已经输入的单词能自动排除。(4) 能按A-Z的顺序排版。(5) 能将运行结果以文本形式存储。(6) 具有添加新单词并重新排版的能力。二、 需求分析 运行结果以文本方式存储,因而要提供文件的输入输出操作;通过查找操作检查重复单词;提供排序操作实现按A-Z的顺序排版;提供插入操作添加新单词并重新排版。另外通过键盘式菜单实现功能操作选择。三、 总体设计 整个系统被设计为单词录入模块、文件存储模块和单词浏览模块。其中单词录入模块要完成输入单词、检查是否重复、排序操作。文件存储模块把存放单词的数组中的数据写入文件。单词浏览模块完成英文词典的输出,即文件的输出操作/。 数据结构采用指针数组或二维数组。以回车键或空格键作为单词输入结束标志,对重复的单词自动排除可选第一章提到的查找方法,数据结构可采用指针和数组。 英文词典排版系统单词录入模块单词浏览模块文件存储模块四、 详细设计#include#include#include#define N 1000char dicN20;FILE *p;/*清屏*/void clear() system(cls);/*写入文件*/void Write( int r ) int i; p = fopen( Data.txt, w ); for( i = 0; i r; i+ ) fprintf( p, %sn, dici ); fclose(p);/*读取文件*/int Read() int r = 0; p = fopen( Data.txt, r ); while( fscanf( p, %s, dicr ) != EOF ) r+; fclose(p); Write(r); return r;/*主菜单*/void Print() printf( nn ); printf( *n ); printf( * way = 1 : append words *n ); printf( * way = 2 : lookup words *n ); printf(* way = 3 : end work *n ); printf(* way = 4 : cheak *n ); printf( *n ); printf( please choose a way = );/*字符排序*/int sort( ) int i, j, flag = 1, r; char s20; r = Read(); for( i = 1; i r & flag = 1; i+ ) flag = 0; for( j = 0; j 0 ) flag = 1; strcpy( s, dicj ); strcpy( dicj, dicj+1 ); strcpy( dicj+1, s ); Write( r ); return 0;/*检查模块*/void Cheak() int r = 0; clear(); p = fopen( Data.txt, r ); while( fscanf( p, %s, dicr ) != EOF ) printf( %s , dicr ); r+; fclose(p); Write(r); if( r = 0 )printf( there is no word in Data.txtn ); else printf( nnthere are %d words in Data.txt!n, r ); void Insert( char *d ) int i; char f20; int r = Read(); int flag = 0; clear(); for( i = 0; i r; i+ ) if( strcmp( d, dici ) = 0 ) printf( the word %s has already existedn,d ); flag = 1; break; if( flag = 0 ) printf( the word %s is successfully addedn, d ); strcpy( dicr, d ); r+; printf( nncontinue adding,please input a word;back to main menu,input 0 :n ); while( scanf( %s, f ) & ! ( f0 = 0 & f1 = 0 ) ) flag = 0; for( i = 0; i r; i+ ) if( strcmp( f, dici ) = 0 ) clear(); printf( the word %s has already existedn,d ); flag = 1; break; if( flag = 0 ) clear(); printf( the word %s is successfully addedn, f ); strcpy( dicr, f ); r+; printf( nncontinue adding,please input a word;back to main menu,input 0 :n ); Write( r ); sort(); clear(); return;/*查找已录入单词*/void Find( char *s ) char t20; int flag = 0; char f20; int r = 0, c, i; int temp; p = fopen( Data.txt, r ); clear(); while( fscanf( p, %s, t ) != EOF ) strcpy( dicr, t ); r+; temp = strcmp( s, t ); if( temp = 0 ) c = r; flag = 1; Write( r ); if( flag ) printf( %ss sequence number is %d!n, s, c ); else printf( can not find %s!n, s ); printf( nncontinue lookuping,please input a word;back to main menu,input 0 :n ); while( scanf( %s, f ) & ! ( f0 = 0 & f1 = 0 ) ) flag = 0; for( i = 0; i r; i+ ) if( strcmp( f, dici ) = 0 ) flag = 1; c = i+1; break; if( flag ) clear(); printf( %ss sequence number is %d!n, f, c ); else clear(); printf( can not find %s!n, f ); printf( nncontinue lookuping,please input a word;back to main menu,input 0 :n ); clear(); return;/*菜单选择模块*/void Work() int i, way; char d20; while( 1 ) Print(); scanf( %d, &way ); switch( way ) case 1: printf( please input a word : ); scanf( %s, d ); Insert(d ); break; case 2: printf( please input a word : ); scanf( %s, d ); Find( d ); break; case 3: printf( all the words are saved in Data.txt ! ); return; case 4: clear(); Cheak(); /*主函数*/void main() Cheak(); sort(); Work();五、 运行结果: (1)主菜单 (2)添加单词界面 (3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论