功能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

最新文章

  1. H5+JS+CSS3 综合应用
  2. (二十)WebGIS中图层树功能的设计和实现
  3. JDBC删除表数据
  4. Bootstrap,Font Awesome等组件中 .woff字体报404错的解决办法
  5. RabbitMQ小结
  6. DNS协议
  7. javac
  8. 用Java实现单链表的基本操作
  9. (简单) POJ 3984 迷宫问题,BFS。
  10. SQL Server 分页技术(存储过程)
  11. [转]PHP中file_put_contents追加和换行
  12. Java ee第六周作业
  13. python windows环境下文档备份
  14. 尚硅谷【SpringBoot】web(源码讲解太多不建议阅读)
  15. Lua面试题目
  16. shell 的 export命令
  17. Android测试跑单个包脚本文件
  18. 一键LNMP文件
  19. 动态代理以及对应Spring中AOP源码分析
  20. 【转】python安装库

热门文章

  1. 复习宝典之SpringMVC
  2. hadoop生态搭建(3节点)-14.redis配置
  3. python学习笔记:第5天 基本数据类型之字典
  4. Python 1.1数字与字符基础
  5. 关于C链表的实现
  6. C语言调整数组使奇数全部都位于偶数前面
  7. vue跨域访问
  8. 成都Uber优步司机奖励政策(3月28日)
  9. C++三元操作符
  10. 3991: [SDOI2015]寻宝游戏