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

    要求0:作业博客链接:https://edu.cnblogs.com/campus/nenu/2016CS/homework/2110

    要求1:git仓库地址:https://git.coding.net/ArielX/wf.git

    要求2:PSP阶段表格:

    功能模块

    具体阶段

    预计时间(min)

    实际时间(min)

    功能1

    具体设计

    具体编码

    测试完善

    30

    120

    20

    40

    300

    30

    功能2

    具体设计

    具体编码

    测试完善

    40

    150

    20

    50

    350

    40

    PSP2.1

    任务内容

    预估耗时(min)

    实际耗时(min)

      Planning

    计划

    40

    60

    Estimate

    估计这个任务需要多少时间,并规划大致工作步骤

    40

    60

      Development

    开发

    800

    1200

     Analysis

    需求分析

    60

    65

    Design Spec

    生成设计文档

    45

    50

    Design Review

    设计复审 

    0

    0

     Coding Standard

    代码规范 

    30

    50

    Design

    具体设计

    90

    120

    Coding

    具体编码

    300

    500

     Code Review

    代码复审

    10

    0

    Test

     测试

    30

    50

      Reporting

    报告

    210

    240

    Test Report

    测试报告

    120

    140

    Size Measurement

    计算工作量

    45

    45

    Postmortem & Process Improvement Plan

    事后总结, 提出过程改进计划

    45

    55

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

    1.自己有想法但是实际操作能力不足;

    2.在查阅资料的过程中有格外去了解该知识点的其他用处,在这里也有耗时。

    要求3

          拿到题目之后,第一反应是用C或C++写。涉及到排序,应该会使用到关于数据结构的知识。这是看到题目最直观的反应,不知道想法对不对,尝试一点点写下去。

          介绍代码片段:

     写功能一收获最大的就是map容器了,在输出的时候刚开始格式是乱的,后来查到了在C++的输出当中用到了left左对齐和setw

         

     map<string,int>::iterator it;
        printf("
    
    ");
        printf(">wf  -c  input.txt
    ");
        cout<<"total"<<"  "<<n-1<<endl<<endl<<endl;
        for(it=my_map.begin(),i=1;it!=my_map.end();it++,i++)
        {
            if(it->first=="")
            continue;
            cout<<left<<setw(10)<<it->first<<it->second<<endl;//输出格式为左对齐
        }
        cout<<'
    ';  
        return 0;

    这段代码是在博客中找到的,因为不会C/C++读取文件名,之前只会简单的fopen这种,也算学到了新知识。

    using namespace std; 
    void GetFileName(string path, vector<string>& files);
    int main()
    {
          char *path = "E:\exemple";                         //指定文件目录
          vector<string> filesName;
          ofstream file_out("input.txt");                //打开文本文件
          GetFileName(path, filesName);                   //获取文件名
        
          for(size_t i = 0 ; i<input.size(); i ++)            //将文件名写入到文本中
           {    
           file_out<<input[i].c_str()<<endl;    
            }
          file_out.close();     //关闭文本文件
     
          return 0; 
    }
     
    void GetFileName(string path, vector<string>& filesName)
    {
         
        long   hFile   =   0;                    //文件句柄 
        struct _finddata_t fileinfo;        //定义文件信息结构体
        string p;  
        if((hFile = _findfirst(p.assign(path).append("\*").c_str(),&fileinfo)) !=  -1) //使用函数_findfirst()打开文件并获取第一个文件名
        {  
            do  
            {       
               if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0)  //"."表示当前目录,".."表示父目录
                   filesName.push_back(fileinfo.name);  
            }while(_findnext(hFile, &fileinfo)  == 0);      //使用函数_findnext()继续获取其他文件名
            _findclose(hFile);              //使用函数_findclose()关闭文件夹
        }
    }

    解决项目的心路历程与收获:

           心路历程就是之前只对C了解,C++印象中只有一节课,自己格外也没有学过这个。自己格外学的对完成这个作业好像一点没用…所以这个作业我做起来真的是不容易,花费了很多时间并且知识也是一知半解,同时也打乱了我从本学期开始以来一直坚持的学习计划。但还是有收获的:收获就是通过菜鸟教程的C++教程中,找到了STL(标准模板库)并了解了容器组件的map,加了#include<map>的头文件,尝试用map写。期间有查阅资料和借鉴博客。用map的好处就是在需要扩展大小的时候,会自动处理它自己的存储需求。在书写过程中也通过菜鸟教程用到了C++向量容器的一个模板,链接:http://www.runoob.com/cplusplus/cpp-stl-tutorial.html  IT行业有很多方向,不知道这个软件工程属于啥方向?反正我绝对不会选这个方向就是了。

     

  • 相关阅读:
    百度地图Api 根据两个坐标点计算距离
    Android 6.0 Permission权限与安全机制
    CentOS安装nginx
    CentOS安装mysq
    CentOS安装JDK
    -bash: /root/java/jdk/bin/java: cannot execute binary file
    数据库连接池之_DButils
    数据库连接池之_c3p0
    数据库连接池之_Druid简单使用
    后台管理平台编辑表格
  • 原文地址:https://www.cnblogs.com/xlin-blog/p/9688999.html
Copyright © 2011-2022 走看看