C语言课程设计报告一种简单的英文词典排版系统的实现
C语言课程设计-一种简单的英文词典排版系统的实现
![C语言课程设计-一种简单的英文词典排版系统的实现](https://img.taocdn.com/s3/m/d9ffcc7a4b73f242336c5fd0.png)
C语言课程设计-一种简单的英文词典排版系统的实现目录课程设计评语 ..................................................................... ............................. 错误~未定义书签。
2目录...................................................................... ........................................................................ ...... 1 1(课程论文题目 ..................................................................... .. (2)2(程序设计思路 ..................................................................... .. (2)3(功能模块图 ..................................................................... ............................................................... 3 4(数据结构设计 ..................................................................... .. (3)5(算法设计...................................................................... .................................................................. 4 (程序代码...................................................................... ................................................................ 12 6 7(程序运行结果 ..................................................................... (17)8(编程中遇到的困难及解决方法 ..................................................................... .. (19)9(总结心得及良好建议 ..................................................................... (20)10(致谢...................................................................... ......................................................................2011(课程论文题目一种简单的英文词典排版系统的实现【要求】1)能输入和现实打入的单词 ((2)能分辨出单词(3)对重复的单词和已经输入的单词能自动排除(4)能按A~Z的顺序排版(5)能将运行结果以文本形式储存(6)具有添加新单词蹦重新排版的能力[提示](1)需求分析:运行结果以文本形式储存,因而要提供文件的输入输出操作;通过查找操作检查重复单词;提供排序操作现实按A~Z的顺序排版;提供插入操作添加新单词并重新排版。
C语言课程设计之电子词典
![C语言课程设计之电子词典](https://img.taocdn.com/s3/m/f5dc5d9084868762caaed5bb.png)
5.C 语言是模块化的。可以以函数的方式来编写 C 语言代码,并在其他应用或程序中再 次使用这些函数。通过将一些信息传递给函数,可以创建很有用的、可重用代码。
第四章系统功能实现…………………………………………………………....9
4.1 保存单词…………………………………………………………………………9 4.2 结束界面………………………………………………………………………..11
总结……………………………………………………………………………….. …….. ….13
五、时间进度安排
顺序
1 2 3 4 5
阶段日期
第1天 (2008.03.24 第 2—3 天 (2008.03.25—2008.03.26) 第 4—8 天 (2008.03.28—2008.04.04) 第9天 (2008.04.05) 第 10 天 (2008.04.06)
计划完成内容
阅读资料 系统分析设计 程序编制、调试及运行
态度 能够独立完成设计工作,
按期圆满完成规定的设计任务,工作量饱满,
工作量
0.2 5 4 3 2
难度适宜。
说明书立论正确,论述充分,结论严谨合理, 说明书的
文字通顺,技术用语准确,符号统一,编号齐 0.5 5 4 3 2 质量
全,图表完备,书写工整规范。
指导教师评审成绩 (加权分合计乘以 8)
分
加权分合计
3.设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到 了什么,哪里遇到了困难,解决的办法以及今后的目标。
英汉电子词典设计报告 设计 C语言 C语言程序设计
![英汉电子词典设计报告 设计 C语言 C语言程序设计](https://img.taocdn.com/s3/m/1560b135ed630b1c59eeb5a1.png)
四、课程设计进程安排
序号 设计各阶段内容 地点起止日 期1 2 3
下达任务书, 说明设计要求, 收集资料 实验 3#513 总体方案设计、详细设计 编写程序调试分析 实验 3#513 实验 3#513
3.1 3.2 3.3
4
撰写报告并上交,答辩
⑧
⑨
5.附录
#include<stdio.h> char word[200][40],meaning[200][40]; int ch; main () {menu:printf("******************MENU******************\n"); printf("1*search\n"); printf("2*creat\n"); printf("3*delete\n"); printf("4*update\n"); printf("5*exit\n"); printf("*******************************************\n"); printf("please make your choice from 1 to 5\n"); scanf("%d",&ch); switch(ch) {case 1:search(); break; case 2:creat(); break; case 3:dele(); break; case 4:update(); break; case 5:break; default:main(); } } int search() {char temp[40]; char s,g; int a,b,d,i,j; printf("\n please press the word\n"); scanf("%s",temp); s=temp[0]; for(i=0,j=0;s!='\0'&&j<=40;) {s=temp[j]; if(strcmp(word[i][j],s)==0) {j++; } else {j=0; i++; }
数据结构课程设计报告(简易英汉词典系统)
![数据结构课程设计报告(简易英汉词典系统)](https://img.taocdn.com/s3/m/cea64e8f84254b35effd3403.png)
数据结构课程设计报告(简易英汉词典系统)广西大学课程设计报告课程:《数据结构》题目:简易英汉词典系统学院:______计算机与电子信息学院_专业:______计网类___________班级:______计网071_____ ___ _学号: 0707100103学生姓名:蓝冠恒指导教师:__ ________二〇〇九年四月一、实验目的和要求【实验目的】设计一个简易英汉词典系统,实现基本的单词检索功能,即输入英文单词则系统输出其汉语,反之亦然;并能够进行基本的词典维护操作,包括插入和删除,要求按英语的词典顺序排列单词。
【设计要求】(1)使用图形化界面。
(2)建立英语词汇表,输入为小写字母时为合法输入。
(3)每个词条应包含单词的英语形式、汉语释义、发音等基本信息。
二、设计概要:1、根据实验要求,与及所了解的数据类型相关知识,定义了如下数据类型:链接数据库声明的变量:Connection connection = null;Statement statement = null;ResultSet Result = null;声明全局变量:String newWord, pronunciations, indexWord="", deleteWord, searchEnglish, searchChinese,isSound;它们分别是:新增单词、新单词音标、引擎词、删除词、查找的英文、查找的汉语、判断音频是否存在。
2、实验功能所定义的各种按钮、文本框、选择框和列表框:取消删除功能按钮:JButton deleteCancelButton = new JButton();英汉互译面板上的发音按钮:JButton sound = new JButton();浏览词库面板上的发音按钮:JButton scanSoundButton = new JButton();添加单词的按钮:JButton addOkJButton = new JButton();取消添加功能的按钮:JButton addCancelButton = new JButton();删除词库单词信息按钮:JButton deleteOkButton = new JButton();浏览词库按钮:JButton scanButton = new JButton();要查找的英文或汉语的文本框输入框:JTextField inputSearchWord = new JTextField();新增单词文本输入框:JTextField inputNewWord = new JTextField();新增单词音标输入框:JTextField pronunciation = new JTextField();新增单词释义输入框:JTextField newWordChinese = new JTextField();新增单词过去式输入框:JTextField newWordPreterite = new JTextField();新增单词现在进行时态输入框:JTextField newWordModernism = new JTextField();要删除的单词输入框:JTextField inputDeleteWord = new JTextField();新增单词词性复选框:JComboBox newWordClass = new JComboBox();列出要查找的词的记录信息的多行文本框:TextArea outputSearchEnglish = new TextArea();列出要删除的单词的记录信息的多行文本框:TextArea deleteWordChinese = new TextArea();列出浏览时需浏览单词信息的多行文本框:TextArea scanOutput = new TextArea();DefaultListModel model = new DefaultListModel();列出所查找的英文或汉语对应的单词的列表框:JList listSearchEnglish = new JList(model);列出备选英标的列表框:JList pronunciationJList = new JList(listItem);列出可能且可以被删除的单词的列表框:JList deleteJList = new JList(model);列出词库所有单词的列表框:JList scanWordJList = new JList(model);3、实现功能所定义的各种函数:1)public static String Return(String str)将数据库里的单词的音标进行还原。
数据结构 C++ 简单英汉字典 实验报告
![数据结构 C++ 简单英汉字典 实验报告](https://img.taocdn.com/s3/m/d2a1c042cf84b9d528ea7ac7.png)
实验报告:简单英汉字典2011-12-22实现目标及要求:1)利用散列表实现英汉字典;2) 实现散列表类,要求实现一种散列表:•散列函数选取建议:将单词转成整数,再用除留余数法获得散列地址。
•冲突解决方法可采用开散列法。
3)实现字典类,字典数据存放在内存,字典类中有两个重要数据成员:•字典数组:存放字典数据的数组(或线性表)。
•散列表对象:作为字典数据索引的散列表。
–散列表元素结构包含单词和对应字典数据在字典数组中的下标,可通过散列表直接获得单词在字典数组的下标。
4)利用上面两个类实现英汉字典。
5)界面要求:键盘输入单词,屏幕输出解释:–界面菜单项:•1.添加新词•2.删除单词•3.查字典–查字典界面:•请输入英文单词:China•中文翻译:中国实验环境与工具:使用Microsoft Visual Studio 2010 在Windows7 64位环境下进行实验。
实验思路:分如下N步:1.先实现链结点类的结构。
2.实现字典类的结构。
3.实现词条类的结构。
4.实现词条的散列表分类方法。
5.整合功能。
主要的数据结构如下://Hash_head.h#include<assert.h>#include<string>#include<stdlib.h>using namespace std;const int defaultDicSize=10;const int defaultTableSize=10;class ChainNode{public:Entry<string> EntryLink;ChainNode *link;};template<class E>class Dictionary{public:Dictionary(E e[]);~Dictionary(){delete []ht;}bool search(string,string &);bool search(string,string &,ChainNode *&);bool insert(E);bool insert(string,string);bool remove(string);void dicPos(E e[]);void outputDic();private:ChainNode *ht;int dicSize;//总词条数int tableSize;//每个索引容量};template<class E>Dictionary<E>::Dictionary(E e[]){//计算词条数,作为字典最大长度dicSize=0;while(e[dicSize].chinese!=""){dicSize++;}//初始化字典ht=new ChainNode[dicSize];for(int i=0;i<dicSize;i++){ht[i].link=NULL;ht[i].EntryLink=Entry<string>();}}template<class E>void Dictionary<E>::dicPos(E e[]){int i;ChainNode *p;for(i=0;i<dicSize;i++){insert(e[i]);}}template<class E>bool Dictionary<E>::insert(E ent){int k;ChainNode *p1,*p2;tableSize=5;k=ent.firstLetter()%tableSize;p1=&ht[k];if(p1->link!=NULL){p1=p1->link;while(p1->link!=NULL){p1=p1->link;}}p2=new ChainNode;p2->EntryLink=ent;p2->link=NULL;p1->link=p2;return 0;}template<class E>bool Dictionary<E>::insert(string str1,string str2){ Entry<string> *e=new Entry<string> (str1,str2);insert(*e);return 1;}template<class E>void Dictionary<E>::outputDic(){int i;ChainNode *p1;for(i=0;i<tableSize;i++){//cout<<"************************************"<<endl;//cout<<i<<endl;//cout<<"****"<<endl;if(ht[i].link!=NULL){p1=&ht[i];while(p1->link!=NULL){p1=p1->link;p1->EntryLink.output();}}}//cout<<"************************************"<<endl;}template<class E>bool Dictionary<E>::remove(string str){string result;ChainNode *ptr;if(search(str,result,ptr)==1){ptr->link=ptr->link->link;return 1;}else{return 0;}}template<class E>bool Dictionary<E>::search(string str,string &result){ChainNode *ptr;return search(str,result,ptr);}template<class E>bool Dictionary<E>::search(string str,string &result,ChainNode *&ptr){ int k;ChainNode *p1,*p2;Entry<string> strEnt(str);k=strEnt.firstLetter()%dicSize;p1=&ht[k];if(p1->link!=NULL){do{ptr=p1;p1=p1->link;if(p1->EntryLink.word==strEnt.word){result=p1->EntryLink.chinese;return 1;}}while(p1->link!=NULL);return 0;}else{return 0;}}//Entry_head.h#include<assert.h>#include<string>#include<stdlib.h>using namespace std;template<class K>class Entry{public:K word;K chinese;public:Entry(K,K);Entry();Entry(K);void output();int firstLetter();};template<class K>Entry<K>::Entry(K w,K c){word=w;chinese=c;};template<class K>Entry<K>::Entry(){word="";chinese="";};template<class K>Entry<K>::Entry(K w){word=w;chinese="";};template<class K>void Entry<K>::output(){cout<<"英文:"<<word<<endl;cout<<"中文:"<<chinese<<endl<<endl;}template<class K>int Entry<K>::firstLetter(){char *strv = strdup (word.c_str());//stringתcharreturn int(strv[0]);}主要代码结构://Hash_main.cpp#include<iostream>#include<string>#include"Entry_head.h"#include"Hash_head.h"using namespace std;const int deafaultSize=10+1;int main(){cout<<"********************************************"<<endl;cout<<"***** *****"<<endl;cout<<"***** 大猫哥*****"<<endl;cout<<"***** Make By LJDe.de *****"<<endl;cout<<"***** E-mail:**********************"<<endl;cout<<"***** *****"<<endl;cout<<"********************************************"<<endl;Entry<string> e[deafaultSize]={Entry<string>("eliminate","消除"),Entry<string>("accommodation ","招待设备"),Entry<string>("convince ","使确信"),Entry<string>("conscience ","良心"),Entry<string>("lantern ","灯笼"),Entry<string>("procession ","队伍"),Entry<string>("quit","离开"),Entry<string>("pudding ","布丁"),Entry<string>("reaction ","反应"),Entry<string>("shrink ","收缩"),Entry<string>()};Dictionary< Entry<string> > dic(e);int deed;string str1,str2;Entry<string> *eLit;dic.dicPos(e);do{cout<<endl<<"*************************************************************** *************"<<endl;cout<<"1.查看已有的字典词条。
C语言英汉词典课程设计
![C语言英汉词典课程设计](https://img.taocdn.com/s3/m/3fe09b0d76232f60ddccda38376baf1ffc4fe3b4.png)
C语言英汉词典课程设计一、课程目标知识目标:1. 学生能够掌握C语言基础语法,包括变量声明、数据类型、运算符、控制结构等。
2. 学生能够理解结构体在C语言中的应用,并能够使用结构体创建英汉词典的数据结构。
3. 学生能够运用文件操作函数实现英汉词典的存储与读取。
技能目标:1. 学生能够运用C语言编写程序,实现英汉词典的增删查功能。
2. 学生能够通过调试和优化程序,提高英汉词典的运行效率。
3. 学生能够通过小组合作,共同完成一个具有实用价值的英汉词典项目。
情感态度价值观目标:1. 学生培养对编程的兴趣,提高解决实际问题的能力。
2. 学生在团队合作中,学会相互尊重、沟通协作,培养团队精神。
3. 学生通过英汉词典项目,认识到编程在生活中的应用,激发创新意识。
课程性质:本课程为C语言编程实践课程,以项目为导向,注重培养学生的动手能力和实际应用能力。
学生特点:学生为高年级学生,已具备一定的C语言基础,对编程有一定了解,具备一定的自学和解决问题能力。
教学要求:教师需引导学生运用所学知识,以小组合作形式完成英汉词典项目,注重培养学生的编程思维和实际操作能力。
在教学过程中,关注学生的情感态度价值观的培养,激发学生的学习兴趣和团队协作精神。
通过课程目标的分解,确保学生能够达到预期学习成果,为后续教学设计和评估提供依据。
二、教学内容1. C语言基础回顾:变量声明、数据类型、运算符、控制结构(条件语句、循环语句)。
2. 结构体概念与应用:结构体的定义、声明、初始化;结构体数组、结构体指针。
3. 文件操作:文件的打开、关闭、读写操作;二进制读写;文本文件与二进制文件的转换。
4. 英汉词典项目实战:a. 数据结构设计:定义单词结构体,创建单词列表。
b. 功能模块设计:实现添加、删除、查找、显示全部单词等功能。
c. 文件操作:实现词典的存储与读取。
d. 界面设计:设计简单易懂的用户界面,提供用户操作接口。
5. 调试与优化:分析程序性能,进行调试优化,提高词典运行效率。
课程设计报告---学生背单词系统设计(C语言)
![课程设计报告---学生背单词系统设计(C语言)](https://img.taocdn.com/s3/m/89d86c34453610661fd9f410.png)
课程设计课程名称:管理信息系统课程设计题目:学生背单词系统设计(C语言)学生姓名:学号:班级:专业:信息管理与信息系统指导教师:目录1系统的背景分析 (3)1.1 课程设计的目的 (3)1.2 对课程设计的基本要求 (3)2学生背单词系统的设计过程 (3)2.1 变量和结构体说明 (3)2.2 概要设计 (4)2.3 树形结构模型图 (5)2.4 课程流程图 (5)2.5 背单词系统的操作演示 (6)3总结和心得体会 (10)附录课程详细代码............................................................................... 错误!未定义书签。
学生背单词系统设计(C语言)1 系统的背景分析该系统是帮助单词背诵单词的软件,要求用户可以选择背诵的词库,并可以编辑自己的词库,系统可以给出中文,让单词输入其英文意思,也可输出英文让单词输入中文意思,并判定词义是否正确,如不正确给出提示并要求用户重新输入,如正确给以鼓励,还应有词语预览功能。
它的基本功能如下:词库的维护,课程预览,显示中文用户输入英文的背诵方法,显示英文用户输入中文的背诵方法,背诵成绩的记录。
1.1 课程设计的目的:综合训练单词用C语言编程解决问题和处理问题的能力,巩固其对C语言课程内容和知识的掌握。
1.2 对课程设计的基本要求:1 尽量多的应用C语言中所学到的知识和语句;2 课程设计前应书写开题报告主要内容包括(对题目分析和该课程设计的概要设计);3 课程设计后应交《课程设计报告》,和软件原代码及编译后的应用软件;4 课程设计最后一次上机实验时检查题目的完成情况;5 课程设计中必须用到的内容为:(1) 文件的存取;(2) 结构体的使用;(3) 数组的使用;(4) 指针操作;2 学生背单词系统的设计过程2.1变量和结构体说明(1) 单词信息的结构体如下:typedef struct word//单词的结构体{char en[MAX_CHAR]; // 英文形式char no[MAX_CHAR]; //中文形式}word;(2) 存放单词的信息的变量如下:word s[MAX_NUM]; //单词数组int num; //单词个数2.2 概要设计(1) 定义结构体数组用来存放单词的信息(2) 单词信息存放在data.txt中,文件格式如下:单词个数—长度为4个字节第1个单词的信息-----长度为sizeof(word)第2个单词的信息-----长度为sizeof(word)第3个单词的信息-----长度为sizeof(word)第4个单词的信息-----长度为sizeof(word)第5个单词的信息-----长度为sizeof(word)第6个单词的信息-----长度为sizeof(word)第7个单词的信息-----长度为sizeof(word)第8个单词的信息-----长度为sizeof(word)。
c课程设计英汉词典
![c课程设计英汉词典](https://img.taocdn.com/s3/m/f7a747162f3f5727a5e9856a561252d380eb20ba.png)
c课程设计英汉词典一、课程目标知识目标:1. 学生能掌握英汉词典的基本结构和使用方法。
2. 学生能识别并理解本章节中出现的关键英语词汇及其汉译。
3. 学生能通过英汉词典查找并正确使用至少10个新词汇。
技能目标:1. 学生能运用英汉词典提高阅读理解能力,快速获取英文信息。
2. 学生能培养通过词典学习新词汇的自学能力,形成良好的学习习惯。
3. 学生能通过小组合作,共同探讨词典使用技巧,提高团队协作能力。
情感态度价值观目标:1. 学生对英语学习保持兴趣,增强学习信心。
2. 学生在英汉词典使用过程中,培养耐心和细心的品质。
3. 学生通过学习,认识到词汇学习对英语水平提升的重要性,树立正确的学习观念。
课程性质:本课程为英语学科选修课程,旨在帮助学生掌握英汉词典的使用方法,提高英语词汇学习效率。
学生特点:学生为五年级学生,具有一定的英语基础,但词典使用能力较弱,对英语词汇学习有较高兴趣。
教学要求:课程应注重实践性,结合课本内容,引导学生学会使用英汉词典,培养自学能力和团队协作精神。
同时,关注学生情感态度价值观的培养,激发学习兴趣,提高学习效果。
通过具体的学习成果分解,使学生在课程结束后能够达到预期目标。
二、教学内容本章节教学内容以课本第五单元“Word Power”为基础,涵盖以下方面:1. 英汉词典的基本结构介绍:包括词典的序言、目录、词汇表、附录等部分,使学生了解词典的编排规律。
2. 词典查词技巧:教授学生如何快速查找单词,包括使用音标、词性、释义等,提高查词效率。
3. 词汇学习:选取课本第五单元中的重点词汇,通过英汉词典查找,学习词汇的用法和搭配。
4. 词汇拓展:以课本词汇为出发点,引导学生通过英汉词典查找相关词汇,拓展词汇量。
5. 实践活动:组织学生进行小组合作,共同完成词汇查找、释义、造句等任务,巩固所学知识。
教学大纲安排如下:第一课时:英汉词典基本结构介绍,学会使用目录和词汇表。
第二课时:词典查词技巧,以课本词汇为例,进行实际操作。
c语言课程设计-电子英汉词典(含源码)
![c语言课程设计-电子英汉词典(含源码)](https://img.taocdn.com/s3/m/5640770f5901020207409cb4.png)
c语言课程设计-电子英汉词典(含源码)————————————————————————————————作者:————————————————————————————————日期:C语言课程设计软件学院指导老师:学号:姓名:一、实验题目及要求题目:电子英汉词典设计要求:1.用图形用户界面实现2.能够编辑词典库中的信息3.能够实现英译汉,汉译英。
(要考虑一词多义)二、实验过程主要思想: 1 建立词典库(相关文件的处理)2 设计词典图形用户界面3 查找单词及词典的重复使用(实现一词多义)主要过程1.词典库的建立:文件的建立,写入和调出参考老师给的FILE.C 文件FILE.C大致内容{FILE *fp/*建立文件指针*/fp=fopen("d:\list.txt","wb+");/*在指定路径建立文本文件*/for(i=0;i<SIZE;i++) /*将结构体中的内容if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1) 写进指定文件中并进{ printf("file write error!"); 行判断是否写入*/ exit(0);}fread(&stu_temp,sizeof(struct student),1,fp); /*将文件中的指定内容调出*/ }单词库存储在指定路径的指定文件中方便后文的查询和调出单词库的建立利用结构体可以包含一词多义,并将汉译英和英译汉的词典库分开以便实现英汉互译(在中文dos环境下运行)图例:(未在中文dos环境下运行)2. 设计词典图形用户界面参考文件Graph.c 进行图形驱动void init(){int gdriver, gmode, i, j;gdriver = DETECT;registerbgidriver(EGA VGA_driver);initgraph(&gdriver, &gmode, "");}图例(未设置鼠标前)上网查找相关资料调用鼠标鼠标绘制函数设置鼠标指针位置函数设置函数得到鼠标左右键点击的不同状态(设置鼠标后运行结果全屏无法截图)在图形界面下设计用户界面并使用该鼠标设置相关区域的鼠标键点击后得到不同的结果,进入英译汉或汉译英界面3. 查找单词及词典的重复使用(考虑一词多义)利用文件指针和函数fseek ,fread 对结构体内的单词名称查找和该相关释义的调用同时考虑英汉互译设置查找不到单词的页面和利用while语句使实现词典是否需要重复使用功能图例:三、实验结果及心得根据题目描述基本达到题目要求。
c语言课程设计英汉词典
![c语言课程设计英汉词典](https://img.taocdn.com/s3/m/7b17330aa55177232f60ddccda38376baf1fe0ce.png)
c语言课程设计英汉词典一、教学目标本课程的目标是让学生掌握C语言编程的基本知识和技能,能够运用C语言编写简单的程序。
通过本课程的学习,学生应该能够理解C语言的基本语法、数据类型、运算符、控制结构等,并能够运用这些知识编写程序解决实际问题。
同时,通过编程实践,培养学生的逻辑思维能力和问题解决能力。
具体的学习成果包括:1.能够理解C语言的基本语法和规则。
2.能够熟练使用C语言的数据类型、运算符和控制结构。
3.能够编写简单的C语言程序,解决实际问题。
4.能够运用C语言进行基本的输入输出操作。
5.能够理解程序的基本结构和编程思想。
二、教学内容根据课程目标,本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等。
具体的教学大纲如下:1.第一章:C语言概述–C语言的历史和发展–C语言的特点和优势–C语言的编译过程2.第二章:数据类型和变量–基本数据类型–构造数据类型–指针和引用–变量和常量的声明和使用3.第三章:运算符和表达式–算术运算符–关系运算符–逻辑运算符–赋值运算符–条件运算符–逗号运算符4.第四章:控制结构5.第五章:函数–函数的定义和声明–函数的参数和返回值–函数的调用和传递6.第六章:数组和字符串–一维数组的声明和使用–二维数组的声明和使用–字符串的声明和使用7.第七章:指针–指针的基本概念–指针的声明和使用–指针与数组–指针与函数8.第八章:结构体和联合体–结构体的声明和使用–联合体的声明和使用–结构体和联合体的初始化9.第九章:文件操作–文件的打开和关闭–文件的读写操作–文件的定位和指针三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。
具体包括:1.讲授法:通过讲解和示例,向学生传授C语言的基本知识和编程技巧。
2.讨论法:学生进行小组讨论,促进学生之间的交流和合作。
3.案例分析法:通过分析实际案例,引导学生运用C语言解决实际问题。
4.实验法:安排编程实验,让学生动手实践,巩固所学知识。
C语言课程设计——电子英汉词典解析
![C语言课程设计——电子英汉词典解析](https://img.taocdn.com/s3/m/72b9f50c52d380eb62946df7.png)
课程设计报告课程名称 C语言课程设计课题名称电子英汉词典专业纺织服装学院班级纺工1203学号姓名指导教师田媛2014年 01 月06 日湖南工程学院课程设计任务书课程名称 C语言课程设计课题电子英汉词典专业班级纺工工程学生姓名学号指导老师田媛审批任务书下达日期 2013 年 12 月 26 日任务完成日期2014年 01 月 06 日一、设计内容与设计要求1.设计内容:课题一:电子英汉词典。
具体内容见附录。
2.设计要求:1)设计正确,方案合理。
2)界面友好,使用方便。
3)程序精炼,结构清晰。
4)上机演示。
3.设计报告要求:课程设计报告格式如下:1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。
2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释),课程设计报告需5000字左右(不含附件)。
3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。
二、进度安排上课时间另外安排上课时间另外安排。
附录:设计课题三:电子英汉词典一、问题描述:该设计实现简单电子英汉词典的功能,具体管理操作包括单词的添加、显示、查找、删除、修改和保存等。
二、功能描述:1、本设计采用结构体数组,每个数据的结构应当包括:单词的英文拼写,单词的中文释义。
2、系统功能:a.词条录入:即添加单词记录。
b.信息显示:将所有的单词按字母顺序显示。
c.词条修改:对已经输入的单词信息进行修改。
d.词条删除:删除某个单词记录。
e.单词查询: 输入单词英文拼写,输出该单词的中文释义。
f.信息保存:将单词信息保存到文件。
g.退出系统3、系统使用说明:执行一个具体的功能之后,程序将重新显示功能菜单。
系统的功能并不限于上述,可以对其进行扩充完善,如在对信息进行修改和删除时,可以考虑系统的安全性,在执行前若输入正确密码,才可进行操作。
一种简单的英文词典排版系统综述
![一种简单的英文词典排版系统综述](https://img.taocdn.com/s3/m/4f3b45c5b8f67c1cfad6b8fb.png)
中国地质大学(武汉)C语言课程设计论文学院:工程学院专业:勘察技术与工程题目:一种简单的英文词典排版系统班级:54073姓名:学号: 200710031882009年1月摘要一种简单的英文词典排版系统摘要在英文词典排版当中,人工统计的速度很慢,且容易出现差错。
本英文词典排版系统的自动化加速了排版工作,提高工作效率本程序主要采用对零散的单词进行自动读取,然后按单词首字母顺序讲单词保存到文档,这样的结构化非常便于程序后续的排版工作。
排版具体过程涉及到自动排除重复单词与添加新单词并重新排版等问题,将于正问中详细介绍。
本程序实现了所有设计要求。
关键词:英文词典排版系统,结构体,排版,单词目录中文摘要 (Ⅰ)主要符号表 (Ⅳ)1 题目要求 (1)1.1. (1)2 需求分析 ·····························································································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个单词,每个单词的长度不超过31static FILE *fp;---定义文件指针:内部链接,文件作用域;static char a[ROWS][COLS];---定义数组:内部链接,文件作用域;该数组的作用是将文件的内容复制进来,并加以处理。
一种简单份的英文词典排版系统
![一种简单份的英文词典排版系统](https://img.taocdn.com/s3/m/c0086afb941ea76e58fa04f1.png)
第一部分1.设计题目:一种简单份的英文词典排版系统2实践目的通过进行计算机实践,更加系统地理解和掌握C语言的基本概念、语言特点和编程技巧。
利用系统提供的标准函数和自定义函数进行程序设计,培养利用C语言设计综合程序的能力。
2.要求:(1)能输入和显示打入的词。
(2)能分辨出单词。
(3)对重复的单词和已输入的单词能自动排除。
(4)能按A----Z排序排版。
(5)能将运行结果以文本形式存储。
(6)具有添加新单词并重新排版的能力。
3.分析:运行结果以文本形式存储,因而要提供文件份额输入输出操作;通过查找操作检查重复单词;提供排序操作实现按A---Z的顺序排版;提供插入操作添加新单词并重新排版。
另外通过键盘式菜单实现功能选择。
数据结构采用指针数组或二维数组。
以回车键或者空格键作为单词输入结束标志对重复的单词自动排除排除可选第一章的查找方法,数据结构可采用指针和数组。
第二部分1.总体设计整个系统被设计为单词录入模块,文件存储模块和单词浏览四个模块。
其中单词录入模块要完成输入单词,检查是否重复,排序操作。
文件存储模块把存放单词的词组中的数据写入文件。
单词浏览模块完成英文词典的输出,即文件的输出操作。
这四个模块是整体的设计思路,设计核心,整个程序的设计都将围绕这四个模块进行,各个模块都相互衔接,所以需要在设计好各个部分地同时,还要把握好各个部分的连接。
以下这个是简单的设计模块:2详细设计按照上面的整体思路,分别设计各个模块。
单词录入模块要完成输入单词,检查是否重复,排序操作。
是设计程序的核心部分,对于检查是否重复,以及排序两个主要方面,我在设计中采用了两个结构体。
文件存储模块把存放单词的词组中的数据写入文件,这个模块还需具有天将新单词的功能。
单词浏览模块完成英文词典的输出,即文件的输出操作。
将文件储存模块的内容输出。
[流程图]主函数一般设计的简洁,只提供输入,输出,功能处理和输出部分的函数使用。
其中各功能模块选择菜单方式。
简单的英文词典排版系统实验报告
![简单的英文词典排版系统实验报告](https://img.taocdn.com/s3/m/d20b111300f69e3143323968011ca300a6c3f63e.png)
实验目录需求分析———————————— 2 整体设计———————————— 2 详细设计———————————— 4 调试与测试——————————— 6 用户手册———————————— 6 总结—————————————— 6 附录—————————————— 9一需求分析1目的我们所做的程序课题是一个“简单的英文词典排版系统”。
该课题目的在于锻炼我们的自主动手和创新、创造能力, 同时通过自己看书学习文件的输入输出等功能的实现, 提升我们的自学能力。
并通过自己思考程序的算法和函数的组建过程来提升我们的逻辑思维能力, 最后是利用自我程序测试和改进来增加我们对编程的进一步了解, 和提升编程的能力。
其大背景是要为同学提供了一个既动手又动脑, 独立实践的机会, 将课本上的理论知识和实际有机的结合起来, 锻炼同学的分析解决实际问题的能力。
提高学生适应实际, 实践编程的能力。
2 预期达到功能(1) 能输入和显示所打的单词。
(2) 能分辨出单词。
(3) 对重复的单词和已经输入的单词能自动排除。
(4) 能按A-Z的顺序排版。
(5) 能将运行结果以文本形式存储。
(6) 具有添加新单词并重新排版的能力。
(7) 实现以上功能的选择操作3 需解决问题主要解决单词输入到文件和从文件输出以及最后文件保存的问题, 但是我们对C++的学习仍不完全, 这就要求我们提前把课本上的“文件与流”这一章节的相关内容进行自学并应用于其中。
其次我们要解决如何实现查找单词、分辨单词、添加单词以及对单词进行排序的系列问题, 这要求我们能对已学习的内容充分掌握并熟练应用。
二整体设计1 程序设计功能模块图2 程序流程示意图词库文件建立并选择功能添加单词单词排序搜索单词显示单词1)字符排序2) 检查模块三详细设计1 函数功能void write(int r) 将单词写入文件的函数int read() 读取文件函数void zhucaidan() 主菜单函数int paixu() 排序函数void jiancha() 检查单词模块void charu(char*d) 插入单词模块void find(char *s) 查找单词模块void xuanze() 选择菜单模块2 参数说明dic[N][20] N为100, 即但单词库课输入100个单词, 每个单词长度不得大于19*p 为指向Data文件的指针flag, temp 在不同的函数模块中用于不同情况下的结果判断与后续的程序执行s[20], d[20], f[20] char类型的数组s、d和f用于临时的单词输入放置t[20] char类型的数组t是用于临时放置从文件中读取的单词way 是用于switch语句中功能选项的选择i, j, c等是普通的int变量3函数调用1)void xuanze()选择菜单调用的函数: jiancha()检查函数、find(d)查找函数、charu(d)插函数以及zhucaidan()主菜单函数2)void find(char *s) 查找单词模块调用的函数: strcpy复制函数、strcmp比较大小函数、write(r)写入文件函数3)void charu(char*d) 插入单词模块调用的函数: read()读取函数、strcmp比较函数、strcpy复制函数、write(r)写入文件函数、paixu()排序函数、4)void jiancha()检查单词模块调用的函数: write(r)写入文件函数5)int paixu()排序函数调用的函数: read()读取函数、strcmp比较大小函数、strcpy复制函数、write(r)写入文件函数6)int read()读取文件函数调用的函数: write(r)写入文件函数main()主函数调用的函数: jiancha()检查函数、paixu()排序函数、xuanze()菜单选择函数4算法实现1)插入模块void charu(char*d)单词存在情况:先输入单词放置于*d指向的d[20]临时数组中, 再利用for循环和strcmp比较函数看输入的单词是否已经存在, 存在flag=1, 不存在将单词保存break跳出for循环从新输入单词, flag仍等于0;单词不存在情况:若flag=0, 利用strcpy复制函数将新输入的单词复制到单词库已存在单词的后面, 单词个数r增加1;继续输入:利用while语句, 只要继续输入的字符不为0(即输入的为单词, 用户不返回主菜单), 就可以执行while语句继续重复上述的检查单词和保存单词的步骤;2)返回主菜单:3)若输入的字符为0(即用户要返回主菜单), while语句无法执行, 经过从新排序后, 利用return返回调用函数, 即void xuanze()菜单选择函数, 可从新选择功能。
电子英汉词典c程序设计
![电子英汉词典c程序设计](https://img.taocdn.com/s3/m/ea478e927fd5360cbb1adbcf.png)
电子英汉词典一、设计内容与设计要求1.设计内容:(1)、问题描述:英汉词典作为一个经常使用的学习工具,是咱们常常要利用的。
该系统能完成一个简单的电子英汉词典的功能,如:单词的查找、增词、删除、修改和保护等工作。
(2)、功能描述:1)本词典采纳一个包括N个数据的结构体数组,每一个数据的结构应当包括:英文单词、词性、中文词意一、中文词意二、中文词意3。
2)对单词和释义字符串长度的限定别离为很多于10个词条。
3)本系统显示如此的菜单:(1)输入新辞汇(2)删除辞汇(3)翻译/查找(双向)(4)修改辞汇信息(5)退出系统(3)、算法提示:1、数据结构:结构体数组二、数据库结构:该系统的大体数据库如下表。
(4)、测试数据:要求被选用的词条有10个左右,以中学的单词为主。
对该系统有爱好的同窗能够在实现系统大体功能后,完善系统的其它功能。
2.设计要求:把握结构化程序设计的主体思想,以自顶向下慢慢求精的方式编制程序解决一些实际的问题,为以后编写软件积存一些典型的案例处置体会。
(1)按学号顺序选课题号,并在规定的时刻内独自完成相关课题的C源程序编写、调整和运行。
源程序及编译生成各文件均保留;(2)按本任务书的要求,编写《课程设计报告》(Word文档格式)。
并用A4的复印纸打印并装订;(3)在2009年6月29日之前,请各班学习委员收齐课程设计报告交黄晓宇教师,联系:。
附:课程设计报告内容要求如下:一、封面二、课程设计任务书三、课程设计主文档内容如下:1、课程设计题目2、课程设计目的3、课程设计要紧任务4、设计环境5、整体设计方案的选定(主控模块和各子模块的设计方式及框图)6、源程序清单7、收成及体会参考资料四、报告内容要求用宋体五号字,主题目用黑三号、一级题目用黑四号字,二级题目用宋体小四号字加粗,要求用A4纸张打印出来。
课程设计说明书装订顺序:封面、任务书、正文、附件(A4大小的图纸及程序清单)。
二、进度安排目录一课程设计目的 (1)二课程设计要紧任务 (1)三设计环境 (1)四整体设计方案的选定(主控模块和各子模块的设计方式及框图) (2)五源程序清单 (4)六收成及体会 (13)七参考文献 (14)电子英汉词典设计1.课程设计目的把握结构化程序设计的主体思想,以自顶向下慢慢求精的方式编制程序解决一些实际的问题,为以后编写软件积存一些典型的案例处置体会。
C语言程序设计课程设计报告电子英汉词典设计
![C语言程序设计课程设计报告电子英汉词典设计](https://img.taocdn.com/s3/m/c50aff31c4da50e2524de518964bcf84b9d52ddd.png)
C语言程序设计课程设计报告电子英汉词典设计课程设计报告课程名称《C语言程序设计》课题名称电子英汉词典设计专业信息管理与信息系统班级学号姓名指导教师2011年6月22日一、设计内容与设计要求1.课程设计目的全面熟悉、掌握C语言基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的惯和规范编程的思想,为后继课程(数据结构和数据库等课程)的实验以及课程设计打下较扎实的基础。
2.课题题目⑴班级成绩管理系统⑵班级档案管理系统⑶飞机订票系统⑷猜数字游戏⑸电子英汉词典设计⑹通信录管理体系3.设计要求掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。
具体要求如下:⑴设计课题题目:每位同学根据自己学号除以6所得的余数加一选择相应题号的课题。
原则上不予换提,私自换题者不记成绩。
⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求;输入输出的要求。
②完成系统概要设计:程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。
③完成系统详细设计:包括采用C语言定义相关的数据类型;写出各模块的类C码算法;画出函数的调用关系图。
④调试分析、设计体会、测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。
⑤关键源程序(带注释)⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。
⑷不得抄袭别人程序、课程设想报告,每一个人应体现本人的个性设想。
电子英汉字典_c语言版
![电子英汉字典_c语言版](https://img.taocdn.com/s3/m/432b45da240c844769eaee5d.png)
课程设计报告课题:电子英汉字典学院:电子工程与自动化专业:测控技术与仪器学生姓名: XXX 学号: XXXXXXXXXXX 指导老师: 陈寿宏2013年3月18日目录一、内容摘要与关键词-------------------------------------3二、设计任务与关键词-------------------------------------4三、总体设计---------------------------------------------51、程序设计组成框图---------------------------------52、各函数主要功能-----------------------------------53、主要功能的实现-----------------------------------63.1、菜单显示-------------------------------------6 3.2、显示函数-------------------------------------73.3、查找函数-------------------------------------83.4、修改函数-------------------------------------93.5、删除函数-------------------------------------103.6、录入函数-------------------------------------12四、调试分析---------------------------------------------13五、总结与体会-------------------------------------------16六、参考文献---------------------------------------------17七、附件-------------------------------------------------18内容摘要:电子英汉字典的主要功能是进行单词的添加、显示、查找、删除、修改、保存等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
..中国地质大学本科生课程论文封面课程名称 C语言课程设计教师姓名本科生姓名本科生学号本科生专业所在院系日期:课程设计评语注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。
目录课程设计评语 (2)目录 (3)1.课程论文题目 (4)2.程序设计思路 (4)3.功能模块图 (5)4.数据结构设计 (5)5.算法设计 (5)6.程序代码 (16)7.程序运行结果 (21)8.编程中遇到的困难及解决方法 (24)9.总结心得及良好建议 (24)10.致谢 (24)1.课程论文题目一种简单的英文词典排版系统的实现:【要求】(1)能输入和现实打入的单词;(2)能分辨出单词;(3)对重复的单词和已经输入的单词能自动排除;(4)能按A~Z的顺序排版;(5)能将运行结果以文本形式储存;(6)具有添加新单词重新排版的能力。
[提示](1)需求分析:运行结果以文本形式储存,因而要提供文件的输入输出操作;通过查找操作检查重复单词;提供排序操作现实按A~Z的顺序排版;提供插入操作添加新单词并重新排版。
另外通过键盘式菜单实现功能选择。
(2)总体设计:整个系统被设计为单词录入模块,文件存储模块和单词浏览模块。
其中单词录入模块要完成输入单词,检查是否重复,排序操作。
文件存储模块把存放单词的数组中的数据写入文件。
单词浏览模块完成英文词典的输出,即文件的输出操作。
(3)数据结构采用指针数组或二维数组。
以【Enter】键或者空格键作为单词输入结束标志,对重复的单词自动排除可选用查找方法,数据结构可采用指针和数组。
2.程序设计思路在英文词典排版当中,人工统计的速度很慢,且容易出现差错。
本英文词典排版系统的自动化加速了排版工作,提高工作效率本程序主要采用对零散的单词进行自动读取,然后按单词首字母顺序讲单词保存到文档,这样的结构化非常便于程序后续的排版工作。
排版具体过程涉及到自动排除重复单词与添加新单词并重新排版等问题,将于正问中详细介绍。
本程序实现了所有设计要求。
整个系统被设计为单词录入模块、文件存储模块和单词浏览模块。
其中单词录入模块要完成输入单词、检查是否重复、排序操作。
文件存储模块把存放单词的数组中的数据写入文件。
单词浏览模块完成英文词典的输出,即文件的输出操作。
34.数据结构设计数据结构采用指针数组或二维数组:char* dictionary[N];或char dictionary[N][20]。
其中N 是宏定义#define N 256(表示单词个数)。
(1)单词录入模块输入一个单词,存放在一个临时字符数组中,以空格或回车表示单词的结束(这也是默认操作),然后换行输出刚刚输入的单词。
采用插入排序算法的思想把该单词插入单词数组中,不同的是如果两个单词相同则不插入。
(2)文件存储模块采用fwrite 或fprintf 把单词数组输入到文件中。
(3)单词浏览模块采用fread 或fscanf 把单词从文件中读出,然后输出。
5.算法设计(1)主函数【流程图】NY【程序】#include "stdio.h"#include "stdlib.h"#include "string.h"#include "ctype.h"#define ROWS 256#define COLS 32static 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\tWelcome to dj's program!\n\n");puts("\t\t\t\t 1.Add new word.");puts("\t\t\t\t 2.Browse all the words.");puts("\t\t\t\t 3.Search the word.");puts("\t\t\t\t 4.Sort the words.");puts("\t\t\t\t 5.Order by A-z.");puts("\t\t\t\t 6.Exit!");puts("\n\n\t\t****************************************\n");printf("Choice your number(1-6): [ ]\b\b");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;//*浏览模块*//case 3:search();break;//*查找模块*//case 4:sort();break;//*分类模块*//case 5:order();break;//*排序模块*//case 6:exit(0);//*退出*//}}void main() //********主函数*********//{menu();}(2)公共函数【程序】int load()//*加载函数*//{int i,count;int start;char *pt[ROWS];char ch, len;char input;if((fp=fopen("words.txt","a+"))==NULL)//*以输出打开方式,在此前的记录被覆盖*//{printf("\nCannot open file!\n");return NULL;}for(i=0;!feof(fp);i++)fscanf(fp,"%s",&word[i]);fclose(fp);return i+1;//*返回记录个数*//}void save(int n)//*保存函数,保存n个记录*//{FILE *fp;int i;if((fp=fopen("words.txt","a+"))==NULL)//*以输出打开方式,在此前的记录被覆盖*//{printf("\nCannot open file!\n");exit(0);}for(i=0;i<n;i++)fprintf(fp,"%s",&word[i]);fclose(fp);}(3)各功能模块设计1)分类模块【程序】void sort(){int i,j,k;char c[20];if((n=load())==0){printf("\nCannot open file!\n");exit(0);}for(i=0;i<n;i++)for(j=0;j<n-i-1;j++);if(strcmp(word[j],word[j+1])>0){strcmp(c,word[j]);strcmp(word[j],word[j+1]);strcmp(word[j+1],c);}save(n);printf("Successful!^_^.\n");printf("\nNow? 1.browse all 2.back");scanf("%d",&k);if(k==1)browse();else if(k==2)menu();}2)排序模块【流程图】【程序】void order() //*排序模块*//{int a[N],i,j,t;struct words;n=load();for(i=0;i<N;i++)for(i=0;i<N-1;i++)for(j=i+i;j<N;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}for(j=0;j<N;j++)printf("%3d",a[i]); }3)修改模块【流程图】【程序】void modify(int a) //*修改模块*//{char c[20];printf("Enter the new word:");scanf("%s",c);strcpy(word[a],c);save(n);}4)删除模块【流程图】【程序】void del(int a) //*删除模块*//{int x,i,y;printf("Are you sure to delete this word?\n\t1).sure 2).no and back menu [ ]\b\b");scanf("%d",&x); //*输入要修改的单词*//if(x==1){for(i=a;i<n-1;i++) //*查找要修改的单词*//strcpy(word[i],word[i+1]);save(n-1);printf("Successful!^_^.\nNow? 1).one more 2).back menu");scanf("%d",&y);if(y==1)search();}else if(x==2){menu();}}5)追加模块【流程图】【程序】void add() //*追加模块*//{int i,x,w1,w2,w;char c[20];if((n=load())==0)exit(0);else{puts("Enter the new word!\n");scanf("%s",c); //*输入要追加的单词*//for(i=0;i<n;i++)break;}if(i<n){w=1;do{printf("The word has already exit!\n");printf("\n\nWhat do you want to do?\n\t1).enter one more 2).back menu [ ]\b\b");scanf("%d",&x);if(x<1||x>2)w1=1;elsew1=0;}while(w1==1);}else{w2=1;strcpy(word[i],c);save(n+1);printf("Successful!^_^.Now choose what you will do next?\n\t1).add another 2).back menu [ ]\b\b");do{scanf("%d",&x);if(x<1||x>2)w2=1;elsew2=0;}while(w2==1);}switch(x){case 1:add();break;case 2:menu();break;}}6)浏览(全部)模块【流程图】【程序】void browse() //*浏览(全部)模块*//{int i,w;if((n=load())==0) //*加载记录*//{printf("\nCannot open file!\n");exit(0);}for(i=0;i<n-1;i++)printf("%s/n",word[i]);puts("Successful!^_^.Now 1.back menu 2.sort");scanf("%d",&w);if(w==1)menu();else if(w==2)sort();}7【流程图】【程序】void search() //*查找模块*//{int i,x,y;char vs[20];if((n=load())==0) //*加载记录*//{printf("\nCannot open file!\n");exit(0);}printf("Enter the word what you want to search!");scanf("%s",vs); //*输入要查找的单词*//for(i=0;i<n;i++) //*查找要修改的单词*//if(strcmp(word[i],vs)==0){printf("Successful!^_^.\nThe word is:%s\n",word[i]);//*找到需要修改的单词*//printf("What would you like to do with the word?\n\t1).modify 2).delrte 3).nothing []\b\b");modify(i);else{del(i);}}if(i==n)printf("HOHO!Sorry........Not found~~~");printf("Now.....1).one more 2).back 3).exit");scanf("%d",&x);switch(x){ case 1:search();break;case 2:menu();break;case 3:exit(0);}}6.程序代码#include "stdio.h"#include "stdlib.h"#include "string.h"#include "ctype.h"#define ROWS 256#define COLS 32static 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;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("开始创建词库");puts("请输入单词(每行一个)");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("\t\t*********************欢迎使用字典排版系统*******************\n\n");puts(" MENU ");puts("您要做些什么?");puts("a. 显示已有的单词 b. 添加新单词");puts("c. 对已有的单词进行排序 d. 退出");puts("\n\n\t\t**********************************************************\n");while((input=get_option())!='d')puts("已有的单词:");for(i=0;i<count;i++){printf(" ");puts(a[i]);}}if(input=='b'){puts("开始创建词库");puts("请输入新的单词(每行一个)"); 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')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++){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);7.程序运行结果(1)输入单词(2)显示打入的单词(3)能分辨出单词并对重复的单词和已经输入的单词能自动排除(4)按A—Z的顺序排版(5)添加新单词并重新排版(6)退出(7)将运行结果以文本形式(word.txt)存储8.编程中遇到的困难及解决方法在编程的过程中,很容易出现多个小问题,比如缺少“;”或者“}”。