# 软件基础作业 **Repository Path**: shi-rongmin/basic-software-assignments ## Basic Information - **Project Name**: 软件基础作业 - **Description**: 作业描述: 实现一个命令行文本计数统计程序。能正确统计导入的纯英文txt文本中的字符数,单词数,句子数。 具体命令行界面要求举例: 命令模式: wc.exe [参数] [文件名] wc.exe -c file.txt 统计字符数 wc.exe -w file.txt 统计单词数 扩展功能(加分项):统计代码行、空行、注释行等,并提供相应命令接口。 - **Primary Language**: C/C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-04 - **Last Updated**: 2023-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 软件基础作业 #### 介绍 本项目是使用Visual Sdudio软件编写的一个命令行文本计数统计程序,全部代码由c++/c语言编写而成。能正确统计导入的纯英文txt文本中的字符数,单词数,句子数。此外还实现了扩展功能:统计代码行、空行、注释行等,并提供相应命令接口。 #### 使用方法 该程序的使用方法如下: 在命令行界面输入命令,命令模式: wc.exe [参数] [文件名] 参数:对于基础功能程序有以下参数,                                c:统计字符数                                w:统计单词数                                s:统计句子数                                e:退出         对于扩展功能程序有以下参数,                                d: 统计代码行                                k: 统计空行数                                z: 统计注释行                                e:退出 文件名:根据自己所要测试的文件的名称输入 注意:用于测试的txt文件或代码文件需要和程序源文件放在同一文件夹下,文件才能成功打开 如下图:![输入图片说明](image1.png) 测试文件test_v0.2_0.txt和test_v0.2_1.txt与程序源文件v0.2.cpp在同一文件夹下,可以成功运行。 在命令行窗口输入如 wc.exe c test_v0.2_0.txt命令,即可实现对test_v0.2_0.txt文件的字符数的统计, 如图输入:![输入图片说明](image2.png) 有以下运行结果:![输入图片说明](image.png) 对于扩展功能程序的使用与上述方法相同,只要输入对应的参数和正确的文件名即可。 #### 文件列表及其相关说明 本次上传的文件如下:README.md文件,v0.1空项目文件夹,v0.2项目完成基础功能文件夹,v0.3项目完成扩展功能文件夹,单元测试文件夹以及performance test文件夹,此外还有一些README.md文件中用到的截图。 ![输入图片说明](image5.png) 1. README.md文件: 该文件中详细的说明了该项目的相关内容,包括项目的简介及其相关的用法,文件列表及其相关说明,例程运行及其相关结果等内容。 2. v0.1空项目文件夹 这是一个空项目,是程序初始时的状态,文件夹中包括了v0.1.cpp文件以及v0.1.exe文件。 ![输入图片说明](image4.png) 3. v0.2项目完成基础功能文件夹 该文件夹是在项目完成基础功能后上传的,里面包括了v0.2.cpp文件(储存了项目代码),v0.2.exe文件(是该项目对应的可执行文件),test_v0.2_0.txt文件(用于测试代码的纯英文文本1)及其对应的文件截图,test_v0.2_1.txt(用于测试代码的纯英文文本2)及其对应的文件截图,项目测试结果的截图文件。 ![输入图片说明](image3.png) 4. v0.3项目完成扩展功能文件夹 该文件夹是在项目完成扩展功能后上传的,里面包括了v0.3.cpp文件(储存了项目代码),v0.3.exe文件(是该项目对应的可执行文件),测试代码v0.2.cpp文件(用于测试代码的代码文件)及其对应的文件截图,项目测试结果的截图文件。 ![输入图片说明](image6.png) 5. 单元测试文件夹 该文件夹是在项目完成所有功能后进行单元检测后上传的,里面包括了单元测试1.0基础功能文件夹和单元测试2.0更多功能文件夹。 ![输入图片说明](image8.png) 单元测试1.0基础功能文件夹中包含了v0.2_cpp文件(项目基础功能实现的源文件),v0.2_test.cpp(对项目基础功能实现的代码程序进行单元测验),test_v0.2_1.txt单元测试文本(用于对单元测试cpp程序的检测的纯英文文本)及其对应的文件截图,单元测试结果的截图文件。 ![输入图片说明](image7.png) 单元测试2.0更多功能文件夹中包含了v0.3_cpp文件(项目扩展功能实现的源文件),v0.3_test.cpp(对项目扩展功能实现的代码程序进行单元测验),test_v0.2_2.cpp单元测试文本(用于对单元测试cpp程序的检测的代码文件)及其对应的文件截图,v0.3_test单元测试结果的截图文件,others_test.cpp(对本项目其他一些子代码段的单元测试程序)及其相关的测试结果文件。 ![输入图片说明](image9.png) 6. performance test文件夹 该文件夹是在项目完成多有功能以及单元测试后,进行性能检测后上传的文件,里面有v0.2.cpp的performance test文件夹,v0.3_test.cpp的performance test文件夹,单元测试的performance test文件夹。 ![输入图片说明](image10.png) 每个子文件夹中都包含了对各程序CPU使用率和程序内存使用率的性能检测结果截图。 ![输入图片说明](image11.png) ![输入图片说明](image12.png) ![输入图片说明](image13.png) #### 例程运行及其相关结果 1. v0.2项目完成基础功能 点击Visual Sdudio软件菜单栏中调试功能下的开始执行键就可以使程序运行,运行的结果如下(用于测试的txt文本可在相应的文件夹中查看): ![输入图片说明](image15.png) 然后再输入相应的命令即可对文本的字符,单词和句子进行统计,结果如下: ![输入图片说明](image14.png) 2. v0.3项目完成扩展功能 对该项目的运行方法与v0.2项目完成基础功能一致,运行结果如下(用于测试的cpp代码文件可在相应的文件夹中查看): ![输入图片说明](image16.png) 然后再输入相应的命令即可对代码的代码行,空行和注释行进行统计,结果如下: ![输入图片说明](image17.png) 3. 单元测试 与上述方法类似,可得以下单元测试结果(用到的测试文件可在相应的文件夹中查看): ![输入图片说明](image20.png) ![输入图片说明](image19.png) ![输入图片说明](image18.png) 4. performance test 在Visual Sdudio软件的菜单栏中找到调试按键在其下可以找到性能探查器用于performance test性能检测,我选择了CPU使用率和内存使用率两项的性能检测。结果较多,展示一部分如下(其他结果可在上传的performance test文件夹中查看): ![输入图片说明](image21.png) ![输入图片说明](image22.png)