此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/7627]
要求1:找同学bug
bug1:
(1)标题
刘信鹏同学的单词输出比题目中要求的多了空格
(2)内容
测试环境:Windows7 64位。
准备工作:pull刘信鹏同学代码。
测试步骤:从控制台执行程序。
运行结果:控制台输入命令,运行出下面结果。
预期结果:在控制台输出文本数量,每个单词出现次数。
差异:没有按题目中的空格要求输出
(3)佐证材料
预期运行结果
实际运行结果
bug2
(1)标题
王歆瑶同学在功能一的输出多加了冒号
(2)内容
测试环境:Windows7 64位。
准备工作:pull王歆瑶同学代码。
测试步骤:从控制台执行程序。
运行结果:控制台输入命令,运行出下面结果。
预期结果:在控制台输出文本数量,每个单词出现次数。
差异:输出结果与功能一的spec不同,加了冒号
(3)佐证材料
预期运行结果
实际运行结果
bug3
(1)标题
贺敬文同学在功能一的输出多加了单词words
(2)内容
测试环境:Windows7 64位。
准备工作:pull贺敬文同学代码。
测试步骤:从控制台执行程序。
运行结果:控制台输入命令,运行出下面结果。
预期结果:在控制台输出文本数量,每个单词出现次数。
差异:输出结果与功能一的spec不同,加了words
(3)佐证材料
预期运行结果
实际运行结果
bug4
(1)标题
我的代码在功能1中未实现题目要求中的从控制台的读入。
(2)内容
测试环境:Windows7 64位。
准备工作:pull齐文华同学代码。
测试步骤:从控制台执行程序。
运行结果:控制台输入命令,运行出下面结果。
预期结果:在控制台输出文本数量,每个单词出现次数。
差异:输出结果与功能一的spec不同,无法输入文件
(3)佐证材料
预期运行结果
实际运行结果
bug5:
(1)标题
我的代码在未实现统计单词数量。
(2)内容
测试环境:Windows7 64位。
准备工作:pull齐文华同学代码。
测试步骤:从控制台执行程序。
运行结果:控制台输入命令,运行出下面结果。
预期结果:在控制台输出文本数量,每个单词出现次数。
差异:输出结果与功能一的spec不同,未输出单词总数
(3)佐证材料
预期运行结果
实际运行结果
要求2:bug报告
bug1:
属于功能一的bug
(1)标题:
齐文华同学的程序功能1没有支持命令行输入。
(2)内容:
a. 测试环境:Win7 专业版 64位操作系统。
b. 准备工作:git clone 齐文华同学代码。
c. 测试步骤:进入齐文华同学程序并启动控制台 输入wf -s test.txt。
d. 运行结果:没有找到指定文件 不能进行手动输入。
e: 期待结果:找到文件 手动输入语句 。
f: 差异:此同学没有按照要求的命令行格式处理命令,与题目不符。
(3)佐证材料:
a:运行截图
b: wf spec
小文件输入。 为表明程序能跑,结果真实而不是迫害老五,请他亲自键
盘在控制台下输入命令。
bug2
属于功能二的bug
(1)标题:
齐文华同学的程序功能2读取文件数据异常。
(2)内容:
a. 测试环境:Win7 专业版 64位操作系统。
b. 准备工作:git clone 齐文华同学代码。
c. 测试步骤:进入齐文华同学程序并启动控制台 输入相应指令及文件名。
d. 运行结果:无任何统计结果输出。
e: 期待结果:输出词频统计结果 。
f: 差异:此同学没有按照要求的命令行格式处理文件,无法读取文件,与题目不符。
(3)佐证材料:
b: wf spec
支持命令行输入英文作品的文件名,请老五亲自录入。
bug3:
功能一
(1)标题:
齐文华同学的功能一执行自动生成books.txt文件
(2)内容:
测试环境:WIN10家庭版64位操作系统
准备工作:pull齐文华同学代码
测试步骤:从控制台执行程序
运行结果:控制台并没有出入命令的操作,并且在本地文件夹下自动生成books.txt文件
预期结果:在控制台输入命令读取本地文件内容
差异:本地并没有预先准备好的txt文件,同时也不支持输入命令
(3)佐证材料:
预期运行截图:
实际运行截图:
要求3:修改bug
1、bug1
针对要求2中刘信鹏同学bug进行修改
运行截图
运行代码地址:https://e.coding.net/gitli/liuxinpeng.git
2、bug2
要求2中徐丽君同学提出的bug进行修改
功能一的输入
int main(int argc, char** argv) { struct _stat buf; long Handle;//遍历文件夹中的txt文件 struct _finddata_t FileInfo; char s[20]=".txt"; char t[20]="/*.txt"; char tmp[31]; char tmp1[51]="./"; char tmp2[5]="/"; char name[51]; int num=0; if(argc == 3) { fun1(argv[2]); } if(argc == 2) { if(!strcmp(argv[1],"-s")) { fun4(); } else { strcpy(tmp,argv[1]); strcat(tmp,s); _stat(tmp,&buf); if(_S_IFDIR & buf.st_mode) { strcat(tmp1,argv[1]); strcpy(name,tmp1); strcat(name,tmp2); num=strlen(name); strcat(tmp1,t); if((Handle=_findfirst(tmp1,&FileInfo))==-1L) { printf("没有找到匹配的项目\n"); } else { do{ strcat(name,FileInfo.name); printf("%s\n",FileInfo.name); fun1(name); name[num]='\0'; printf("---\n"); }while(_findnext(Handle,&FileInfo)==0); } _findclose(Handle); }
运行截图:
3、bug3
功能二命令行读入问题
while(!feof(fp)) { if(isalpha(ch)||(isdigit(ch))) { flag = 1; tmp[i++]=ch; } else { if(flag) { if((ch=='-')||(ch=='\'')) { tmp[i++]=ch; flag = 1; } else { flag=0; tmp[i]='\0'; i=0; for(j=0;j<num;j++) { if(strcmp((words+j)->w,tmp)==0) { (words+j)->fre++; break; } } if(j==num) { (words+num)->fre=1; strcpy((words+num)->w,tmp); num++; } if(num==500*p) { p++; words=(wordnode*)realloc(words,500*p*sizeof(wordnode)); for(k=num;k<500*p;k++) { (words+k)->fre=0; } } } } }
运行截图
4、bug4
康哲同学提出的自动生成books.txt文件
已改截图
bug5 自己的程序未计算出单词的总数
if(argc == 3) { fun1(argv[2]); } if(argc == 2) { if(!strcmp(argv[1],"-s")) { fun4(); } else { strcpy(tmp,argv[1]); strcat(tmp,s); _stat(tmp,&buf); if(_S_IFDIR & buf.st_mode) { strcat(tmp1,argv[1]); strcpy(name,tmp1); strcat(name,tmp2); num=strlen(name); strcat(tmp1,t); if((Handle=_findfirst(tmp1,&FileInfo))==-1L) { printf("没有找到匹配的项目\n"); } else { do{ strcat(name,FileInfo.name); printf("%s\n",FileInfo.name); fun1(name); name[num]='\0'; printf("---\n"); }while(_findnext(Handle,&FileInfo)==0); } _findclose(Handle); }
运行截图: