C程序设计课程实践报告
项 目 名 称: B6 从文本文件读取正文并统计字符所 在 班 级:##############小 组 成 员:#######任 课 教 师:#######起 止 时 间: 2014.05.09——2014.06.13项目基本信息
项目名称B6、从一个文本文件读取正文,统计每个数字出现的次数和其他字符出现的次数。项目简介从一个文本文件读取正文,统计每个数字出现的次数和其他字符出现的次数。
要求:“统计每个数字出现的次数和其他字符出现的次数”写一个自定义函数;交作业时,文本文件与程序文件都要有。小组成员#####任务分工#####:设计,调试,运行。课程实践评定成绩记录
指导教师意见系统完成情况:优 良 中 差报告完成情况:优 良 中 差答辩评定成绩成员成绩:##############综 合 成 绩问题描述及分析
1、 利用c语言打开文本程序
2、 统计利用自定义函数“统计每个数字出现的次数和其他字符出现的次数”
功能模块及数据结构描述
int main()//主函数
int shuzi=0,kongge=0,xiaoxie=0,daxie=0,other=0; //声明变量
while((ch = getc(fp)) != EOF) //循环获取直至文件结束 EOF标志
printf("小写=%d\n大写=%d\n空格=%d\n数字=%d\n其它=%d\n",xiaoxie,daxie,kongge,shuzi,other);//打印统计值
主要算法流程描述及部分核心算法
流程图如下图所示。
核心算法为:
文本文件的读取
#include
int main()
{
char ch;
FILE* fp;
char fname[50] = "111.txt";
fp = fopen(fname,"r"); //只供读取
if(fp == NULL) //如果失败了
{printf("ERROR!");return 1;
}
//getc()用于在打开文件中获取一个字符
while((ch = getc(fp)) != EOF) //循环获取直至文件结束 EOF标志(End Of File)putchar(ch); //打印获取到的字符
putchar(10);//文件末尾换行
fclose(fp); //关闭文件
return 0;
}2、“统计每个数字出现的次数和其他字符出现的次数”写一个自定义函数
#include
int main()
{
int shuzi=0,kongge=0,xiaoxie=0,daxie=0,other=0; //声明变量zimu,kongke,shuzi,other
while((ch = getc(fp)) != EOF) //循环获取直至文件结束 EOF标志(End Of File)
{putchar(ch); //打印获取到的字符
if(ch!=10)//排除回车换行其它加一的干扰
{if(ch>='a'&&ch<='z') xiaoxie++;//统计小些字母的else if(ch>='A'&&ch<='Z') daxie++;//统计大写字母
else if(ch==32) kongge++; //统计空格,
else if(ch>=48&&ch<=57) shuzi++;//统计数字,
else other++; //统计其它字符
}
}
putchar(10);//文件末尾换行
printf("小写=%d\n大写=%d\n空格=%d\n数字=%d\n其它=%d\n",xiaoxie,daxie,kongge,shuzi,other);//打印统计值
}
系统使用说明
进入文本文件读取并统计字符系统文本文件内容读取统计每个数字出现的次数和其它字符出现的次数程序整体视图预览问题及解决办法
1、输出时,有些信息显示不完整或布局不对称;通过对程序格式的进一步改进使其对称布局更美观。
2、有些功能无法实现,通过去图书馆和上网查阅资料,与同学交流及向老师求助等方法已解决问题;
课外实践总结
课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打下一个良好的基础。
源程序
#include
int main()
{
char ch;
int shuzi=0,kongge=0,xiaoxie=0,da