# 第二次作业 **Repository Path**: zhang-jie233/second-assignment ## Basic Information - **Project Name**: 第二次作业 - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-05 - **Last Updated**: 2023-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 软件技术基础第二次作业 #### 项目简介 这是一个用c++语言编写的命令行文本计数统计程序,可以统计给定文件中的字符数、单词数、行数、句子数、空行数和注释行数。 程序首先定义了一个Word_Counter类,用于存储文件名、文本内容和统计结果等信息。然后在主函数中,通过用户输入命令和文件名来初始化Word_Counter对象,并调用其统计函数进行统计。最后,根据用户输入的命令,输出相应的统计结果。 用户可以通过命令行输入不同的参数来获取不同的统计结果,如-c表示获取字符数,-w表示获取单词数,-l表示获取行数,-s表示获取句子数,-e表示获取空行数,-d表示获取注释行数。 程序会循环等待用户输入命令和文件名,直到用户输入quit退出程序。 #### 使用说明 1. 首先,将代码保存为一个.cpp文件,并使用C++编译器(如g++)进行编译。然后,运行生成的可执行文件。 2. 接下来将所需要统计的文本文件拖入源代码所在的文件夹,按照以下格式输入命令 ```c++ wc.exe [参数] [文件名] ``` 具体命令如下: `-c`:获取字符数 `-w`:获取单词数 `-l`:获取行数 `-s`:获取句子数 `-e`:获取空行数 `-d`:获取注释行数 3. 如果想退出程序,只需输入命令`quit`,程序将会退出。 #### 文件目录说明 - **v0.1 空项目:** 1.cpp 空框架文件 ![文件目录0.1](https://foruda.gitee.com/images/1699205327669151818/de056b72_13559410.png "屏幕截图 2023-11-06 011257.png") - **v0.2基础功能:** v0.2.cpp 基础功能cpp文件 v0.2.exe 基础功能exe文件 基础功能测试运行结果.png 基础功能测试结果 测试文本0.2.txt 基础功能测试文本 ![文件目录0.2](https://foruda.gitee.com/images/1699205364931821269/3b828332_13559410.png "屏幕截图 2023-11-06 010229.png") - **v0.3附加功能:** v0.3.cpp 拓展功能cpp文件 v0.3.exe 拓展功能exe文件 A.txt 拓展功能测试文本 v0.3测试运行结果.png 拓展功能测试结果 ![文件目录0.3](https://foruda.gitee.com/images/1699205411741949421/d6f230c7_13559410.png "屏幕截图 2023-11-06 010516.png") - **performance test:** v0.2-1.png 基础功能性能分析 v0.2-2.png 基础功能性能分析 v0.3-1.png 拓展功能性能分析 v0.3-2.png 拓展功能性能分析 ![性能分析](https://foruda.gitee.com/images/1699205437846572645/c1ba9f02_13559410.png "屏幕截图 2023-11-06 011144.png") #### 例程运行及其相关结果 ##### 测试文档1 ![测试文档1](https://foruda.gitee.com/images/1699205479422193207/9a4e0d9f_13559410.png "屏幕截图 2023-11-06 011432.png") ##### 测试文档2 ![测试文档2](https://foruda.gitee.com/images/1699205492552951899/37bb371c_13559410.png "屏幕截图 2023-11-06 011449.png") ##### **运行结果截图** - 基础功能实现 ![基础功能运行结果](https://foruda.gitee.com/images/1699205514521639120/09bcc471_13559410.png "基础功能测试运行结果.png") - 拓展功能实现 ![拓展功能运行结果](https://foruda.gitee.com/images/1699205531308548606/cedf77b4_13559410.png "v0.3测试运行结果.png") #### 性能分析 - 基础功能性能分析 ![2.1](https://foruda.gitee.com/images/1699205549232826529/c825384f_13559410.png "v0.2-1.png") ![2.2](https://foruda.gitee.com/images/1699205557734812792/fc847351_13559410.png "v0.2-2.png") - 拓展功能性能分析 ![3.1](https://foruda.gitee.com/images/1699205574197537715/d93af705_13559410.png "v0.3-1.png") ![3.2](https://foruda.gitee.com/images/1699205583596283737/8694f7c3_13559410.png "v0.3-2.png")