(一)工程设计时间预计

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. 10个最佳的PHP图像操作库

    Thomas Boutell 以及众多的开发者创造了以GD图形库闻名的一个图形软件库,用于动态的图形计算. GD提供了对于诸如C, Perl, Python, PHP, OCaml等等诸多编程语言的支 ...

  2. hadoop2 环境的搭建(手动HA)

    1.手工切换ha的环境的搭建(比hadoop1多出来journalnode的配置) namenode:hadoop110和hadoop111 datanode:hadoop112.hadoop113. ...

  3. Wince 中如何实现注册表恢复原厂设置

    理论: 使用HIVE注册表,系统在完成了第一阶段也就是加载完了boot.hv+binfs之后和加载系统HIVE注册表之前,filesys.exe都会调用OEMIoControl来查询是否需要清除保存在 ...

  4. Android开发之三种动画

    转载:http://www.cnblogs.com/angeldevil/archive/2011/12/02/2271096.html http://www.lightskystreet.com/2 ...

  5. Windows下免费、开源邮件服务器hMailServer

    Windows下免费.开源邮件服务器hMailServer 一.Windows下搭建免费.开源的邮件服务器hMailServer 二.邮件服务器hMailServer管理工具hMailServer A ...

  6. 解决编译报错:Unable to copy file, because it is being used by another process.

    Error    63    Unable to copy file "D:\DEV\XXX Website\trunk\4 Source Code\Common\WebControls\b ...

  7. Asp.Net MVC Views页面不包含“GetEnumerator”的公共定义

    “/”应用程序中的服务器错误. 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS1579: “Web.Model ...

  8. Android Studio 我常用快捷键

    0. Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类 1. 重载方法 Ctrl+O 2.Ctrl+shift+Enter:自动匹配相对应的语法结构,比如if,do-while,t ...

  9. [反汇编练习] 160个CrackMe之002

    [反汇编练习] 160个CrackMe之002. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...

  10. apache开源项目--dbutils

    原则上这不能说是一个持久层框架,它提供了一些Jdbc的操作封装来简化数据查询和记录读取操作.本站就是采用这个项目来读写数据库,代码非常简洁,如果你厌烦了Hibernate的庞大,不妨可以试试——DbU ...