WordCount

一、       github地址https://github.com/hxxgxq/WordCount

二、       psp表格

 

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

 20

 10

· Estimate

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

 890

 1080

Development

开发

 920

 1120

· Analysis

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

 100

 120

· Design Spec

· 生成设计文档

 40

 50

· Design Review

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

 20

30

· Coding Standard

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

10

15

· Design

· 具体设计

 30

 35

· Coding

· 具体编码

 400

 550

· Code Review

· 代码复审

 20

 20

· Test

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

 200

 300

Reporting

报告

 70

 60

· Test Report

· 测试报告

 20

 25

· Size Measurement

· 计算工作量

 10

 15

· Postmortem & Process Improvement Plan

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

 40

 30

 

合计

 

 

三、       解题思路

WordCount需求说明

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

基本功能返回指定文件中的字符数、单词数、行数。

因为对java十分不熟悉,没有特别好的思路,所以还是决定用比较熟悉的c来写这次的程序。

思路首先想好这是关于文件的操作,那么必然会用到文件的读取与写入,于是回顾了一下关于文件的操作,之后就开始实现基本功能,字符数和行数的统计比较简单,单词数的统计需要思考一下。个人水平有限,对于扩展功能的实现感觉比较困难,于是只做了基本功能。

设计思路:

1、 先实现从指定文件名读取数据的功能

2、 实现读取数据后题目要求的几个功能,统计字符数、行数、单词数。

3、 实现从用户输入中读取目标文件名和输出文件名

4、 将2、3合并。

四、       代码说明

scanf_s("%[^\n]", input, 50);

    for (int i = 0; input[i] != NULL; i++)

    {

        if(input[i] == '-')

            if (input[i+1] == 'o')

                for (int j = i+1; input[j] != NULL; j++)

                {

                   if (input[j] == ' ')

                       if (input[j + 1] != ' '&&input[j + 1] != '-')

                       {

                           Outfile_name = input + j + 1;

                           break;

                       }

                }              

    }

    for (int i = 1; input[i] != NULL; i++)

    {

        if (input[i-1] == ' ')

            if (input[i] !=' '&&input[i] !='-')

            {

                int j = i;

                while (input[i] != ' '&& input[i]!=NULL)

                {

                   a[i] = input[i];

                   i++;

                }

                flie_name = a + j;

                break;

            }                  //获取目标文件名

这部分代码实现的是获取用户输入的源文件名和输出目标文件名。

五、       测试设计过程

测试用例的设计思路,首先测试-c –w –l 分别各自是否能正常运行,然后将其分别和-o组合在急性测试,最后-c –w –l –o一起进行测试。

测试编号

测试内容

用户指令

1

基本字符测试

–c test.c

2

单词测试

-w word.c

3

行数测试

-l line.c

4

字符输出测试

-c char.c –o output.txt

5

单词输出测试

-w word.c –o output.txt

6

行数输出测试

-l line.c –o output.txt

7

全套测试

-c –w –l test.c –o output.txt

posted on 2018-03-20 21:27  何啸轩  阅读(228)  评论(1)    收藏  举报

导航