c语言 文件 统计字符,c语言——从文本文件读取正文并统计字符.doc

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

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值