(一)工程设计时间预计

1.代码编写:2小时

  (1)文件夹的遍历以及筛选;

  (2)文件夹的读取,以及对读取字符的操作;

  (3)所得结果排序,以及文件输出。

2.程序调试:1小时

  (1)编写数据。

  (2)测试以及调试。

3.预计总时间:3小时

(二)工程所用实际时间

1.代码编写:4小时

  (1)文件夹的遍历以及筛选;

  (2)文件夹的读取,以及对读取字符的操作;

  (3)所得结果排序,以及文件输出。

2.程序调试:3小时

  (1)编写数据。

  (2)测试以及调试。

实际所用总时间:7小时

(三)关于实际时间比预计时间长的分析

在这一过程中对于文件的递归遍历始终无法做到,最终只能用cmd命令在windows环境下dir这个指令和列出文件目录有关

(四)程序部分代码
遍历文件
void Init(int argc,char *argv[]){
string baseDir,command;
baseDir=argv[argc-1];
if (baseDir[baseDir.length()-]!='\\')
baseDir+='\\';
command="dir "+baseDir+"*.txt "+baseDir+"*.cpp "+baseDir+"*.h "+baseDir+"*.cs"+" /S"+" /B > result.txt";
system(command.c_str());
return;
}

模式选择

for(i=;i<(*count);i++){
if(argc==){ //模式一
for(k=;w[i].danci[k]!='\0'&&str[k]!='\0';k++)
if(w[i].danci[k]!=str[k] && w[i].danci[k]+'A'-'a'!=str[k] && w[i].danci[k]!=str[k]+'A'-'a')
break;
if(w[i].danci[k]=='\0'&&str[k]=='\0'){
flag1=;
w[i].times++;
if(w[i].danci[]>str[])
strcpy_s(w[i].danci,str);
break;
}
}
else if(argc==){ //模式二
int m,n;
for(m=strlen(w[i].danci)-;m>=;m--)
if(w[i].danci[m]>='a'&&w[i].danci[m]<='z' || w[i].danci[m]>='A' &&w[i].danci[m]<='Z')
break;
for(n=strlen(str)-;n>=;n--)
if(str[n]>='a'&&str[n]<='z' || str[n]>='A'&&str[n]<='Z')
break;
if(m!=n)
break;
else{
for(k=;k<=m;k++)
if(w[i].danci[k]!=str[k] && w[i].danci[k]+'A'-'a'!=str[k] && w[i].danci[k]!=str[k]+'A'-'a')
break;
if(k=m+){
flag1=;
w[i].times++;
if(strcmp(w[i].danci,str)>)
strcpy_s(w[i].danci,str);
break; }
}
}
}

(五)代码分析

1.分析报告

(六)所使用的测试用例

测试空文件夹

测试有相同单词的文件

测试有文件中包含文件的文件

测试有不符合后缀的文件

测试-e中数字不同,单词相同的文件

测试-e中大小写不同的文件

测试字母+数字+字母+数字的文件

(七)感想

这次的编程与预计差别非常大,让我了解了很多自己不懂得知识。通过网上搜索和查阅《c++prime》这本书让我了解了很多。



软件工程个人项目--Word frequency program的更多相关文章

  1. 软件工程个人项目-Word frequency program by11061167龚少波

    (一)工程设计时间预计 1.代码编写:4小时 熟悉Visual studio 2012的使用 : 程序代码部分主要分为三个步骤: (1)主函数的构建,包括各种函数调用及输入输出部分: (2)对目标文件 ...

  2. 关于软件工程个人作业 Word frequency program 的总结

    一.预计花在程序各部分的时间: (1)对所给命令行参数的判断和处理,看它是否合法.是哪种模式.预计用时20min; (2)关于目录操作:遍历给定目录下的所有文件,包括子目录和非目录文件.预计用时40m ...

  3. 【软件工程】Word frequency program

    一.开始写代码前的规划: 1.尝试用C#来写,之前没有学过C#,对于C++也不熟,所以打算先花1天的时间学习C# 2.整个程序基本分为文件遍历.单词提取.单词匹配.排序.输出几个模块,各个模块大致时间 ...

  4. 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 ...

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

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

  6. Individual Project - Word frequency program by HJB

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

  7. Individual Project - Word frequency program

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

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

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

  9. Record for Individual Project ( Word frequency program )

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

随机推荐

  1. HBase的Shell操作

    1.进入命令行 bin/hbase shell 2.输入help 查看各种命令组. 命令是分组的,可以执行help 'general'查看general组的命令. 3.常用命令 --显示有哪些表 li ...

  2. 加密解密(11)HMAC-在sha1,md5基础上加密

    HMAC: Hash-based Message Authentication Code http://baike.sogou.com/v10977193.htm http://www.baike.c ...

  3. poi操作oracle数据库导出excel文件

    HSSFWorkbook workBook = new HSSFWorkbook();// 创建 一个excel文档对象 HSSFSheet sheet = workBook.createSheet( ...

  4. C#中Dictionary的用法及用途

    Dictionary<string, string>是一个泛型 他本身有集合的功能有时候可以把它看成数组 他的结构是这样的:Dictionary<[key], [value]> ...

  5. varchar 保存英文中文区别。

    varchar在SQL Server中是采用单字节来存储数据的,中文字符存储到SQL Server中会保存为两个字节,英文字符保存到数据库中,如果字段的类型为varchar,则只会占用一个字节,而如果 ...

  6. DirectSound播放PCM(可播放实时采集的音频数据)

    前言 该篇整理的原始来源为http://blog.csdn.net/leixiaohua1020/article/details/40540147.非常感谢该博主的无私奉献,写了不少关于不同多媒体库的 ...

  7. java5 新特性

    1.静态导入方法 package com.java.new_features_jdk5; /** * * 一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:i ...

  8. Codeforces Round #207 (Div. 2)C

    读错题意了..线段树延迟标记 白刷这么多线段树 #include <iostream> #include<cstdio> #include<cstring> #in ...

  9. 1320. Graph Decomposition

    1320 简单并查集 #include <iostream> #include<cstdio> #include<cstring> #include<algo ...

  10. [Everyday Mathematics]20150204

    设 $k_0>0$, $\phi:[k_0,\infty)\to[0,\infty)$ 是有界递减函数, 并且 $$\bex \phi(k)\leq \frac{A}{(k-h)^\al}\ph ...