logo资料库

一种简单的英文词典排版系统的实现.doc

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
课程设计评语
目 录
1.课程论文题目
3功能模块图
4.数据结构设计
5.算法设计
6.程序代码
7.程序运行结果
8.编程中遇到的困难及解决方法
9.总结心得及良好建议
10.致谢
中 国 地 质 大 学 本科生课程论文封面 1
课程设计评语 对课程论文的评语: 平时成绩: 课程论文成绩: 总 成 绩: 评阅人签名: 注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 2
目 录 课程设计评语 ....................................................................................................................................... 2 目 录 ..................................................................................................................................................... 3 1.课程论文题目................................................................................................................................. 4 2.程序设计思路................................................................................................................................. 4 3.功能模块图 ..................................................................................................................................... 5 4.数据结构设计................................................................................................................................. 5 5.算法设计......................................................................................................................................... 5 6.程序代码......................................................................................................................................... 6 7.程序运行结果................................................................................................................................. 9 8.编程中遇到的困难及解决方法 ...................................................................................................12 9.总结心得及良好建议 ...................................................................................................................13 10.致谢 ............................................................................................................................................. 13 3
1.课程论文题目 C 语言课程设计的目的: 一、 高级语言课程设计是学习完《高级语言程序设计》课程后进行的一次全面的综合性上机实验。 其目的在于为同学提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际 有机的结合起来,锻炼同学的分析解决实际问题的能力。提高学生适应实际,实践编程的能 力。 二,要求一种简单的英文词典排版系统的实现 (1) 能输入和显示打入的单词。 (2) 能分辨出单词。 (3) 对重复的单词和已经输入的单词能自动排除。 (4) 能按 A~Z 的顺序排版。 (5) 能将运行结果以文本形式存储。 (6) 具有添加新单词并重新排版的能力。 2.程序设计思路 构架 建立词库 添加单词 排序 对 单 词 进 行 浏览单词 存储单词 结束 4
3 功能模块图 一种简单的英文词典排版系统 单词录入 单词排序 单词浏览 删除单词 添加单词 单词存储 4.数据结构设计 #include "stdlib.h" ---为 exit()函数提供原型; #include "string.h"---字符串处理函数原型; #include "ctype.h"---字符处理函数原型; #define ROWS 256 #define COLS 32---定义“字典”的大小:可存放 256 个单词,每个单词的长度不超过 31 static FILE *fp;---定义文件指针:内部链接,文件作用域; static char a[ROWS][COLS];---定义数组:内部链接,文件作用域;该数组的作用是将文 件的内容复制进来,并加以处理。因为处理数组比处理文件方便。 char get_option(void);---接收用户的选项,防止误操作。若输入“a;”(不包括引号),那么 将视为选项 a int b(int count);---完成选项 b 的作用--接收新单词; void c(char *pt[], int count);---完成选项 c 的作用--通过指针对数组排序,实际数组元素 位置未改变; int check(char arr[], int count);---对输入的单词进行分辨,若输入 ni hao ,将视为单词 ni , 并且提示并剔除重复的单词; void storage(char *pt[], int count);---在程序结束之前重新排序存储数组中的单词到文件 中。 5.算法设计 整个系统呗设计为单词录入模块、文件存储模块和单词浏览模块。其中单词录入模块要完成 输入单词、检查是否重复、排序操作。文件存储模块把存放单词的数组中的数据写入文件。 单词浏览模块完成英文词典的输出,即文件的输出操作。 将算法用流程图来表示,则有: 5
一种简单的英文词典排版系统 单词浏览 添加单词 单词排序 删除单词 单词录入 单词存储 6.程序代码 or project specific include files that are used frequently, but // stdafx.h : include file for standard system include files, // // // are changed infrequently #if !defined(AFX_STDAFX_H__4607A810_33E2_483D_80D8_BE41F0D473D5__INCLUDED_) #define AFX_STDAFX_H__4607A810_33E2_483D_80D8_BE41F0D473D5__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // Insert your headers here #define WIN32_LEAN_AND_MEAN #define DLLEXPORT __declspec(dllexport) #define DLLIMPORT __declspec(dllimport) // Exclude rarely-used stuff from Windows headers #include "stdio.h" #include #include #include #pragma comment(lib,"ws2_32.lib") // TODO: reference additional headers your program requires here void Msg(char *szFormat, ...); void dbMsg(char *szFormat, ...); 6
//{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_STDAFX_H__4607A810_33E2_483D_80D8_BE41F0D473D5__INCLUDED_) #include #include #include #include #include void Search() { char temp[100]; char buffer[2]; char result[100]; printf("请输入要查询的单词:\n"); scanf("%s",&temp); buffer[0]=temp[0]; buffer[1]='\0'; int ret=GetPrivateProfileString(buffer,temp,0,result,100,"./date.ini"); if(ret>0) printf("%s\n\n\n\n\n",result); else printf("对不起,没有您要查找的单词.\n\n\n\n\n"); } void InsertItem() { char temp[100]; char buffer[2]; char result[100]; printf("请输入要插入的单词:\n"); scanf("%s",&temp); printf("请输入单词的解释:\n"); getchar(); scanf("%s",&result); buffer[0]=temp[0]; buffer[1]='\0'; int ret=WritePrivateProfileString(buffer,temp,result,"./date.ini"); if(ret=0) 7
printf("插入失败。\n\n\n\n\n"); else printf("插入成功。\n\n\n\n\n"); } 1 英译汉\n"); int main(int argc, char* argv[]) { int index; main: printf("**************MENU***************\n\n"); printf(" // printf("2 汉译英\n"); printf(" // printf(" printf(" printf(" printf("**********************************\n"); do{ 3 清空屏幕\n"); 4 退出\n\n"); 2 插入新的词条\n"); 3 删除已有词条\n"); printf("请选择操作(1~4):\n"); scanf("%d",&index); /*输入选择项*/ }while(index<0||index>5); /*选择项不在 0~4 之间重输*/ switch(index) { case 1: Search(); goto main; break; case 2: InsertItem(); goto main; break; case 3: system("cls"); goto main; break; case 4: return 0; break; default: break; } return 0; 8
分享到:
收藏