软件工程个人项目--Word frequency program
(一)工程设计时间预计
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的更多相关文章
- 软件工程个人项目-Word frequency program by11061167龚少波
(一)工程设计时间预计 1.代码编写:4小时 熟悉Visual studio 2012的使用 : 程序代码部分主要分为三个步骤: (1)主函数的构建,包括各种函数调用及输入输出部分: (2)对目标文件 ...
- 关于软件工程个人作业 Word frequency program 的总结
一.预计花在程序各部分的时间: (1)对所给命令行参数的判断和处理,看它是否合法.是哪种模式.预计用时20min; (2)关于目录操作:遍历给定目录下的所有文件,包括子目录和非目录文件.预计用时40m ...
- 【软件工程】Word frequency program
一.开始写代码前的规划: 1.尝试用C#来写,之前没有学过C#,对于C++也不熟,所以打算先花1天的时间学习C# 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 ...
- Individual Project - Word frequency program——12061154Joy
Description&Requirement: http://www.cnblogs.com/jiel/p/3978727.html 项目时间估计 理解项目要求: 1h 构建项目逻辑: 1h ...
- Individual Project - Word frequency program by HJB
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;us ...
- Individual Project - Word frequency program
1.项目预计用时 -计划学习C#和百度一些用法的时间:5小时 -项目本身打算写两个类,一个是遍历搜索文件夹的,另外一个用来统计单词.计划用时:5小时 2.项目实际用时 学习C#以及正则表达式的用法:3 ...
- Individual Project - Word frequency program - Multi Thread And Optimization
作业说明详见:http://www.cnblogs.com/jiel/p/3978727.html 一.开始写代码前的规划: 1.尝试用C#来写,之前没有学过C#,所以打算先花1天的时间学习C# 2. ...
- Record for Individual Project ( Word frequency program )
1. 预计时间 ● 对问题总体的理解.规划:10 min ● 设计编写程序:5 h ● 调试: 分模块-40 min; 总体-40min ● 测试(性能分析).改进:1 h 2. 实际用时 ● 对 ...
随机推荐
- C#获取一个文件的扩展名
C#获取一个文件的扩展名System.IO.Path.GetExtension( "文件名 ");ChangeExtension 更改路径字符串的扩展名. Combine ...
- 1109. Conference(二分图)
1109 二分图的模板题 不过这题题意 我纠结了好久 不知道是不是我对二分图不熟悉的原因 这题就是说 有n+m个人参加会议 要在这n+m中进行通话 求最少的连接数 就是每个人都得被连接上 这样求最大匹 ...
- highcharts 柱状图动态设置数据应用实例
<div id="container" style="min-width:700px;height:400px"></div> #jav ...
- Azure SQL 数据库与新的数据库吞吐量单位
在这一期中,Scott 与 Azure SQL 数据库性能首席项目经理主管 Tobias Ternstrom 一起详细阐释了新的数据库吞吐量单位 (Database Throughput Unit, ...
- POI读取Word与Excel
import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; ...
- hdu 3496 Watch The Movie
题意:题目给定N部电影,每部电影有时长和价值,要求看M部电影,并且时间控制在L以内,转化为背包问题,让我们在N件物品中找正好M件物品塞进容量L的包中,求最大的价值.// dp[i][j] 表示在容量为 ...
- curl命令访问域名
1.前言 curl是利用URL语法在命令行方式下工作的开源文件传输工具(来自百度百科).cURL 是一种简单有效的工具,可以使用cURL工具进行WEB相关的调试开发工具,相对于Yeelink这样的云平 ...
- java classpath、path用法
java环境配置classpath和path变量的作用: path:指定cmd中命令执行文件所在的路径.比如javac.java两个可执行文件在jdk的bin目录下,如果path值含有这个bin目录, ...
- java 读取TXT文件的方法
java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...
- Android中的音频播放(MediaPlayer和SoundPool)
Android中音频和视频的播放我们最先想到的就是MediaPlayer类了,该类提供了播放.暂停.停止.和重复播放等方法.该类位于android.media包下,详见API文档.其实除了这个类还有一 ...