C++程序设计问题:统计多行文本中的行数、单词数及字符数

一、题目:统计多行文本中的行数、单词数及字符数二、目的与要求1.目的通过解决统计多行文本中的行数、单词数及字符数,培养学生综合利用C++语言进行程序设计的能力,加强函数的... 一、题目:统计多行文本中的行数、单词数及字符数
二、目的与要求
1. 目的
通过解决统计多行文本中的行数、单词数及字符数,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
2. 基本要求
(1) 要求用C++语言编程,在Visual C++环境下调试完成;
(2) 要求划分功能模块,各个功能分别使用函数来完成;
(3) 源代码程序要求必要的注释。
三、设计方法和基本原理
1. 课题功能描述
设计一个能够统计多行文本中的行数、单词数及字符数,请运行示例程序来查看运行的效果。
注意!!!此时字符串输入时要输入多行(段)字符串,空行结束!
2. 问题详细描述
本题中英文单词的构词规则为由英文字符构成,不考虑纯数字例如:“1,250,220”,只考虑由字符构成的单词,但是单词的分隔符应该包括基本的标点符号和空格。
统计多行文本的行数、单词总数和字符总数。
3. 问题的解决方案:
根据问题的描述,可以按照程序要求的功能采用结构化的设计思想。
文本是可以用手输入的
展开
 我来答
Guccang
2010-06-26 · TA获得超过111个赞
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:73.2万
展开全部
首先:1你要处理的文本是以什么形式存放的:1:文本方式磁盘存放2:二进制方式磁盘存放3:还是用手输入的呢?不管什么方式:先建一个缓冲区就是一个存放要处理文本的字符数组:char buffer[MAX_LEN],MAX_LEN是你自己定义的文本字节长度比如说:#define MAX_LEN 10000;
2:然后想办法把你要处理的文本读入到buffer中
3:确认文本是以什么分行的:一般都是回车符‘\r’,
让后处理buffer中的数据:遇到回车符就是一行,即行计数器加1;
遇到一个或多个空格就是一个字符串(单词或数字字符)这个你自己
写一个判断字符串是数字字符串还是单词,然后相应的单词或数字字
符串计数器加1;
4:当buffer遍历完后,结果就出来了;
676637801
推荐于2016-07-05 · 超过27用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:75.2万
展开全部
这是单词计数最好的程序之一,有点不满足你的要求,凑合用吧~~
#include<stdio.h>

#define IN 1
#define OUT 0

int main()
{
int c;
int line;
int nw;
int nc;
int state;

state = OUT;
line = nw = nc = 0;
while( ( c = getchar() ) != EOF )
{
++nc;
if( '\n' == c )
++line;
if( ' ' == c || '\n' == c || '\t' == c )
state = OUT;
else if( state = OUT )
{
state = IN;
++nw;
}
}

printf( "%d %d %d\n", line, nw, nc );

return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
125516639
2010-06-26 · TA获得超过452个赞
知道小有建树答主
回答量:184
采纳率:50%
帮助的人:132万
展开全部
两个问题:
1.单词和单词件都用' '间隔,但有标点呢?标点后又没有空格?
2.空格算不算在字符数里面?回车呢?
把你的文档打出来发现a~z,A~Z,标点加起来才497(前提每行最后标点后有空格)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式