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

  老师要求网址: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. 【Ansible 文档】【译文】模版(Jinja2)

    Templating (Jinja2) 正如在 variables 部分描述的那样, Ansible 使用Jinja2模版来启用动态表达式和访问变量. Ansible 扩展了许多 filtes 和 t ...

  2. GUI_文件管理器(练习)

    实现想windows下的文件管理器(主要是监听器里的方法,showDir()写法) package com.mywindow.test; import java.awt.event.ActionEve ...

  3. Django admin 后台管理

    在App 文件夹下的 admin.py 文件中写入 from django.contrib import admin from app名 import models admin.site.site_h ...

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

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

  5. github(1)安装及使用图文详解

    教程https://blog.csdn.net/qq_32166627/article/details/54427622 下载地址:https://desktop.github.com/

  6. Qt 编程指南 4 按钮

    1按钮类的控件 逐个解释一下各个用途:(1)按压按钮 QPushButton最基本的按钮,点击该按钮通常是通知程序进行一个操作,比如弹个窗.下一步.保存.退出等等,这是经常用到的,操作系统里的对话框里 ...

  7. MYSQL联合多表更新和删除(转)

    文章转自http://www.cnblogs.com/andy_tigger/archive/2011/05/11/2043483.html 多表更新在 MySQL 3.23 中,你可以使用 LIMI ...

  8. Linux系统远程连接服务器命令行模式

    导读 对于很多新手来说,如何用Windows远程Linux操作系统,是个前进的大问题.如果这个问题前进不了,其他更别说了. Linux或Max OS X系统电脑,登录步骤为 1.打开ssh客户端 2. ...

  9. 201904Online Human Action Recognition Based on Incremental Learning of Weighted Covariance Descriptors

    论文标题:Online Human Action Recognition Based on Incremental Learning of Weighted Covariance Descriptor ...

  10. Android学习之基础知识十—内容提供器(Content Provider)

    一.跨程序共享数据——内容提供器简介 内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能 ...