• 实践简单的项目WC


     1 #include<iostream>
     2 #include<fstream>
     3 #include<string>
     4 #include<Windows.h>
     5 using namespace std;
     6 void main()
     7 {
     8     char word[150][15];
     9     int AllChar = 0, NoteSize = 0, Row = 1, WordSize = 0;
    10     char a[15], c, file[15];
    11     int i = 0, j = 0;
    12     FILE *fp;
    13     cout << "#结束输入" << endl;
    14     cin >> file;
    15     while (1)
    16     {
    17         if (file[0] == '#')
    18             break;
    19         fp = fopen(file, "r");
    20         if (fp == NULL)
    21         {
    22             cout << "the file:y.txt not found!" << endl;
    23             exit(-1);
    24         }
    25         c = fgetc(fp);
    26         AllChar++;
    27         if (c == '/')
    28         {
    29             c = fgetc(fp);
    30             AllChar++;
    31             if (c == '/')
    32                 NoteSize++;
    33         }
    34         c = fgetc(fp);
    35         AllChar++;
    36         while (c != EOF)
    37         {
    38             if ((c >= 'a'&&c <= 'z') || (c >= 'A') && (c <= 'Z'))
    39             {
    40                 a[i] = c;
    41                 c = fgetc(fp);
    42                 AllChar++;
    43                 i++;
    44                 continue;
    45             }
    46             else if (c == '/')
    47             {
    48                 c = fgetc(fp);
    49                 AllChar++;
    50                 if (c == '/')
    51                 {
    52                     c = fgetc(fp);
    53                     AllChar++;
    54                     NoteSize++;
    55                     continue;
    56                 }
    57             }
    58             else
    59             {
    60                 if (c == '
    ')
    61                 {
    62                     Row++;
    63                 }
    64                 if (i != 0)
    65                 {
    66                     a[i] = '';
    67                     strcpy_s(word[j], a);
    68                     j++;
    69                     i = 0;
    70                 }
    71                 c = fgetc(fp);
    72                 AllChar++;
    73             }
    74         }
    75         if (i != 0)
    76         {
    77             a[i] = '';
    78             strcpy_s(word[j], a);
    79             j++;
    80         }
    81         fclose(fp);
    82         WordSize = j;
    83         cout << "行数:" << Row << endl;
    84         cout << "字符数:" << AllChar << endl;
    85         cout << "单词数:" << WordSize << endl;
    86         cout << "注释行:" << NoteSize << endl;
    87         cin >> file;
    88     }
    89 }

     项目要求

    1.统计文本文件的字符数、单词数和行数

    2.要求写一个命令行程序,模仿已有的wc.exe的功能,并加以扩充,给出某程序设计语言源文件的字符数、单词数和行数

    3.扩展功能为统计注释行数。

    4.可以统计多个文件,文件名称由用户输入。

     这次作业是统计一个文件中有多少单词,字符和有多少行,之前C++学的不是很好,所以这次为了加强自己C++语言的运用,所以用C++进行编程设计

    我提前在D盘里准备了一个记事本a,通过程序显示出记事本a里有的单词数,字符数和行数

    除了单词字母算字符外,所有的符号、空格,包括回车都要算到字符数里

    因为VS2013里没有“fopen”的定义,所以需要进行宏定义,点开“项目”、“属性”

    在预处理器定义中写入_CRT_SECURE_NO_WARINGS,宏定义成功,就能运行程序了

    程序运行截图

    输入记事本的路径,以回车结束,就会显示结果

    第一次配置git,然后上传到coding里,配置很麻烦,但在同学的帮助下成功上传,自己上传还不是很熟,相信通过多次软件工程作业,我会很熟练的运用git上传程序

  • 相关阅读:
    中位数
    two-strings-are-anagrams&&compare-strings&&longest-words
    第三次作业-------结对编程
    Git的基本使用方法和安装&心得体会(使用git命令行)
    第二次作业-----------结对项目之需求分析与原型设计
    使用Git进行代码管理心得------------个人练习
    Android开发环境的发展演变
    软件工程的实践项目的自我目标
    QT实现2048
    poj3723 Conscription
  • 原文地址:https://www.cnblogs.com/bjzsr/p/5312649.html
Copyright © 2020-2023  润新知