zoukankan      html  css  js  c++  java
  • 第1次作业

    要求0、作业要求地址:https://edu.cnblogs.com/campus/nenu/2016CS/homework/2110

        要求一、git仓库地址:https://git.coding.net/tianjx687/wf.git

    二、

    要求二、PSP阶段表格

    PSP阶段

    预计所花时间(min)

    实际工作所花时间(min)

    计划

    90

     100

    明确作业要求和其它相关因素,估计时间成本。

    90

     100

    开发

    1030

    1130

    需求分析

    100

    120

    生成设计文档

    60

    60

    设计复审

    0

    20

    代码规范

    60

    70

    具体设计

    120

    130

    具体编码

    600

    630

    代码复审

    60

    70

    测试(自测、修改代码,提交修改)

    30

    30

    报告

    90

    190

    测试报告

    40

    100

    计算工作量

    30

    30

    事后总结

    20

    60

     PSP功能表格:

    功能模板

    具体工作

    预计时间(min)

    实际时间(min)

    功能一

    具体设计

    30

    40

    具体编码

    300

    500

    测试(自测)

    20

    30

    功能二

    具体设计

    50

    50

    具体编码

    200

    100

    测试(自测)

    200

    200

    功能三

    具体设计

    40

    40

    具体编码

    200

    230

    测试(自测)

    100

    100



    预估耗时和实际耗时之间的差距、原因:

      差距:

              1.我基本上实际耗时都要大于预估耗时。

      原因:

             1.提前想到的内容不够全面,等到遇到了就要一个一个解决,这样导致很多时间花在上面了,以后会努力想的全面一些,避免这些麻烦。

             2.其实我刚开始想的时候认为自己已经留了充分的时间,但是在我实施的过程中自己做的有点慢,而且遇到一些问题向同学请教,所以导致实际工作时间比预期的要长。

    三、解题思路

    我刚开始看到有作业发布的时候先看了程序要求,然后是博客要求,看完作业里所有要求后在回过头读程序要求,分析每一个功能怎么实现。因为自己基础不好,所以分析的时候还和同学一起商量怎么实现,有的时候写到一半发现行不通,然后再去问同学才想清楚。在写功能一的时候花的时间最多,功能一遇到的问题是刚开始没看清楚题,只是写的txt文件里的单词的总数,然而重复的单词也算在total里面了,输出的顺序是乱的,主要是自己锻炼的太少了。

    功能二、(wf.cpp)我查到freopen就是实现重定向。把预定义的几个标准流文件(stdin)定向到由path指定的文件中。把stdin重定向到input.txt文件中

      printf(">wf -f <input.txt
    ");
        fp=freopen(".\input.txt","r",stdin);
    

      检测txt文件中的单词是不是我们规定的英文单词,并且大小写英文开头都可以,把小写变成大写。

     while(text[i]!='')
            {
               int j=0;
                char s[30];
    
                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]='';
                if(word_map[s]==0)
                n++;
                word_map[s]++;
                if(text[i]=='') break;
                else
                i++;
            }

    先输出不单词的总数,不包括重复的,然后按照字典顺序输出单词和单词的出现的次数

      cout<<"total"<<"  "<<n-1<<"  words"<<endl<<endl<<endl;
        for(it=word_map.begin(),i=1;it!=word_map.end();it++,i++)
        {
            if(it->first=="")
            continue;
            cout<<left;
           cout<<setw(10)<<it->first;
           cout<<setw(10)<<it->second<<endl;
        }
        cout<<'
    ';

    运行之后会出现结果,如下:

     

     功能三、(wf3.cpp)主要是输出文章中出现频率最高的三个单词。先对单词按照出现频率排序,然后按顺序输出,只输出排在前三个的单词。

    void paixu()
    {
          int i;
          int j;
          struct word a;
          for(i=0;i<sum;i++)
        {
            for(j=i+1;j<sum;j++)
              if(A[i].num<A[j].num)
             {
                  a=A[j];
                 A[j]=A[i];
                 A[i]=a;
               }
          }
    }
    int main()
    {
          int ch;
          char s[30];
          int i;
          int flag=0;
           FILE *fp;
           fp=fopen(".\input.txt","r");
          if(fp==NULL)
     {
            printf("此文件不存在!
    ");
      }
         sum=0;
         ch=0;
     
          for(i=0;i<1000;i++)
           A[i].num=0;
       while(ch!=-1)
     {
         for(i=0;i<30;i++)
         s[i]='';
         ch=fgetc(fp);
        if((65<=ch&&ch<=90)||(ch>=97&&ch<=122))
      {
          for(i=0;;i++)
          {
             s[i]=ch;
             ch=fgetc(fp);
             if((65<=ch&&ch<=90)||(ch>=97&&ch<=122))continue;
             else break;
           }
           chuli(s);
          }
        }
           paixu();
           printf("Total words is:%d
    ",sum);
           printf("--------------------:
    ");
            for(i=0;i<3;i++)
            printf("%s           :%d
    ",A[i].str,A[i].num);

     五、我的感想

           我感觉这次的作业我发现自己考虑问题并不全面,自己刚开始做作业的时候就写自己想到的那些,后来才逐渐遇到之前没有想到的问题,需要反复改,而且也没有实现有些功能。这次的作业让我觉得代码必须写的规范,否则不要说别人了,就连自己看自己的代码都有点费劲。我觉得自己基础不好,需要学习的地方还有很多,更应该利用现在的机会好好锻炼,多多积累,今后继续努力学习,虚心向别人请教,充实自己。

  • 相关阅读:
    telnet发邮件
    怎样接收电子邮件(POP3协议简介)(转载,写的很简洁)
    总结:string,char*,CString,int,WCHAR*之间的相互转换:
    文件查找
    SOAP消息机制简介
    jQuery 万能的选择器 NO.1
    数据库通用操作类
    jQuery (三) 管理jQuery包装集
    WebService Learning
    使用JQuery读取XML文件数据
  • 原文地址:https://www.cnblogs.com/tianjx687/p/9689394.html
Copyright © 2011-2022 走看看