课程设计报告。
安徽师范大学物理与电子信息学院。
college of physics and electronic information, anhui normal university
1.课程设计与分析。
.1课题背景及意义。
1.2目的要求。
.3课题要求。
1.4设计目标。
2.设计概要。
2.1问题解决的思路概。
3.主程序设计流程图。
3.1主程序的简要流程图。
4.详细函数体模块算法介绍。
4.1文件生成的算法。
4.2文本单词计数算法。
4.3特定单词计数算法。
5.用户使用说明与简单调试。
6.整体程序。
7.总结与心得。
一.课程设计与分析。
1、课题背景及意义。
伴随着信息化与自动化时代的到来,人类逐渐的将自己从体力,脑力等各方面得以解放,而人类则愈来愈追求智能化,因而利用程序实现智能成为一个人们必将面对的话题。而自动计数也是实现智能化的必经之路,利用大一刚学习的c语言进行编程实现自动计数恰恰是在我们的能力范围之内,所以进行这一课程设计的学习与研究,正能检验我们学习这门课程的质量与对所学知识的创新与拓展。
2、目的要求:
在教师指导下,学生根据选定的课题,综合运用所学程序设计的知识,完成问题分析、模块设计、**编写、程序调试和运行等训练任务。
通过课程设计,初步锻炼运用所学基础知识解决实际问题的能力,掌握软件开发的基本过程和基本方法以及良好的编程风格,培养在软件开发中相互合作的团队意识。
3、 课题要求。
1)?统计英文文本文件中单词的个数;?
2)?统计某一个特定单词出现的频度。
4、设计目标。
用数组接收文件的所有字符或直接从文件读取,然后通过循环计数与比较分析。
二.设计概要。
1、 问题解决的思路概述。
首先是确定结构化程序设计的流程图,并以此为依据编写结构函数体,由于文件知识方面的生疏,我不得不借助数组用来接收文件的所有字符。
此函数通过把主函数构造出利用switch的多通道性开发出具有选择功能的入口,分别将文件生成函数,文本单词计数函数,特定单词计数函数作为它的三个分支,并且这三个函数均无返回值,这样便实现了程序的简洁,有序和高效。
程序中加入了文件生成函数则便于程序的检测,并且使程序多出了创建文件的功能。文本单词计数函数则将文件的所有字符读入数组,然后利用循环实现计数。特定单词计数函数利用循环嵌套完成特定单词的匹配与自动计数。
2、本程序下定义的相关函数。
1、void creat_text_file() 文件生成函数:生成文本文件方便检验程序;
2、void count_word文本文件单词计数函数:统计所有单词的个数;
3、void wordcheck特定单词计数函数:对特定的单词在文本中进行核对并自动计数;
4、int main给予用户提示实现与用户的交互作用,并且声明各个函数并进行调用。
三.主程序的流程基函数调用说明。
1)、主程序的简要流程图:
四.详细函数模块算法介绍。
1、文件生成的算法。
在turbo c环境中先创建文件名,接着以“读入”的方式向文件中写入文本,最终以*为文本输入结束标志。
程序如下:void creat_text_file()
file *fp;
char c,file[13];
printf("enter the file name to be created:")
scanf("%s",file);
if((fp=fopen(file,"w"))null)
printf("enter the contents to be s**ed in the file ");
while((c=getchar())
fputc(c,fp);
fclose(fp);
2、文本单词计数算法。
先将文本的所有字符读入一个数组之中,在将数组中的每一个元素拿出来进行比较判断,用过isalpha函数判断从数组中读入的字符是否为字母,若读取过程**现下面这种情况:读入一个字符为字母,并且上一个字符不是字母,则计数器自动加一。就这样一直进行循环,直到读到数组的结束再显示所有单词的个数。
程序如下:void count_word()
int i,word,num=0;
char c;
file *q;
char filename[20],s[800];
printf("the name of the file:")
scanf("%s",filename);
if((q=fopen(filename,"r"))null)
for(i=0;!feof(q);i++)
fscanf(q,"%c",&s[i]);
fclose(q);
word=0;
for(i=0;(c=s[i])!0;i++)
num=num-1;
printf("the %s chu xian guo %d ci ",filename,num);
3、特定单词计数算法。
先初a=1,始化令将要匹配的那个单词读入一个数组之中,在将数组中的每一个元素拿出来进行比较判断,设置的大循环条件是存储单词的文件读完为止,小循环的判断条件是当从文件中读入的字符与单词的数组的第一个元素相等的时候开始循环,并且数组与文件的地址均自动加一,一旦不相等,则立即跳出小循环,进而又进入大循环。
程序如下:void wordcheck()
int a,b=0,i;
char filename[20],word[30];
char ch;
file *p;
printf("zhe ge te ding de dan ci shi :");
scanf("%s",word);
printf("the name of the file:")
scanf("%s",filename);
if((p=fopen(filename,"r"))null)
while(!feof(p))
if(a==0);
else if(a==1) b++;
C语言课程课程设计
课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...