第一次写博客,这次也是本学期写到第一个程序。

  老师要求网址:http://www.cnblogs.com/jiel/p/3311400.html#2777556

一.项目预计时间

一开始想使用不熟悉的C++或者C#,会花就多时间熟悉语法,而且使用Visual studio也将提高所花时间。

计划:

1、使用学习熟悉下C++:4小时;

2、代码初次完成(只需完成大致的框架,实现函数):3小时;

3、代码的debug和优化修改:4小时;

4、作业后期的各项完善工作:2小时。

二.项目实际用时

1、一开始看了点c++速成的资料,之后编程的时候一直在查找资料,总之是一直写到底查到底那种;

2、由于没有仔细看老师的要求,结果使自己代码之后大改,其实自己前期没有构思好,弄的代码比较冗杂,不够清晰明确,也浪费太多时间了,花费时间约5小时;

3、之后便是自己的debug和修改时间,自己也是改改停停,不是一次性仔细完成,时间跨越较大,大约花了5小时;

4、后期工作就是自己的进一步优化和博客书写了,总体而言自己没有认真去算法优化,导致程序运行比较慢,没有用哈希或者二叉树优化算法,算法的运行速度不够高,自己下次会好好注意的,加快作业完成速度,让自己有更多时间可以优化代码,提高算法水平,用时3小时。

总用时:15+小时吧。由于统计也不是很准确,确实花了很多时间,也是太久没写程序了,忘记了很多,也加上接触新知识,有点陌生。

三.项目的表现和性能的分析

程序正确(经过多次与多种文件测试,考虑了各种情况,运行是正确的),可以由于运行速度不是很快,程序遇到大目录会许久才可以运行完成。

1、cpu使用百分比情况:

这儿可以看出占用CPU有点高,伙伴们都是10%到20%,而自己在20%到40%之间,代码要好好修改了。

2、

关于VisualStudio性能分析数据中的独占样本数和非独占样本数

3、性能分析系统通知

还好没有警告,自己代码还是勉强可以的。

四.项目的测试样例

1、测试程序区分单词合乎标准的能力

测试用例:

运行结果:
结果运行正确!
 
2、测试程序大小写合并于排序的能力
测试用例:
运行结果:
 结果运行正确!
 
3、测试程序两个单词的统计能力
测试用例使用的事老师的此次程序要求就的博客:
运行结果:
结果同伙伴们相比是一致的。
 
4、测试程序三个单词的统计能力
测试仍然用老师的程序要求博客
运行结果:
运行结果与伙伴们相比一致。
 
5、测试空文件夹
运行结果:
除了生成“程刚.txt"文件夹,无文件内容输出,正确!
 
6、测试空文件
(文件夹中只有一无任何内容的txt文件)
运行结果:
运行结果正确!
 
7、测试拥有多个文件的文件夹
测试用例(两个文件夹):
 
运行结果:
运行结果正确!
 
8.测试拥有子文件夹的文件夹
还是上两个文件,一个在"d:\124"文件夹中,一个在"d:\124\新建文件夹中"
命令行输入"d:\124"
运行结果:
运行结果正确!
 
9、测试百度下载的"The Kite Runner.txt"576K的一个文件

运行结果:

运行结果与伙伴们的一致。

10、将我这次的ConsoleApplication1.cpp代码装成txt进行测试:

运行结果:

注:此次的截图由于输出格式不正确,代码之后进行改正了,而截图没有换,除了输出格式不同,实际输出是一致的。

五.收获

此次算是第一次用C++些大一点的程序,实现一个功能,在查找C++资料的过程中自己学到许多原来不知道的知识。而且使用

Visual studio 2013这么高大上的软件,虽然还是没有全部弄清楚其功能,但是也被其强大的功能所折服,软件性能很好,除了

占用电脑很大资源T T。

THE First Individual Project - Word frequency program的更多相关文章

  1. Individual Project - Word frequency program by HJB

    using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;us ...

  2. Limeng:Individual Project: Word frequency program -BUAA Advanced Software Engineering

    11061190-李孟 Implement a console application to tally the frequency of words under a directory (2 mod ...

  3. Individual Project - Word frequency program - Multi Thread And Optimization

    作业说明详见:http://www.cnblogs.com/jiel/p/3978727.html 一.开始写代码前的规划: 1.尝试用C#来写,之前没有学过C#,所以打算先花1天的时间学习C# 2. ...

  4. Individual Project - Word frequency program——12061154Joy

    Description&Requirement: http://www.cnblogs.com/jiel/p/3978727.html 项目时间估计 理解项目要求: 1h 构建项目逻辑: 1h ...

  5. SoftwareEngineering Individual Project - Word frequency program

    说实话前面c#实在没怎么学过.这次写起来感觉非常陌生,就连怎么引用名空间都忘记了.在经过恶补后还是慢慢地适应了. 1.项目预计用时: 构建并写出大概的数据结构,程序框架及模块: 30min 实现文件夹 ...

  6. Individual Project - Word frequency program

    1.项目预计用时 -计划学习C#和百度一些用法的时间:5小时 -项目本身打算写两个类,一个是遍历搜索文件夹的,另外一个用来统计单词.计划用时:5小时 2.项目实际用时 学习C#以及正则表达式的用法:3 ...

  7. Record for Individual Project ( Word frequency program )

    1.  预计时间 ● 对问题总体的理解.规划:10 min ● 设计编写程序:5 h ● 调试: 分模块-40 min; 总体-40min ● 测试(性能分析).改进:1 h 2.  实际用时 ● 对 ...

  8. Individual Project - Word frequency program-11061171-MaoYu

    BUAA Advanced Software Engineering Project:  Individual Project - Word frequency program Ryan Mao (毛 ...

  9. Project: Individual Project - Word frequency program----11061192zmx

    Description & Requirements http://www.cnblogs.com/jiel/p/3311400.html 项目时间估计 理解项目要求: 1小时 构建项目逻辑: ...

随机推荐

  1. iOS时间显示今天昨天

    一.前言 今天无意间想起写这个功能,仔细考虑了一下,其实很简单,整体思路如下: 先获取你所要转换的时间的年月日,然后再获取今天和昨天的年月日,然后对比,进而返回不同的字符串. 二.实现步骤 首先,我们 ...

  2. WPFのBorder的用法

    border介绍: 下面是StackPanel中,一个简单的,具有轻微圆角的边框,围绕在一组按钮外面: <Border Margin="5" Padding="5& ...

  3. python五十九课——正则表达式的拓展内容

    演示正则表达式的拓展内容:函数:finditer(regex,string,[flags=0]):参数:和match.search.findall一样理解功能:将所有匹配的数据封装为一个一个的matc ...

  4. API与软件架构-接口

    http://blog.csdn.net/horkychen/article/details/46612899 从架构设计的角度来看(所谓的组成论),软件系统就是模块和接口. 模块(层次/组件)决定分 ...

  5. 使用KVM虚拟机遇到的问题(持续更新)

    1.qemu-kvm.kvm.qemu 和 qemu-system-x86_64四种命令的差别 qemu 和 qemu-system-x86_64:启动qemu虚拟机的命令,x86_64为64位系统时 ...

  6. qlexpress

    qlexpress也是一个用于执行文本代码的解析器

  7. BugFree设置邮箱通知(这里以163邮箱为例)

    公司用bugfree在进行新建Bug指派抄送给同事的时候,总是有人不及时登录BugFree去查看指派给自己的,所以要加一个邮箱通知,这样可以及时通知到被指派的同事. 百度上很多用的是QQ邮箱来实现的, ...

  8. esp8266(1) 手机+Arduino+esp8266通信

    ESP8266 Android与Arduino通信 功能描述: 1 Arduino上电,它通过软串口(Arduino的 2号和3号脚)发送命令,配置espson8266为 AP模式,wifi名 DDD ...

  9. solidity-library

    library 1)直接使用使用库合约的合约,可以将库合约视为隐式的父合约(base contracts),当然它们不会显式的出现在继承关系中.意思就是不用写is来继承,直接可以在合约中使用: lib ...

  10. <数据结构与算法分析>读书笔记--最大子序列和问题的求解

    现在我们将要叙述四个算法来求解早先提出的最大子序列和问题. 第一个算法,它只是穷举式地尝试所有的可能.for循环中的循环变量反映了Java中数组从0开始而不是从1开始这样一个事实.还有,本算法并不计算 ...