1、程序设计程序设计语言语言课程设计课程设计 1 单词出现次数统计单词出现次数统计 一一 目的目的 通过课程设计,加深对C语言程序设计课程所学知识的理解,熟练掌握和巩固 C语 言的基本知识和语法规范,包括:数据类型(整形、实型、字符型、指针、数组、结构 等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结 构、判断选择结构、循环结构);库函数应用等,学会编制结构清晰、风格良好、数据结构 适当的 C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。 二二 需求分析需求分析 1、输入数据 输入 2 个字符串数据。第一个为文字所保存在的文件名,第二个为要统计的
2、单词。 2、输出数据 输出进行查找的文章以及搜索的单词。并输出搜索结果:单词在文章出现的次数及第 一次出现位置。 3、程序功能 按照输入的文件名打开文件并获取文章内容,搜索统计单词出现次数以及第一次出现 位置并输出结果。 三三 概要设计概要设计 1、全局变量或类型说明 2、模块功能 void printlogo()清屏并输出 logo。 void msg(char *str) 清屏并输出 logo 后输出参数 str 的内容。 char LoadFile(char *FileName)打开文章文件 FileName 并读取内容到内存 该函数会自动 为文章分配内存 如果内存已经分配过会先释放原来
3、申请的内存 成功返回 1 失败返回 0 char lowcase(char c)把 c转化成小写返回 如果 c不是字母直接返回 c 本身。 void GetText()让用户输入文件名并读入文章 将会一直循环直到成功打开文件或用户输 入”终止程序。 char ckeckletter(char c)检查 c是否为一个英文字母 是返回 1 否返回 0 char ComstrProc(char str,int pos,int len)比较字符串 str 与文章从 pos 开始长度为 len 的 程序设计程序设计语言语言课程设计课程设计 2 部分 len 即 str 的长度。 注意 str 在传入前必
4、需先转化成全小写。 void AnalysisText(char key)在已经读入内存的文章利用 ComstrProc 进行统计 并输出结 果(个数 第一次出现位置 或者未找到) void wuhansen()程序主要模块 不断执行并根据要求重复程序功能(1 重复 2 退出程 序)。 int main()仅仅是调用 wuhansen 后清理内存。 3、程序函数调用流程 四四 详细设计详细设计 源代码如下: #include #include #include #if defined ( _MSC_VER ) #include /*VC*/ #else #include /*TC unsigned int buffersize=0; int fileopen=0,quit=0; /* fileopen 为 1 时 说明内存已经申请 如果要重新分配请先 Free*/ main() wuhansen() GetText() AnalysisText() msg() LoadFile() printlogo() ckeckletter() Com