软件工程作业个人项目: wc项目,统计文本文件的字符数、单词数和行数。

1、代码来源:

http://www.cnblogs.com/changjiangcheng/p/5304120.html

2、platform: windows VC++

language: c

3、bug:  换行前的单词结尾需要有‘ ‘,‘,‘,‘.‘,‘!‘,‘?‘ ‘;‘才能正确计数

4、github: https://github.com/5Mei/wc/blob/master/main.cpp

#include "stdio.h"
#include "string.h"
#include "stdlib.h"

int charcalculate=0;

int wordcalculate=0;

int linecalculate=0;

void calculate(char * file)
{
FILE * fp;
char a;
if((fp=fopen(file,"r"))==NULL)
{
printf("read file failed!\n");
exit(-1);
}
while(!feof(fp))
{
a=fgetc(fp);
if(a!=‘ ‘&&a!=‘\n‘&&a!=‘\t‘&&a!=‘,‘&&a!=‘.‘&&a!=‘!‘&&a!=‘;‘&&a!=‘=‘)
charcalculate++;
if(a==‘ ‘||a==‘,‘||a==‘.‘||a==‘!‘||a==‘?‘||a==‘;‘)
wordcalculate++;
if(a==‘\n‘||a==‘\t‘)
linecalculate++;
}
linecalculate++;
charcalculate--;
fclose(fp);
}

int main(int argc, char* argv[])
{
FILE *fp;

calculate(argv[2]);
while(1)
{
if((fp=fopen(argv[2],"r"))==NULL)
{
printf("FileNull\n\n\n");
scanf("%s%s%s",argv[0],argv[1],argv[2]);
continue;
}
else if(!strcmp(argv[1],"-c"))
printf("File:%s CharNum:%d\n",argv[2],charcalculate);
else if(!strcmp(argv[1],"-w"))
printf("File:%s WordNum:%d\n",argv[2],wordcalculate);
else if(!strcmp(argv[1],"-l"))
printf("File:%s LineNum:%d\n",argv[2],linecalculate);
else if(!strcmp(argv[1],"exit"))
{
printf("Exit!\n");
break;
}
else
printf("NullPoint\n");
printf("\n\n");
scanf("%s%s%s",argv[0],argv[1],argv[2]);
}
return 0;

}

时间: 2025-01-07 12:52:11

软件工程作业个人项目: wc项目,统计文本文件的字符数、单词数和行数。的相关文章

关于wc.exe程序处理文件字符,单词数,行数

Gitee项目地址:https://gitee.com/xiecangxing/wc.git 本项目我只实现了基本功能,也就是文件的字符总数,单词总数,以及行数的计算,以及输出至哪个文件 并且直接使用C#语言进行编写 整个项目我集中在一个主类和一个主方法当中 以及十个方法,分别完成相应的任务,较为符合单一原则分别为 1.CheckFileName(string fileName) 检查文件名是否正确 2.CheckCommand(string command) 检查命令符是否正确 3.charC

Linux命令-统计文件中的字节数、字数、行数:wc

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数.字数.行数,并将统计结果显示输出.该命令统计指定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所指定文件的总统计数. 3.命令参数: -c 统计字节数. -l 统计行数. -m 统计字符数.这个标志不能与 -c 标志一起使用. -w 统计字数.一个字被定义为由空白.

Linux 下使用 wc 统计文件夹下所有文件的代码行数(包括子目录)

wc 命令用于统计文件内容的行数.单词数.字母数. 但是如果想统计一个目录下所有文件的行数,wc 并没有提供递归统计. 不过,可以结合 find 命令,例如: $ wc -l `find -name *.c` 其中,-l 参数是统计行数,find -name *.c 是查找当前目录(包含子目录)下所有的C文件,` ` 是 shell 中的替换命令. 当然,实现方法有很多,我只是觉得这个比较简单易记. 测试效果如下: 最后,附一下 wc 的使用帮助(man wc) NAME wc - print

Atitit.Gui按钮与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数.

1. Kpi:::  代码行数(注释行数,空白的行数), 方法数,class数 1 2. 过滤器::: 扩展名过滤 1 3. SourceCounter 3.3 (2M) 1 4. 概览 2 5. 详细 3 6. 扩展名过滤 3 7. 导出html 3 8. OnlyJava 3 1. Kpi:::  代码行数(注释行数,空白的行数), 方法数,class数 2. 过滤器::: 扩展名过滤 作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:[email protected] 转载请注明

统计文本文件的字符数、单词数和行数

public class Test { public static void main(String[] args) throws Exception{Scanner input=new Scanner(System.in);System.out.println("请输入路径");String path=input.next();int charNum= 0 ;int wordsNum= 0;int lineNum = 0;InputStreamReader isr = new Inp

Linux wc命令用于计算文件的行数/字数

利用wc指令我们可以计算文件的Byte数.字数.或是行数,若不指定文件名称.或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据. 语法: wc [-clw] [--help] [--version] [文件...] 参数: -c或--bytes或--chars 只显示Bytes数. -l或--lines 只显示行数. -w或--words 只显示字数. --help 在线帮助. --version 显示版本信息. 实例: 在默认的情况下,wc将计算指定文件的行数.字数,以及

java实现WC项目

个人项目:WC   wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数.单词数和行数. GitHub地址:https://github.com/lllhhhyyy/mygit 基本功能列表 -c    [文件名]  返回文件的字符数(实现) -w   [文件名]  返回文件词的数目(实现) -l     [文件名]  返回文件的行数(实现) 扩展功能列表 -s   递归处

软件工程第三个程序:“WC项目” —— 文件信息统计(Word Count ) 命令行程序

软件工程第三个程序:“WC项目” —— 文件信息统计(Word Count ) 命令行程序 格式:wc.exe [parameter][filename] 在[parameter]中,用户通过输入参数与程序交互,需实现的功能如下: 1.基本功能 支持 -c 统计文件字符数支持 -w 统计文件单词数支持 -l 统计文件总行数 2.拓展功能 支持 -a 返回高级选项(代码行 空行 注释行)支持 -s 递归处理符合条件的文件 3.高级功能 支持 -x 程序以图形界面与用户交互 [filename] 是

个人项目Wc.exe(JAVA)

1.个人项目WC.exe的github地址:https://github.com/jezing/WC-in-software 2.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 35 50 · Estimate · 估计这个任务需要多少时间 35 50 Development 开发 900 1300 · Analysis · 需求分析  30 60 · Design Spec · 生成设计文档