wordcount基本功能(代码片段)

ittoto ittoto     2023-01-02     162

关键词:

项目的gitee地址:https://gitee.com/ITtoto/WordCount

 

开发语言:C语言

PSP2.1表格

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

20

 16

· Estimate

· 估计这个任务需要多少时间

 30

 27

Development

开发

 120

 160

· Analysis

· 需求分析 (包括学习新技术)

 20

 18

· Design Spec

· 生成设计文档

 20

 0

· Design Review

· 设计复审 (和同事审核设计文档)

 30

 0

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 20

 0

· Design

· 具体设计

 30

 50

· Coding

· 具体编码

 100

 150

· Code Review

· 代码复审

 20

 0

· Test

· 测试(自我测试,修改代码,提交修改)

 10

 20

Reporting

报告

 20

 13

· Test Report

· 测试报告

 10

 2

· Size Measurement

· 计算工作量

 20

 5

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

 10

15

 

合计

 480

 476

 

WordCount需求说明

  WordCount的需求可以概括为:对程序设计语言源文件统计字符数、单词数、行数,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处理多个文件。

可执行程序命名为:wc.exe,该程序处理用户需求的模式为:

wc.exe [parameter] [input_file_name]

存储统计结果的文件默认为result.txt,放在与wc.exe相同的目录下。

 

基本功能

  wc.exe -c file.c     //返回文件 file.c 的字符数wc.exe -w file.c     //返回文件 file.c 的单词总数wc.exe -l file.c     //返回文件 file.c 的总行数wc.exe -o outputFile.txt     //将结果输出到指定文件outputFile.txt

注意

  空格,水平制表符,换行符,均算字符。

  由空格或逗号分割开的都视为单词,且不做单词的有效性校验,例如:thi#,that视为用逗号隔开的2个单词。

  -c, -w, -l参数可以共用同一个输入文件,形如:wc.exe –w –c file.c 。

  -o 必须与文件名同时使用,且输出文件必须紧跟在-o参数后面,不允许单独使用-o参数。 

 

参数及其约定如下:

参数名字

参数意义

用法示例

-c[必选]

文件的字符数

示例:wc.exe -c file.c [表示返回文件file.c的字符数,并存储在result.txt中]

-w[必选]

文件单词总数

示例:wc.exe -w file.c [表示返回文件file.c的单词数,并存储在result.txt中]

-l[必选]

文件行数

示例:wc.exe -l file.c [表示返回文件file.c的总行数,并存储在result.txt中]

-o[必选]

输出文件名

示例:wc.exe –c file.c -o outfile.txt [表示返回文件file.c的字符数,并存储在outfile.txt中]

 

 

基本思路

  根据C语言写的小程序,三个功能,分别输出文件的字符数、行数和单词数,每个功能写一个函数,在总函数中具体写输出格式,在具体函数中进行具体编码。代码中肯定要进行文件流的一些具体方法,fopen和fwrite等函数也会用到。在做这个的时候,我不想什么炫技的方法,指向一步一步的简单的做下来,所以if else就是一个很好的分类方法了,只要肯分,所有的命令肯定都规规矩矩的一个一个的都能实现,关键就是要看细节代码的部分了,不过对于分拣刘的操作,其实说到底就是那几部,没什么难的。。

 

详细设计 :

  本次实现使用C语言,使用vs2013进行开发。

  设置基础功能有三个类charcount、wordcount和linecount三个类分别对应的事字符数、单词数和行数的统计,最后一个main类收尾,代码如下:

 

 

字符数类:

 1 int charcount(char file[])
 2 FILE *fp= NULL;
 3 int ccount = 0;
 4 char c;
 5 if (fopen_s(&fp, file, "r"))
 6 printf("找不到文件
");
 7 exit(-1);
 8 
 9 c = fgetc(fp);
10 while (c != EOF)
11 c = fgetc(fp);
12 ccount++;
13 
14 fclose(fp);
15 return ccount;
16 

 

 

单词数类:

 1 int wordcount(char file[])
 2 FILE *fp = NULL;
 3 int wcount = 0;
 4 char c;
 5 if (fopen_s(&fp, file, "r"))
 6 printf("找不到文件
");
 7 exit(-1);
 8 
 9 c = fgetc(fp);
10 while (c != EOF)
11 if (c >= a&&c <= z || c >= A&&c <= Z || c >= 0&&c <= 9)
12 while (c >= a&&c <= z || c >= A&&c <= Z || c >= 0&&c <= 9 || c == _)
13 c = fgetc(fp);
14 
15 wcount++;
16 c = fgetc(fp);
17 
18 c = fgetc(fp);
19 
20 fclose(fp);
21 return wcount;
22 

 

 

行数类:

 1 int linecount(char file[])
 2 FILE *fp = NULL;
 3 int lcount = 0;
 4 char c;
 5 if (fopen_s(&fp, file, "r"))
 6 printf("找不到文件
");
 7 exit(-1);
 8 
 9 c = fgetc(fp);
10 while (c != EOF)
11 if (c == 
)
12 lcount++;
13 c = fgetc(fp);
14 
15 else
16 
17 c = fgetc(fp);
18 
19 
20 fclose(fp);
21 return lcount+1;
22 

 

 

main类:

 1 int main()
 2 char order[100], file[100];
 3 printf("输入命令:c:字符数 l:行数 w:单词数 q:退出 
");
 4 while (1)
 5 printf("请输入用户命令: wc.exe -");
 6 scanf_s("%s", &order,100);
 7 if (order[0] == c)
 8 printf("请输入文件名: ");
 9 scanf_s("%s", &file,100);
10 printf("文件的字符数为: %d
", charcount(file));
11 continue;
12 
13 if (order[0] == w)
14 printf("请输入文件名: ");
15 scanf_s("%s", &file, 100);
16 printf("文件的单词数为: %d
", wordcount(file));
17 continue;
18 
19 if (order[0] == l)
20 printf("请输入文件名: ");
21 scanf_s("%s", &file, 100);
22 printf("文件的行数为: %d
", linecount(file));
23 continue;
24 
25 if (order[0] == q)
26 break;
27 
28 
29 return 0;
30 

 

 

测试设计:

技术分享图片

技术分享图片

 

技术分享图片

 

总结:

  刚拿到作业题的时候感觉头皮发麻,完全不知道从哪里下手,又要从文件流入手,又要兼顾命令,还要将结果输出到1个新文件中,还有写博客和一些乱七八糟的东西。无法下手,不过将老师的作业要求全部读了一遍之后,更让人迷糊了,所以干脆都不管了,只是将代码方面的设计下来之后,感觉剩下来的东西也就不是那么让人感到恐惧了,慢慢的也就熟悉上了,编码方面的问题虽然有时候会卡一会,不过通过查找网上的资料和询问同学之后也就搞定了都。感觉这次的作业让我适应了将来工作的一个流程,还有和网上程序员打交道的途径,提前将基础都打好很有利于我们将来的社会工作,我认为这次作业很有意义!

wordcount(小组)(代码片段)

合作者:201631062314,201631062214码云地址:https://gitee.com/dsjyun/Word-Count-three一、代码互审:   第一次都是实现了基本功能,没有完成扩展功能,这次还有个高级功能,于是讨论了后续功能如何实现。我们的意见基本一致... 查看详情

个人项目wordcount(代码片段)

1.项目GitHub地址:https://github.com/FPXBao/wordcount2.解题思路:分析程序基本需求,将其功能分为三个函数调用:主函数intmain();功能函数Ccount();Wcount();Lcount();并进行相关知识学习。3.代码说明:主函数:#include<stdio.h>#include<stdlib.... 查看详情

wordcount代码实现及测试(代码片段)

...者:201631062515201631062415码云地址:https://gitee.com/heshuxiang/WordCount/tree/master2.项目需求  对程序设计语言源文件统计字符数、单词数、行数,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处理多... 查看详情

个人项目-wordcount(java实现)(代码片段)

wordCount1.项目相关要求项目Github地址这个项目要求写一个命令行程序,它能正确统计程序文件中的字符数、单词数、行数,以及还具备其他扩展功能,并能够快速地处理多个文件。作为实战项目,我完成的要求如下:基本功能-c... 查看详情

wordcount(代码片段)

   码云地址:https://gitee.com/qaqxx88/wc1WordCount需求说明 (1)对源文件进行字符数,行数,单词数的统计并且放在与wc.exe相同目录下的result.txt中  (2)基本功能  wc.exe -c file.c   &nbs 查看详情

wordcount(代码片段)

   Gitee地址:https://gitee.com/dyh1621838953/WordCount1此项目我只实现了基本功能,即字符、行数、单词数的计算以及将结果输出到文件中。该项目用C#语言进行实现。解题思路:   根据题目要求所知,需要读取一... 查看详情

软件工程----wordcount(代码片段)

Github项目链接一.项目简介能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有wc.exe的功能,并加以扩充,给出某程序设计语言源文件的字符数、单词数和行数。实现一个统计程序,它能正确统... 查看详情

wordcount(代码片段)

gitee地址:https://gitee.com/yzyindex/wordcount需求分析通过程序设计,编写一个可执行文件exe能够对源程序文件进行统计字符数、单词数、行数,统计结果可以以指定的格式输出到默认文件中。可执行程序命名为:wc.exe,该程序处理用... 查看详情

个人项目:wordcount(c语言)(代码片段)

github地址:https://github.com/7AAAAAAA/c-wc.exe项目相关要求实现一个统计程序,它能正确统计程序文件中的字符数、单词数、行数,以及还具备其他扩展功能,并能够快速地处理多个文件。具体功能要求:程序处理用户需求的模式为:... 查看详情

wordcount基础功能(代码片段)

Gitte地址:https://gitee.com/gyuyue/WordCount PSP表格PSP2.1PSP阶段预估耗时(分钟)实际耗时(分钟)Planning计划 15 20·Estimate·估计这个任务需要多少时间 30 30Development开发 60 80·Analysis·需求分析(包括学习新技术)... 查看详情

软测第四周作业wordcount优化(代码片段)

基本功能1、github地址https://github.com/SSS-SY/wordcount-pro2、PSP表格PSP2.1PSP阶段预估耗时(分钟)实际耗时(分钟)Planning计划 30 20·Estimate·估计这个任务需要多少时间 30 20Development开发 470 550·Analysis·需求分析(包... 查看详情

wordcount的实现(代码片段)

 Gitee链接:https://gitee.com/YiKeYingHuaShu/codes/xmeyf6r8uq7pksbl0a1to52基本功能:(已完成)wc.exe-cfile.c//返回文件file.c的字符数wc.exe-wfile.c//返回文件file.c的单词总数wc.exe-lfile.c//返回文件file.c的总行数wc.exe-ooutputFile.txtf 查看详情

wordcount(代码片段)

WordCount1、GitHub项目地址https://github.com/Anotn5/WordCount2、项目需求 wc.exe是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有wc.exe的功能,并加以扩充,给出某程序设计语... 查看详情

第四周wordcount小组作业(代码片段)

一、基础功能小组github地址:https://github.com/kawoyi/Advanced-WordCounterPSP表格:接口的实现:我实现的是单词的统计模块,由Counter类完成,其中最主要的功能是由analyse()函数完成功能是将分割出单词并且加入map中供输出结果publicvoi... 查看详情

个人项目(代码片段)

Github:https://github.com/Naren-Github66/WordCount项目相关要求1.题目描述WordCount实现一个简单而完整的软件工具(源程序特征统计程序)。进行单元测试、回归测试、效能测试,在实现上述程序的过程中使用相关的工具。进行个人软件过... 查看详情

wordcount(代码片段)

Github地址:https://github.com/mk-god/WC一、项目要求wc.exe是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有wc.exe的功能,并加以扩充,给出某程序设计语言源文件的字符数、... 查看详情

wordcount(代码片段)

项目地址Github地址:https://github.com/274588(上传出现了一些问题,解决后补上)一、项目描述wc.exe是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有wc.exe的功能,并加以... 查看详情

第四周作业wordcount优化(代码片段)

基本+扩展+高级 基本任务:代码编写+单元测试1.Github地址https://github.com/ChenSilence/wcPro2.PSP表格 PSP2.1PSP阶段预估耗时(分钟)实际耗时(分钟)Planning计划 2010 ·Estimate·估计这个任务需要多少时间2010Development开发36040... 查看详情