软件工程实践2019第三次作业

Github项目地址:https://github.com/icefantasysky/My-repository/blob/master/031702611

PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 120 120
Estimate 估计这个任务需要多少时间 1200 1500
Development 开发 600 600
Analysis 需求分析 (包括学习新技术) 120 120
Design Spec 生成设计文档 30 60
Design Review 设计复审 30 60
Coding Standard 代码规范 (为目前的开发制定合适的规范) 120 120
Design 具体设计 120 120
Coding 具体编码 360 480
Code Review 代码复审 300 360
Test 测试(自我测试,修改代码,提交修改) 60 120
Reporting 报告 120 120
Test Repor 测试报告 60 120
Size Measurement 计算工作量 60 60
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 120 60
合计 3420 4020

解题

想起自己原来解数独的时候,一般都是先用排除法减少错误答案,然后带入进行一个一个的尝试,所以这次也采用递归的方式进行

首先要判断是否合法,判断合法有三个标准,第一是要判断所在横行是不是1——9,然后要判断所在纵行是不是1——9,同时还要判断每个九宫格是不是1——9
这里的方法是查了资料,其中的x,y分别是九宫格左顶点的横坐标和纵坐标,通过这种办法来判断每个小九宫格是否重复;

最后进行填充,如果这位不为0跳至下一位,如果为0的话就选择循环来填充,

但是觉得比较难的步骤是命令行输入和输出,关于argc和argv之前都没有接触,还有ifstream和ofstream的使用,所以这次只是粗略的尝试
首先是查了资料,用了强制类型转换将输入的转化为整形(方便后面的循环)
然后将input内容输入到数组

还有就是将结果输出到output

命令行输入

命令行输出

但是不知道为什么,问了好多人,我写的只能在第一个9*9实现,郁闷,我再改改……

性能评测用的是vs自带的性能评测

结语

第一次使用vs,感觉还有很多不习惯的地方,这篇写的也有很多不满意的地方,之后会持续改进的~ 通过这次真的觉得学到了很多,
对于cmd的使用还有vs这个全新的编译器,以及后面的github相关学习都很值得期待~

posted @ 2019-09-25 22:36  绯雪丶曼殊沙华  阅读(184)  评论(4)    收藏  举报