2021秋软工实践第一次个人编程作业

Aiiiiizw 2021-09-21 12:00:14
这个作业属于哪个课程构建之法-2021秋-福州大学软件工程 https://bbs.csdn.net/forums/fzuSoftwareEngineering2021?category=0
这个作业要求在哪里2021秋软工实践第一次个人编程作业 https://bbs.csdn.net/topics/600574694
这个作业的目标<实现一个程序功能,它可以对读入的C或C++代码文件进行不同等级的关键字提取。>
学号031902201

psp表格

Personal software process stages预估耗时(分钟)预估耗时(分钟)
Planning 计划4030
Estimate 估计这个任务需要多少时间
Development开发
Analysis 需求分析 (包括学习新技术)300420
Design Spec生成设计文档4090
Design Review 设计复审2020
Coding Standard 代码规范 (为目前的开发制定合适的规范)3030
Design具体设计6040
Coding具体编码300420
Code Review代码复审6090
Test测试(自我测试,修改代码,提交修改)120120
Reporting报告
Test Report 测试报告2030
Size Measurement计算工作量3030
Postmortem & Process Improvement Plan事后总结, 并提出过程改进计划4040
Total合计10601360

解题思路

1.读取文件

首先需要对整个文件进行读取。在网上查阅了相关资料才掌握了ifstream的相关用法。然后是对文件中的内容进行读取。在这个地方我使用了getline一行一行地读取文件中的内容,将其存放在vector之中。代码如下

vector lines;
char path[1000];int level;cin>>path>>level;
ifstream ifs;
ifs.open(path,ios::in);
if(!ifs.is_open())
{
cerr<<"can not open file"<<endl;
exit(0);
}


迭代过程

1.读取每一行并统计关键词总个数,代码如下

while(getline(ifs,line))
{
lines.push_back(line);
for(i=0;i<32;i++)
{

    if(line.find(keyword[i])!=line.npos&&keyword[i]!="double")num=num+1;
    
}

}

2.统计switch个数及其内嵌的case个数,代码如下

for(j=0;j<lines.size();j++)
if(lines[j].find("switch")!=lines[j].npos)
{
    snum=snum+1;
    for(k=j+1;k<lines.size();k++){
    if(lines[k].find("switch")!=lines[k].npos){temp=2;break;}
    if(lines[k].find("case")!=lines[k].npos){temp=1;sno[snum]=sno[snum]+1;}
    
    if(temp==2)break;}
}

3.后续的ifelse结构由于能力有限还暂时无法完成。

运行结果

img

image-20210921115623058

如图所示

总结

本次作业个人认为是较难的。在实验过程中也曾多次因为不会写代码,而直接放弃到第二天再来写。本次的作业中的代码,比较杂,很多地方不规范,但还是磕磕绊绊的完成了一部分,学习到了一些相关算法的使用,受益良多。

img

...全文
1613 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
KimSton 2021-09-29
  • 打赏
  • 举报
回复

未看到提交的代码

SoftwareTeacher 2021-09-22
  • 打赏
  • 举报
回复

本次的作业中的代码,比较杂,很多地方不规范,但还是磕磕绊绊的完成了一部分


什么时候可以全部写规范,并全部完成呢?

189

社区成员

发帖
与我相关
我的任务
社区描述
福州大学软件工程教学,推行邹欣老师“构建之法”。
软件工程 高校
社区管理员
  • Dawnfox
  • REP1USONE
  • 纪华裕
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧