词频统计 SPEC 20170914 1 1 1 1 1
功能1 小文件输入,为表明程序能跑,结果真实而不是迫害老五,请他亲自键盘在控制台下输入命令。
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<fstream>
#include<string>
#include<map>
#include <iomanip>
using namespace std;
int main()
{
FILE *fp;
char text[];
char s[];
//gets(s);
printf(">type test.txt\n");
fp=fopen("d:\\test.txt","r");
//fp=fopen(s,"r");
int n=;
int i;
map<string,int>my_map;
while(fgets(text,,fp)!=NULL)
{
puts(text);
i=;
while(text[i]!='\0')
{
char s[];
int j=;
while((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z'))
{
if(text[i]>='A'&&text[i]<='Z')
text[i]+='a'-'A';
s[j++]=text[i++];
}
s[j]='\0';
if(my_map[s]==)
n++;
my_map[s]++;
if(text[i]=='\0') break;
else
i++;
} }
fclose(fp);
map<string,int>::iterator it;
printf("\n\n");
printf(">wf -s test.txt\n");
cout<<"total"<<" "<<n-<<endl<<endl<<endl;
for(it=my_map.begin(),i=;it!=my_map.end();it++,i++)
{
if(it->first=="")
continue;
cout<<left;
cout<<setw()<<it->first;
cout<<setw()<<it->second;
cout<<" ";
if(i%==)
// cout<<'\n';
printf("\n");
}
cout<<'\n';
return ;
}

功能2 支持命令行输入英文作品文件名,请老五亲自录入。
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<fstream>
#include<string>
#include<map>
#include <iomanip>
using namespace std;
int main()
{
FILE *fp;
char text[];
char s[];
//gets(s);
printf(">wf gone_with_the_wand");
fp=fopen("d:\\火柴.txt","r");
//fp=fopen(s,"r");
int n=;
int i;
map<string,int>my_map;
while(fgets(text,,fp)!=NULL)
{
//puts(text);
i=;
while(text[i]!='\0')
{
char s[];
int j=;
while((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z'))
{
if(text[i]>='A'&&text[i]<='Z')
text[i]+='a'-'A';
s[j++]=text[i++];
}
s[j]='\0';
if(my_map[s]==)
n++;
my_map[s]++;
if(text[i]=='\0') break;
else
i++;
} }
fclose(fp);
map<string,int>::iterator it;
printf("\n");
cout<<"total"<<" "<<n<<" words"<<endl<<endl;
for(it=my_map.begin(),i=;it!=my_map.end();it++,i++)
{
if(it->first=="")
continue;
cout<<left;
cout<<setw()<<it->first;
cout<<setw()<<it->second;
cout<<" ";
if(i%==)
cout<<'\n';
}
cout<<'\n';
return ;
}

功能3 支持命令行输入存储有英文作品文件目录名批量统计。
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<fstream>
#include<string>
#include<map>
#include <iomanip>
using namespace std;
int main()
{
FILE *fp;
char text[];
char s[];
//gets(s);
printf("janelove");
fp=fopen("d:\\火柴.txt","r");
//fp=fopen(s,"r");
int n=;
int i;
map<string,int>my_map;
while(fgets(text,,fp)!=NULL)
{
//puts(text);
i=;
while(text[i]!='\0')
{
char s[];
int j=;
while((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z'))
{
if(text[i]>='A'&&text[i]<='Z')
text[i]+='a'-'A';
s[j++]=text[i++];
}
s[j]='\0';
if(my_map[s]==)
n++;
my_map[s]++;
if(text[i]=='\0') break;
else
i++;
} }
fclose(fp);
map<string,int>::iterator it;
printf("\n");
cout<<"total"<<" "<<n<<" words"<<endl<<endl;
for(it=my_map.begin(),i=;it!=my_map.end();it++,i++)
{
if(it->first=="")
continue;
cout<<left;
cout<<setw()<<it->first;
cout<<setw()<<it->second;
cout<<" ";
if(i%==)
cout<<'\n';
}
cout<<'\n';
return ;


功能4 从控制台读入英文单篇作品
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<fstream>
#include<string>
#include<map>
#include <iomanip>
using namespace std;
int main()
{
FILE *fp;
char text[];
char s[];
//gets(s);
printf(">wf -s < War and Peace.txt\n");
fp=freopen("d:\\是.txt","r",stdin);
//fp=freopen("功能4.FILE","r",stdout==NULL);
//fp=fopen(s,"r");
int n=;
int i;
map<string,int>my_map;
while(fgets(text,,fp)!=NULL)
{
puts(text);
i=;
while(text[i]!='\0')
{
char s[];
int j=;
while((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z'))
{
if(text[i]>='A'&&text[i]<='Z')
text[i]+='a'-'A';
s[j++]=text[i++];
}
s[j]='\0';
if(my_map[s]==)
n++;
my_map[s]++;
if(text[i]=='\0') break;
else
i++;
} }
fclose(fp);
map<string,int>::iterator it;
printf("\n\n");
// printf(">wf -s test.txt\n");
cout<<"total"<<" "<<n-<<" words"<<endl<<endl<<endl;
for(it=my_map.begin(),i=;it!=my_map.end();it++,i++)
{
if(it->first=="")
continue;
cout<<left;
cout<<setw()<<it->first;
cout<<setw()<<it->second;
cout<<" ";
if(i%==)
// cout<<'\n';
printf("\n");
}
cout<<'\n';
return ;
}

功能 1
小文件输入,为表明程序能跑,结果真实而不是迫害老五,请亲自键盘在控制台输入命令
做第一个功能的时候,我很蒙,文件的输入输出,我居然忘了,所以我上网查看了一下,关于文件输入输出的,然后做出了程序,fopen这个函数我上网查了一下才会的,
while((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z'))
30 {
31 if(text[i]>='A'&&text[i]<='Z')
32 text[i]+='a'-'A';
33 s[j++]=text[i++];
34 }
这个代码,我认为是核心代码,判断取值范围,做运算。
还有排版要求像老师要求的一样有点麻烦,我想了一下用这个代码实现的
cout<<"total"<<" "<<n-1<<endl<<endl<<endl;
50 for(it=my_map.begin(),i=1;it!=my_map.end();it++,i++)
51 {
52 if(it->first=="")
53 continue;
54 cout<<left;
55 cout<<setw(10)<<it->first;
56 cout<<setw(10)<<it->second;
57 cout<<" ";
58 if(i%8==0)
59 // cout<<'\n';
60 printf("\n");
用setw()来控制宽度,用 cout<< " ";来控制字与字之间的距离
功能 2
支持命令行输入英文作品文件名,请老五亲自录入。
我写的功能2 和功能1代码接近,再此就不多说了。
功能 3
支持命令行输入存储有英文作品文件目录名批量统计。
我输入的文件名是gone_with_the_wand和Janelove因为我查的文件过大,输出结果感觉不正常,心里还有点小忐忑,要查前十个我加了个空行代码这样
if(i%11==0)
58 cout<<'\n';
功能4
从控制台读入英文单篇作品
这里面输出文件内容用的是 puts(text);这个代码,用来输出文件名字叫做test的内容,当时这个puts()我上网查出来的,我感觉输入也应该用gets,但是明显得输入文件位置加文件名,要求没有输入文件位置,我也问了周老师,老师说我没表述明白,所以我想了一下,作为一个程序员应该按照客户的需求来,而不是让客户改需求,所以我查到了fp=fopen("d:\\test.txt","r");这个代码。用fopen()这个函数输入文件位置和名称,然后传给文件fp,以此函数输入实现了需求。
psp表格
要求1与要求2中每项花费时间的差距,分析原因。要求1与要求2实际时间明显要求2时间少很多,主要是做要求2的时候已经做了要求1,对代码相对熟悉,两种要求代码大体相近,开发时间明显变少,预计时间也比要求1少很多,计划时间,开发时间,测试时间,测试工作量都少了很多,主要原因是,做要求2的时候,有代码基础,要求1和要求2代码大体相近。
| 开始时间s | 结束时间t | 中断时间Int | 净时间T | 计划pl | 开发 | 记录用时 | 测试报告 | 计算工作量 | 事后总结 | 预计时间 | |
| 功能1 | 9月15号 8:01 | 9月15号 11:30 | 10min | 199min | 20min | 130min | 10min | 20min | 5min | 14min | 200min |
| 功能2 | 9月16号9:21 | 9月16号 11:30 | 12min | 129miin | 10min | 80min | 10min | 12min | 4min | 13min | 150min |
| 功能3 | 9月17号12:30 | 9月17号 16:34 | 9min | 244min | 30min | 150min | 13min | 20min | 5min | 26min | 250min |
| 功能4 | 9月18号 8:20 | 9月 18号 12:20 | 4min | 240min | 29min | 156min | 12min | 21min | 6min | 16min | 230min |








这是版本测试的所有内容,其中用到了 git 和coding的远程连接.
代码及版本控制
git地址:https://git.coding.net/tianjiping/11111.git
词频统计 SPEC 20170914 1 1 1 1 1的更多相关文章
- 词频统计 SPEC 20160911
本文档随时可能修改,并且没有另行通知. 请确保每一次在开始修改你的代码前,读标题中的日期,如果晚于你上次阅读, 请重读一次. 老五在寝室吹牛他熟读过<鲁滨逊漂流记>,在女生面前吹牛热爱&l ...
- 【week2】 词频统计第一次更新
词频统计: 对每个功能预计时间: 功能 预计(min) 实际(min) 数据流读入 20 40 正则规范字符串 15 20 排序 30 45 输出 20 30 其他 25 词频统计psp 日期 类 ...
- 软工结对项目之词频统计update
队友 胡展瑞 031602215 作业页面 GitHub 具体分工 111500206 赵畅:负责WordCount的升级,添加新的命令行参数支持(自定义输入输出文件,权重词频统计,词组统计等所有新功 ...
- 软工之词频统计器及基于sketch在大数据下的词频统计设计
目录 摘要 算法关键 红黑树 稳定排序 代码框架 .h文件: .cpp文件 频率统计器的实现 接口设计与实现 接口设计 核心功能词频统计器流程 效果 单元测试 性能分析 性能分析图 问题发现 解决方案 ...
- 论文爬取 & 词频统计2.0
一.Github地址 课程项目要求 队友博客 二.具体分工 031602225 林煌伟 :负责C++部分主要功能函数的编写,算法的设计以及改进优化 031602230 卢恺翔 : 爬虫 ...
- 【第二周】Java实现英语文章词频统计(改进1)
本周根据杨老师的spec对英语文章词频统计进行了改进 1.需求分析: 对英文文章中的英文单词进行词频统计并按照有大到小的顺序输出, 2.算法思想: (1)构建一个类用于存放英文单词及其出现的次数 cl ...
- 词频统计 ——Java
github地址 :https://github.com/NSDie/personal-project 一.计划表 PSP2.1 Personal Software Process Stages 预估 ...
- 作业3-个人项目<词频统计>
上了一天的课,现在终于可以静下来更新我的博客了. 越来越发现,写博客是一种享受.来看看这次小林老师的“作战任务”. 词频统计 单词: 包含有4个或4个以上的字 ...
- C语言实现词频统计——第二版
原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 2.支持命 ...
随机推荐
- JavaBen 中 如何将字段设置为 "text" 文本类型
@Lob @Column(name="FEEDBACK_MESSAGE",columnDefinition="TEXT", nullable=true) pub ...
- Hadoop1.0 与Hadoop2.0
Hadoop1.0的局限-MapReduce •扩展性 –集群最大节点数–4000 –最大并发任务数–40000 (当 map-reduce job 非常多的时候,会造成很大的内存开销,潜在来说,也增 ...
- Ruby中的类
初识ruby中的类 只需要简单的两行 class Point end 如果我们此时实例化一个类那么他会有一些自省(introspection)的方法 p = Point.new p.methodes( ...
- Leecode刷题之旅-C语言/python-204计数质数
/* * @lc app=leetcode.cn id=204 lang=c * * [204] 计数质数 * * https://leetcode-cn.com/problems/count-pri ...
- PAT (Basic Level) Practice 1032 挖掘机技术哪家强
个人练习 为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第 1 行给出不超过 10^5的正整数 N,即参赛人数 ...
- lvs健康检查脚本第三版
如下是学习完马哥视频lvs后改写的健康检查脚本第三版.利用工作之余三四个小时时间才把整个逻辑搞清楚,有时候自己都有点蒙圈,尤其是在写到while循环的时候.总的来说非常感谢马哥的慷慨解囊!脚本原稿及思 ...
- 使用JAX-WS(JWS)发布WebService(一)
JAX-WS概述: 通过Main发布一个简单WebService: JAX-WS(Java API for XML Web Services)规范是一组XML web services的JAVA AP ...
- JavaScript基础part1
JavaScript介绍 你不知道它是什么就学?这就是一个网页嵌入式脚本语言...仅此而已 JavaScript组成 一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 核心(EC ...
- WebRTC中Android Demo中的远程视频流的获取到传输
1.CallActivity#onCreate 执行startCall开始连接或创建房间 2.WebSocketClient#connectToRoom 请求一次服务器 3.回调到CallActivi ...
- 使用putty远程登录Ubuntu时,报Network error:Connection refused错误及解决
putty远程登录Ubuntu,弹出Network error:Connection refused的错误提示框,就是因为Ubuuntu没有安装ssh服务. 执行命令: sudo apt instal ...