C语言课程设计一种简单的英文词典排版系统的实现
目 录
课程设计评语2
目 录3
1.课程论文题目4
2.程序设计思路4
3.功能模块图5
4.数据结构设计5
5.算法设计6
6.程序代码13
7.程序运行结果22
8.编程中遇到的困难及解决方法25
9.总结心得及良好建议26
10.致谢26
1.课程论文题目
一种简单的英文词典排版系统的实现
【要求】
(1)能输入和现实打入的单词
(2)能分辨出单词
(3)对重复的单词和已经输入的单词能自动排除
(4)能按A~Z的顺序排版
(5)能将运行结果以文本形式储存
(6)具有添加新单词蹦重新排版的能力
[提示]
(1)需求分析:运行结果以文本形式储存,因而要提供文件的输入输出操作;通过查找操作检查重复单词;提供排序操作现实按A~Z的顺序排版;提供插入操作添加新单词并重新排版。另外通过键盘式菜单实现功能选择。
(2)总体设计:整个系统被设计为单词录入模块,文件存储模块和单词浏览模块。其中单词录入模块要完成输入单词,检查是否重复,排序操作。文件存储模块把存放单词的数组中的数据写入文件。单词浏览模块完成英文词典的输出,即文件的输出操作。
(3)数据结构采用指针数组或二维数组。以【Enter】键或者空格键作为单词输入结束标志,对重复的单词自动排除可选用查找方法,数据结构可采用指针和数组。
4.数据结构设计
数据结构采用指针数组或二维数组:char* dictionary[N]; 或 char dictionary[N][20]。其中N是宏定义#define N 256 (表示单词个数)
(1)单词录入模块
输入一个单词,存放在一个临时字符数组中,以空格或回车表示单词的结束(这也是默认操作),然后换行输出刚刚输入的单词。采用插入排序算法的思想把该单词插入单词数组中,不同的是如果两个单词相同则不插入。
(2)文件存储模块
采用fwrite或fprintf把单词数组输入到文件中。
(3)单词浏览模块
采用fread或fscanf把单词从文件中读出,然后输出。
5.算法设计
1.主函数
【流程图】
N
Y
【程序】
#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;//****n全局变量*****//charord[N][20];
void menu()//***主界面***//
{
int n,w;//*变量n保存选择菜单数字,w判断输入的数字是否在功能菜单对应数字范围内*//
do
{
puts(“tt********************MENU********************nn”);
puts(“tttWelcome to dj’s program!nn”);
puts(“tttt 1.Add new word.”);
puts(“tttt 2.Browse all the words.”);
puts(“tttt 3.Search the word.”);
puts(“tttt 4.Sort the words.”);
puts(“tttt 5.Order by A-z.”);
puts(“tttt 6.Exit!”);
puts(“nntt****************************************n”);
printf(“Choice your number(1-6): [ ]bb”);
scanf(“%d”,&n);
if(n<1||n>6)//*对选择的数字作判断*//
{
w=1;
getchar();
}
else w=0;
}while(w==1);
switch(n)
{
case 1:add();break;//*追加模块*//
case 2:browse();break;
文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览113318 人正在系统学习中 相关资源:丝柏人像美肤处理软件CPAC Imaging Pro 3绿化汉化破解版
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!