• 词频统计 SPEC 20170914 1 1 1 1 1


    功能1 小文件输入,为表明程序能跑,结果真实而不是迫害老五,请他亲自键盘在控制台下输入命令。

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<iostream>
     4 #include<fstream>
     5 #include<string>
     6 #include<map>
     7 #include <iomanip>
     8 using namespace std;
     9 int main()
    10 {
    11     FILE *fp;
    12     char text[1024];
    13     char s[100];
    14     //gets(s);
    15     printf(">type test.txt
    ");
    16     fp=fopen("d:\test.txt","r");
    17     //fp=fopen(s,"r");
    18     int n=0;
    19     int i;
    20     map<string,int>my_map;
    21     while(fgets(text,1024,fp)!=NULL)
    22     {
    23         puts(text);
    24         i=0;
    25         while(text[i]!='')
    26         {
    27             char s[30];
    28             int j=0;
    29             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             }
    35             s[j]='';
    36             if(my_map[s]==0)
    37             n++;
    38             my_map[s]++;
    39             if(text[i]=='') break;
    40             else
    41             i++;
    42         }
    43          
    44     }
    45     fclose(fp);
    46     map<string,int>::iterator it;
    47     printf("
    
    ");
    48     printf(">wf  -s  test.txt
    ");
    49     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<<'
    ';
    60       printf("
    ");
    61     }
    62     cout<<'
    ';  
    63     return 0;
    64 }
    View Code

    功能2 支持命令行输入英文作品文件名,请老五亲自录入。

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<iostream>
     4 #include<fstream>
     5 #include<string>
     6 #include<map>
     7 #include <iomanip>
     8 using namespace std;
     9 int main()
    10 {
    11     FILE *fp;
    12     char text[1024];
    13     char s[100];
    14     //gets(s);
    15     printf(">wf  gone_with_the_wand");
    16     fp=fopen("d:\火柴.txt","r");
    17     //fp=fopen(s,"r");
    18     int n=0;
    19     int i;
    20     map<string,int>my_map;
    21     while(fgets(text,1024,fp)!=NULL)
    22     {
    23         //puts(text);
    24         i=0;
    25         while(text[i]!='')
    26         {
    27             char s[30];
    28             int j=0;
    29             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             }
    35             s[j]='';
    36             if(my_map[s]==0)
    37             n++;
    38             my_map[s]++;
    39             if(text[i]=='') break;
    40             else
    41             i++;
    42         }
    43          
    44     }
    45     fclose(fp);
    46     map<string,int>::iterator it;
    47     printf("
    ");
    48     cout<<"total"<<"  "<<n<<"  words"<<endl<<endl;
    49     for(it=my_map.begin(),i=1;it!=my_map.end();it++,i++)
    50     {
    51         if(it->first=="")
    52         continue;
    53         cout<<left;
    54         cout<<setw(10)<<it->first;
    55         cout<<setw(10)<<it->second;
    56         cout<<"                                                            "; 
    57         if(i%25==0)
    58         cout<<'
    '; 
    59     }
    60     cout<<'
    ';  
    61     return 0;
    62 }
    View Code

    功能3 支持命令行输入存储有英文作品文件目录名批量统计。

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<iostream>
     4 #include<fstream>
     5 #include<string>
     6 #include<map>
     7 #include <iomanip>
     8 using namespace std;
     9 int main()
    10 {
    11     FILE *fp;
    12     char text[1024];
    13     char s[100];
    14     //gets(s);
    15     printf("janelove");
    16     fp=fopen("d:\火柴.txt","r");
    17     //fp=fopen(s,"r");
    18     int n=0;
    19     int i;
    20     map<string,int>my_map;
    21     while(fgets(text,1024,fp)!=NULL)
    22     {
    23         //puts(text);
    24         i=0;
    25         while(text[i]!='')
    26         {
    27             char s[30];
    28             int j=0;
    29             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             }
    35             s[j]='';
    36             if(my_map[s]==0)
    37             n++;
    38             my_map[s]++;
    39             if(text[i]=='') break;
    40             else
    41             i++;
    42         }
    43          
    44     }
    45     fclose(fp);
    46     map<string,int>::iterator it;
    47     printf("
    ");
    48     cout<<"total"<<"  "<<n<<"  words"<<endl<<endl;
    49     for(it=my_map.begin(),i=1;it!=my_map.end();it++,i++)
    50     {
    51         if(it->first=="")
    52         continue;
    53         cout<<left;
    54         cout<<setw(10)<<it->first;
    55         cout<<setw(10)<<it->second;
    56         cout<<"                                                            "; 
    57         if(i%11==0)
    58         cout<<'
    '; 
    59     }
    60     cout<<'
    ';  
    61     return 0;
    View Code

     功能4 从控制台读入英文单篇作品

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<iostream>
     4 #include<fstream>
     5 #include<string>
     6 #include<map>
     7 #include <iomanip>
     8 using namespace std;
     9 int main()
    10 {
    11     FILE *fp;
    12     char text[1024];
    13     char s[100];
    14     //gets(s);
    15     printf(">wf -s <  War and Peace.txt
    ");
    16     fp=freopen("d:\是.txt","r",stdin);
    17 //fp=freopen("功能4.FILE","r",stdout==NULL);
    18     //fp=fopen(s,"r");
    19     int n=0;
    20     int i;
    21     map<string,int>my_map;
    22     while(fgets(text,104,fp)!=NULL)
    23     {
    24        puts(text);
    25         i=0;
    26         while(text[i]!='')
    27         {
    28             char s[30];
    29             int j=0;
    30             while((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z'))
    31             {
    32                 if(text[i]>='A'&&text[i]<='Z')
    33                 text[i]+='a'-'A';
    34                 s[j++]=text[i++];  
    35             }
    36             s[j]='';
    37             if(my_map[s]==0)
    38             n++;
    39             my_map[s]++;
    40             if(text[i]=='') break;
    41             else
    42             i++;
    43         }
    44          
    45     }
    46     fclose(fp);
    47     map<string,int>::iterator it;
    48     printf("
    
    ");
    49 //    printf(">wf  -s  test.txt
    ");
    50     cout<<"total"<<"  "<<n-1<<"  words"<<endl<<endl<<endl;
    51     for(it=my_map.begin(),i=1;it!=my_map.end();it++,i++)
    52     {
    53         if(it->first=="")
    54         continue;
    55         cout<<left;
    56         cout<<setw(10)<<it->first;
    57         cout<<setw(10)<<it->second;
    58         cout<<"                                                            ";
    59         if(i%10==0) 
    60       //  cout<<'
    ';
    61       printf("
    ");
    62     }
    63     cout<<'
    ';  
    64     return 0;
    65 }
    View Code

    功能 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<<'
    ';
    60       printf("
    ");

    用setw()来控制宽度,用 cout<< "                                                   ";来控制字与字之间的距离

    功能 2

    支持命令行输入英文作品文件名,请老五亲自录入。

    我写的功能2 和功能1代码接近,再此就不多说了。

    功能 3 

    支持命令行输入存储有英文作品文件目录名批量统计。

    我输入的文件名是gone_with_the_wand和Janelove因为我查的文件过大,输出结果感觉不正常,心里还有点小忐忑,要查前十个我加了个空行代码这样

     if(i%11==0)
    58         cout<<'
    '; 

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

    17计算机技术 田继平
  • 相关阅读:
    Container With Most Water 容器最大水容量
    socket阻塞IO流程图
    python模块time,random,os
    python生成器表达式yield,面向过程编程,部分内置函数
    python装饰器作业
    Python函数闭包装饰器
    Python函数参数,名称空间与作用域
    Linux基础3
    Linux基础2
    linux基础1
  • 原文地址:https://www.cnblogs.com/tianjiing/p/7532546.html
Copyright © 2020-2023  润新知