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. poj2374 Fence Obstacle Course[线段树+DP]

    https://vjudge.net/problem/POJ-2374 吐槽.在这题上面磕了许久..英文不好题面读错了qwq,写了个错的算法搞了很久..A掉之后瞥了一眼众多julao题解,**,怎么想 ...

  2. poj3171 Cleaning Shifts[DP]

    https://vjudge.net/problem/POJ-3171.(有价值的区间全覆盖问题) (lyd例题)朴素DP很好想,$f[i]$表示将右端点从小到大排序后从$L$(要求覆盖的大区间)到第 ...

  3. BZOJ2342:[SHOI2011]双倍回文

    浅谈\(Manacher\):https://www.cnblogs.com/AKMer/p/10431603.html 题目传送门:https://www.lydsy.com/JudgeOnline ...

  4. php system()

    学习源头: https://blog.csdn.net/ltx06/article/details/53992905 system(“nohup ./test.py $s &”); 这个不会在 ...

  5. HTML 各种鼠标手势

    <html> <body> <p>请把鼠标移动到单词上,可以看到鼠标指针发生变化:</p> <span style="cursor:au ...

  6. 【转】 Pro Android学习笔记(八九):了解Handler(3):延迟执行小例子

    目录(?)[-] 小例子 Handler的处理 Activity的代码片段 后台线程和UI的互动 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://b ...

  7. java代码异常捕获throws抛出异常

    总结:Throwable 是所以异常的父类.error和Exception是继承它的类 Exception: 这类异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环 ...

  8. ThreadPoolTaskExecutor异常收集

    ThreadPoolTaskExecutor ipFinderThreads = new ThreadPoolTaskExecutor(); ipFinderThreads.setCorePoolSi ...

  9. RDD之一:总体介绍

    摘要 本文提出了分布式内存抽象的概念——弹性分布式数据集(RDD,Resilient Distributed Datasets),它具备像MapReduce等数据流模型的容错特性,并且允许开发人员在大 ...

  10. Celery-4.1 用户指南: Routing Tasks (路由任务)

    注意: 像主题和扇出之类的路由概念并不对所有传输介质都可用,请翻阅”传输比较表”. 基础 自动路由 路由最简单的方式是使用 task_create_missing_queues 设置(默认启用). 使 ...