PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

 20  20

· Estimate

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

20   20

Development

开发

150  150 

· Analysis

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

 10 10 

· Design Spec

· 生成设计文档

 10  10

· Design Review

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

10  10 

· Coding Standard

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

10   10

· Design

· 具体设计

20  20 

· Coding

· 具体编码

80 80 

· Code Review

· 代码复审

 10  10

· Test

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

20   20

Reporting

报告

90  90 

· Test Report

· 测试报告

60  60 

· Size Measurement

· 计算工作量

30   30

· Postmortem & Process Improvement Plan

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

10  10 
 

合计

 550

github 项目地址:https://github.com/zhaozhiyu/wordcount

解题思路:控制判断“空 “ ”逗号“ ”换行符“ “字符”,对文件内容进行判断,并输出结果到另一个文件。

程序实现:在控制台传入命令,并且调用wordcount.exe。传入文件路径实现需求功能(-c-w,-l,-o)。

代码说明

void analyse()
{
 while ((c = fgetc(file)) != EOF)//文件字符判定,字符数++
 {
  chars++;
  if (c !=' '&& c != ','&&c != '\n') //分隔符判定,单词数++
  {
   words++;
   while ((c = fgetc(file)) != EOF)
   {
    chars++;
    if (c != ' '&& c != ','&& c != '\n')
    {
    }
    else if (c == '\n')//换行符号判定,行数++
    {
    
     lines++;
     break;
    }
    else if (c == ' ' || c == ','|| c == '\n')
     break;
    else
    {
     break;
    }
   }
  }

else if (c == '\n')//若改行为最后一行,无法判定,行数++
  {  
   lines++;
  }
 }
}

测试命令

wordcount.exe -c file.txt

wordcount.exe -w file.txt

wordcount.exe -l file.txt

wordcount.exe -o file.txt

更多的测试功能过程:https://github.com/zhaozhiyu/zhaoshidaye/wordcount

参考文献链接

http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html

wrodcount的更多相关文章

  1. Spark:一个高效的分布式计算系统

    概述 什么是Spark ◆ Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥 ...

  2. hadoop2.0初识1.1

    1.伪分布式hdfs文件系统的搭建(单节点文件系统) 1.1.根据上节的讲解,配置主机映射.jdk和解压hadoop压缩包 1.2.配置namenode 在/opt/modules/hadoop-2. ...

  3. 【转】科普Spark,Spark是什么,如何使用Spark

    本博文是转自如下链接,为了方便自己查阅学习和他人交流.感谢原博主的提供! http://www.aboutyun.com/thread-6849-1-1.html http://www.aboutyu ...

  4. hadoop-mapreduce-(1)-统计单词数量

    编写map程序 package com.cvicse.ump.hadoop.mapreduce.map; import java.io.IOException; import org.apache.h ...

  5. 【转】Spark:一个高效的分布式计算系统

    原文地址:http://tech.uc.cn/?p=2116 概述 什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架, ...

  6. Spark:一个高效的分布式计算系统--转

    原文地址:http://soft.chinabyte.com/database/431/12914931.shtml 概述 什么是Spark ◆ Spark是UC Berkeley AMP lab所开 ...

  7. 初步了解Spark生态系统及Spark Streaming

    一.        场景 ◆ Spark[4]: Scope:  a MapReduce-like cluster computing framework designed for low-laten ...

  8. centos6.5搭建hadoop单节点

    1.添加用户 groupadd  hadoop useradd -d /home/hadoop -m hadoop -g hadoop passwd hadoop    修改密码 付给用户sudo权限 ...

  9. spark提交至yarn的的动态资源分配

    1.为什么开启动态资源分配 ⽤户提交Spark应⽤到Yarn上时,可以通过spark-submit的num-executors参数显示地指定executor 个数,随后,ApplicationMast ...

随机推荐

  1. UVA - 11922 Permutation Transformer (splay)

    题目链接 题意:你的任务是根据m条指令改变排列{!,2,3,...,n}.每条指令(a,b)表示取出第a~b个元素,翻转后添加到排列的尾部.输出最终序列. 解法:splay对区间分裂合并翻转,模板题. ...

  2. MySQL下分页查询数据

      -- 分页 -- 前两条 -- 启始位置从下标0开始,查询的是数据库中的第1条开始 -- 0:启始位置 2:一次性查询多少条 select * from account LIMIT 0,2; -- ...

  3. python2.7 爬取简书30日热门专题文章之简单分析_20170207

    昨天在简书上写了用Scrapy抓取简书30日热门文章,对scrapy是刚接触,跨页面抓取以及在pipelines里调用settings,连接mysql等还不是很熟悉,今天依旧以单独的py文件区去抓取数 ...

  4. 2825 codevs危险的组合(递推)

    2825 危险的组合 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 钻石 Diamond 题目描述 Description 有一些装有铀(用U表示)和铅(用L表示)的盒子,数量均足够 ...

  5. Visualforce入门第五篇_2017.3.1

    Visualforce添加过滤器,实现数据的筛选 参考原文:https://trailhead.salesforce.com/modules/visualforce_fundamentals/unit ...

  6. QrCode C#生成二维码 及JavaScript生成二维码

    一 C#的二维码    示例: class Program { static void Main(string[] args) { QrEncoder qrEncoder = new QrEncode ...

  7. handlebars自定义helper方法

    handlebars相对来讲算一个轻量级.高性能的模板引擎,因其简单.直观.不污染HTML的特性,我个人特别喜欢.另一方面,handlebars作为一个logicless的模板,不支持特别复杂的表达式 ...

  8. 问题:asp.net 点击button按钮调到页面顶部;结果:asp.net点击一个按钮,使页面跳转到本面页上的指定位置

    asp.net点击一个按钮,使页面跳转到本面页上的指定位置 (2011-04-19 16:46:51) 转载▼ 标签: it   最近在做一个项目. 用到标题所说的功能. 实现方法: 1.在aspx中 ...

  9. 问题:C#将base64转换成二进制图片;结果:c# Base64编码和图片的互相转换代码

    c# Base64编码和图片的互相转换代码 Base64编码在Web方面有很多应用,譬如在URL.电子邮件方面.网上有很多相关的资源用于提供Base64编码和其他编码的转换,.Net Framewor ...

  10. LAMP 3.1 mysql的root密码重置

    给mysql设置密码 /usr/local/mysql/bin/mysql -uroot 可以直接登录mysql 设置密码 /usr/local/mysql/bin/mysqladmin -uroot ...