C++实现论文查重
| 软件工程 | https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13014 | |
|---|---|---|
| 作业要求 | 根据给出的样例进行查重,并把结果记录在PSP表格中 | |
| 作业目的 | 对查重有一定的初步了解 | |
| GitHub链接 | https://github.com/xingch123456789/3119000414 |
PSP表格
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | 120 | 300 |
| Estimate | 估计这个任务需要多少时间 | 180 | 360 |
| Development | 开发 | 65 | 250 |
| Analysis | 需求分析 (包括学习新技术) | 120 | 150 |
| Design Spec | 生成设计文档 | 30 | 60 |
| Design Review | 设计复审 | 45 | 50 |
| Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 32 | 30 |
| Design | 具体设计 | 60 | 120 |
| Coding | 具体编码 | 60 | 80 |
| Code Review | 代码复审 | 30 | 40 |
| Test | 测试(自我测试,修改代码,提交修改) | 35 | 30 |
| Reporting | 报告 | 30 | 20 |
| Test Repor | 测试报告 | 30 | 20 |
| Size Measurement | 计算工作量 | 20 | 20 |
| Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 10 | 15 |
| 合计 | 867 | 1520 |
- 计算模块接口的设计与实现过程
double calculatSimilarity(const string& originalText, const string& plagiarizedText)
函数返回计算查重率,传参为原文和抄袭版本 - 计算模块接口部分的性能改进
![image]()
![image]()
- 计算模块部分单元测试展示
CMakefiles.txt配置
点击查看代码
cmake_minimum_required(VERSION 3.10)
project(SimilarityTest)
// 添加测试框架
enable_testing()
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})
// 添加测试目标
add_executable(SimilarityTest similarity_test.cpp)
target_link_libraries(SimilarityTest ${GTEST_BOTH_LIBRARIES})
// 添加测试
add_test(NAME SimilarityTest COMMAND SimilarityTest)
- 测试代码
点击查看代码
TEST(SimilarityTest, Test1)
{
std::string originalText = "D:/我的文档/test/orig.txt";
std::string plagiarizedText = "D:/我的文档/test/orig_0.8_del.txt";
double expected = 1.0;
double result = calculatSimilarity(originalText, plagiarizedText);
EXPECT_EQ(result, expected);
}
TEST(SimilarityTest, Test2)
{
std::string originalText = "D:/我的文档/test/orig.txt";
std::string plagiarizedText = "D:/我的文档/test/orig_0.8_add.txt";
double expected = 1.0;
double result = calculatSimilarity(originalText, plagiarizedText);
EXPECT_EQ(result, expected);
}
// 添加更多的测试用例...
int main(int argc, char** argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
-
测试结果
![image]()
-
代码覆盖率
![image]()





浙公网安备 33010602011771号