软件工程——第二次作业

Posted 爱吃菇蔦的姑娘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程——第二次作业相关的知识,希望对你有一定的参考价值。

一、词频统计

功能一:

  • 创建一个txt文件,并输入相应内容。
  • 在控制台输入命令。
  • 读取文件,判断txt文件有多少单词,将单词和相应的出现次数显示出来。
  • 最后,输出结果。

代码如下:

 1 int main(int argc,char *argv[])
 2 {
 3     system("cmd /c dir E:\\\\folder\\\\*.txt /a-d /b /s >E:\\\\folder\\\\output.txt");//获取文件路径
 4     ifstream file1("E:\\\\folder\\\\output.txt");
 5     char cache[1024];
 6     int a = 0;
 7     while (! file1.eof() )////判断文件是否为空是否读到结尾
 8     {
 9         file1.getline (cache,1024);//cache存的路径
10         int len = strlen(cache);//计算路径长度
11         int b = 0;
12         bool tmp = false;
13         // memset(filename,0,100);
14         for(int i = len - 1; i >= 0 ; i --) //获取文件名(倒序)
15         {
16             if(cache[i] == \'.\')///获取后缀前的文件名
17             {
18                 for(int j = i-1; cache[j] != \'\\\\\'; j --)
19                 {
20                     str[a].s[b] = cache[j];//把获取的字符串给str结构体
21                     b ++;
22                 }
23             }
24         }
25         a++;
26     }

 运行结果如下:

功能二:

  在功能1的基础上用字符串拼接文件名+“txt”后缀。

 代码如下:

    for(int i = 0; i < a-1 ; i ++)
    {
        swap(str[i].s);
        strcat(str[i].s,".txt");//正序的文件名
    }

 运行结果,如上。

功能三:

  支持命令行输入英文作品文件的目录名,并批量统计。

 

    vector<pr> vt;//创建一个vt数组
    int num = 0;
    string s;
    string name;
    cin >> name;//输入
            num = 0;
            mpp.erase(mpp.begin(),mpp.end());//清空mpp里的数据
            vt.erase(vt.begin(),vt.end());
    ifstream fin(name.c_str());//读取文件名
    while(fin>>s)//处理单独文件
    {
        int len=s.size();
        if (ispunct(s[len-1]))
        {
            s.erase(len-1,1);
        }
        mpp[s]++;
        if(mpp[s] == 1)
            num ++;
    }
    for (map<string,int>::iterator curr = mpp.begin(); curr != mpp.end(); ++curr)
    {
        vt.push_back(make_pair(curr->first, curr->second));
    }
    sort(vt.begin(), vt.end(), comp);
    //
    if(num == 1)
        printf("total 1 word\\n");
    else if(num != 0)
        printf("total %d words\\n",num);
    cout <<endl;
    for(int i = 0 ; i<(vt.size()>10?10:vt.size()); i++)
    {
        cout<<vt[i].first<<" " <<vt[i].second << endl;
    }
    return 0;
}

 

文件名是221.txt(简爱)。

 

 

功能四:

  从控制台输入英文单篇作品。

 (未运行出)

git地址:https://coding.net/u/szjzsd/p/szj/git/tree/master/

二、psp分析表格

 

三、PSP饼状图

 

 四、代码行数折线图

五、博客字数折线图

 

六、进度条

 

以上是关于软件工程——第二次作业的主要内容,如果未能解决你的问题,请参考以下文章

软件工程第二次作业

软件工程第二次作业

第二次软件工程作业

软件工程第二次作业中第一个作业

软件测试第二次作业

软件工程第二次作业