1 / 20
文档名称:

C语言课程设计-一种简单的英文词典排版系统的实现.doc

格式:doc   页数:20
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言课程设计-一种简单的英文词典排版系统的实现.doc

上传人:3346389411 2012/8/13 文件大小:0 KB

下载得到文件列表

C语言课程设计-一种简单的英文词典排版系统的实现.doc

文档介绍

文档介绍:目录
课程设计评语 2
目录 3
4
4
5
5
6
13
22
25
26
26

一种简单的英文词典排版系统的实现
【要求】
(1)能输入和现实打入的单词
(2)能分辨出单词
(3)对重复的单词和已经输入的单词能自动排除
(4)能按A~Z的顺序排版
(5)能将运行结果以文本形式储存
(6)具有添加新单词蹦重新排版的能力
[提示]
(1)需求分析:运行结果以文本形式储存,因而要提供文件的输入输出操作;通过查找操作检查重复单词;提供排序操作现实按A~Z的顺序排版;提供插入操作添加新单词并重新排版。另外通过键盘式菜单实现功能选择。
(2)总体设计:整个系统被设计为单词录入模块,文件存储模块和单词浏览模块。其中单词录入模块要完成输入单词,检查是否重复,排序操作。文件存储模块把存放单词的数组中的数据写入文件。单词浏览模块完成英文词典的输出,即文件的输出操作。
(3)数据结构采用指针数组或二维数组。以【Enter】键或者空格键作为单词输入结束标志,对重复的单词自动排除可选用查找方法,数据结构可采用指针和数组。

整个系统被设计为单词录入模块,文件存储模块和单词浏览四个模块。
其中单词录入模块要完成输入单词,检查是否重复,排序操作。文件存储模块把存放单词的词组中的数据写入文件。
单词浏览模块完成英文词典的输出,即文件的输出操作。
这四个模块是整体的设计思路,设计核心,整个程序的设计都将围绕这四个模块进行,各个模块都相互衔接,所以需要在设计好各个部分地同时,还要把握好各个部分的连接。

(英文词典排版系统
单词录入
文件存储
单词浏览


数据结构采用指针数组或二维数组:char* dictionary[N]; 或 char dictionary[N][20]。其中N是宏定义#define N 256 (表示单词个数)
(1)单词录入模块
输入一个单词,存放在一个临时字符数组中,以空格或回车表示单词的结束(这也是默认操作),然后换行输出刚刚输入的单词。采用插入排序算法的思想把该单词插入单词数组中,不同的是如果两个单词相同则不插入。
(2)文件存储模块
采用fwrite或fprintf把单词数组输入到文件中。
(3)单词浏览模块
采用fread或fscanf把单词从文件中读出,然后输出。



【流程图】

显示一系列的功能选项
输入n,判断n是否是1—9
N
Y
根据n的值调用各功能模块函数
【程序】
#include ""
#include ""
#include ""
#include ""
#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 n;    //****n全局变量*****//  
char word[N][20];
void menu()//***主界面***//
{
int n,w;//*变量n保存选择菜单数字,w判断输入的数字是否在功能菜单对应数字范围内*//
do
{
puts("\t\t********************MENU********************\n\n");
puts("\t\t\e to dj's program!\n\n");
puts("\t\t\t\t new word.");
puts("\t\t\t\t all the words.");
puts("\t\t\t\t the word.");
puts("\t\t\t\t the words.");
puts("\t\t\t\t by A-z.");
puts("\t\t\t\t !");
pu