欢迎来到天天文库
浏览记录
ID:56720990
大小:107.50 KB
页数:16页
时间:2020-07-06
《C语言课程设计英文排版系统的实现.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言课程设计英文排版系统的实现学号:班级:--04姓名:黄露指导老师:刘文中前言一、C语言课程设计的目的:高级语言课程设计是学习完《高级语言程序设计》课程后进行的一次全面的综合性上机实验。其目的在于为同学提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼同学的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。二,要求一种简单的英文词典排版系统的实现(1)能输入和显示打入的单词。(2)能分辨出单词。(3)对重复的单词和已经输入的单词能自动排除。(4)能按A~Z的顺序排版。(5)能将运行结果以文本形式存储。(6)具有添加新单词并重新排
2、版的能力。三.构架建立词库以文本形式存储添加单词重新排版对单词进行排序显示单词结束四。流程图开始显示:输入文字输入词i+1=iI=file相同输入文字END结束五。程序说明程序第一次运行时,会创建一个“word.txt”(不包括引号)的文本文件,然后要求输入单词。若要退出,请不要点DOS窗口的小叉叉,输入d即可。因为程序在结束之前,对数组中的单词重新排序,并存储到文件中。#include"stdio.h"---#include"stdlib.h"---为exit()函数提供原型;#include"string.h"---字符串处理函数原型;#include"ctype.h"
3、---字符处理函数原型;#defineROWS256#defineCOLS32---定义“字典”的大小:可存放256个单词,每个单词的长度不超过31staticFILE*fp;---定义文件指针:内部链接,文件作用域;staticchara[ROWS][COLS];---定义数组:内部链接,文件作用域;该数组的作用是将文件的内容复制进来,并加以处理。因为处理数组比处理文件方便。charget_option(void);---接收用户的选项,防止误操作。若输入“a;”(不包括引号),那么将视为选项aintb(intcount);---完成选项b的作用--接收新单词;voidc
4、(char*pt[],intcount);---完成选项c的作用--通过指针对数组排序,实际数组元素位置未改变;intcheck(chararr[],intcount);---对输入的单词进行分辨,若输入nihao,将视为单词ni,并且提示并剔除重复的单词;voidstorage(char*pt[],intcount);---在程序结束之前重新排序存储数组中的单词到文件中。六。程序源代码。#include"stdio.h"#include"stdlib.h"#include"string.h"#include"ctype.h"#defineROWS256#defineCOL
5、S32staticFILE*fp;staticchara[ROWS][COLS];charget_option(void);开始intb(intcount);voidc(char*pt[],intcount);intcheck(chararr[],intcount);输入单词每行一词voidstorage(char*pt[],intcount);intmain(void){判断单词是否重复重复进行替换且不录入inti,count;intstart;char*pt[ROWS];charch,len;输入END结束输入charinput;if((fp=fopen("words.
6、txt","a+"))==NULL){fputs("不能打开或建立文件!",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(i7、i],"END",3)==0){count+=i;break;}if(check(a[i],i))continue;i++;}}puts("tt*********************欢迎使用字典排版系统*******************");puts("MENU");puts("您要做些什么?");puts("a.显示已有的单词b.添加新单词");puts("c.对已有的单词进行排序d.退出");puts("tt************************************
7、i],"END",3)==0){count+=i;break;}if(check(a[i],i))continue;i++;}}puts("tt*********************欢迎使用字典排版系统*******************");puts("MENU");puts("您要做些什么?");puts("a.显示已有的单词b.添加新单词");puts("c.对已有的单词进行排序d.退出");puts("tt************************************
此文档下载收益归作者所有