这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13136 |
这个作业的目标 | 学习个人项目的完成流程,完成psp表格 |
GitHub 链接:https://github.com/Maruozhi/3122004785
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 20 |
· Estimate | · 估计这个任务需要多少时间 | 20 | 30 |
Development | 开发 | 180 | 240 |
· Analysis | · 需求分析 (包括学习新技术) | 120 | 90 |
· Design Spec | · 生成设计文档 | 60 | 50 |
· Design Review | · 设计复审 | 30 | 20 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 20 | 20 |
· Design | · 具体设计 | 60 | 20 |
· Coding | · 具体编码 | 120 | 180 |
· Code Review | · 代码复审 | 30 | 5 |
· Test | · 测试(自我测试,修改代码,提交修 | 120 | 60 |
Reporting | 报告 | 90 | 70 |
· Test Repor | · 测试报告 | 30 | 20 |
· Size Measurement | · 计算工作量 | 30 | 15 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30 | 30 |
· 合计 | 970 | 870 |
语言:C语言
编译环境:Visual Studio Community 2022
运行环境:64-bit Windows 10
程序设计思路
1、对文件进行操作,从命令行参数给出:论文原文,仿文的文件的绝对路径。
2、进行关键字对比,逐个对比两文中的相同关键字数,从而比得关键字重复率。
3.输出查重率时按要求显示两位小数的浮点数。
单元测试
原文
仿文_add
仿文_dis
仿文_empty
运行情况
仿文_add
仿文_dis
仿文_empty
源代码
`#include<stdio.h>
//该程序为关键字相同程度的检测
int read() {
//fp1为原文,fp2为仿文
FILE* fp1,* fp2;
fp1 = fopen(“D:/text/text.txt”, “r”);
fp2= fopen(“D:/text/text_add.txt”, “r”);
//fp2= fopen(“D:/text/text_dis.txt”, “r”);
//fp2= fopen(“D:/text/text_empty.txt”, “r”);
if (fp1 == NULL) {
perror("open file failed:");
return;
}
if (fp2 == NULL) {
perror("open file failed:");
return;
}
FILE* f1 = fp1;
FILE* f2 = fp2;
int a = 0, b = 0, c = 0;//a为原文,b为仿文,c为重复数
int flag = 0;//标志,0则找到重复,1则无
char c1, c2;
for (;;a++) {
//原文循环完了结束
if (feof(f1)) break;
//仿文循环完了结束
if (feof(f2)) break;
c1 = fgetc(f1);
if (flag == 1) {
//寻址使得f2指向上次
f2 = fp2;
for (int o=0;o<b;o++) {
c2 = fgetc(f2);
}
}
//查询当前位置及后四位是否相同
for (int i=0;i<5;i++) {
//重复执行五次
c2 = fgetc(f2);
if (c1 == c2) {
c++;//重复度加一
flag = 0;
break;
}
else {
flag = 1;
}
}
if (flag == 1)b--;
b++;
}
float r =100* c / a;
printf("查重率为:%.2f%%", r);
fclose(fp1);
fclose(fp2);
}
int main()
{
read();
}`
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。