软件工程第三次作业
Github地址:https://github.com/Ivanpppp/031702145
题目解析:
数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理
在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称“九宫格”。
每个数字在每行、每列只出现一次
PSP表格
Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|
计划 | 30 | 120 |
估计这个任务需要多少时间 | 1215 | 1500 |
开发 | 60 | 380 |
需求分析 (包括学习新技术) | 60 | 500 |
生成设计文档 | 60 | 300 |
设计复审 | 30 | 120 |
代码规范 (为目前的开发制定合适的规范) | 60 | 120 |
具体设计 | 120 | 240 |
具体编码 | 60 | 240 |
代码复审 | 30 | 30 |
测试(自我测试,修改代码,提交修改) | 120 | 120 |
报告 | 30 | 60 |
测试报告 | 30 | 30 |
计算工作量 | 30 | 30 |
事后总结, 并提出过程改进计划 | 15 | 50 |
总计 | 1950 | 3840 |
本次的时间计算不是特别详细,下次会加以改进,每个环节其实没有记得那么清楚
代码
先讲一下遇到的问题吧。
因为之前没有接触过数独,所以先去了解了一下数独的原理,玩了几局游戏
又因为拖延症晚期,导致都快到ddl了才写了博客和代码。
1.首先是不会用命令行传递参数,此处是参考了同学的代代码
发现main()函数中的参数要写上去
像这样的int main(int argc, char* argv[]),参数从那个arfv[]中读取
2.传进去的参数是字符串类型,需要转换为int类型,此处也是上网查了下资料发现atoi()函数可以直接进行类型转换
3.对于数独的算法没有什么思路,一直在浏览网页看之前的数独程序,发现了两种方法,回溯法和深度搜索算法
4.数据结构的内容忘得差不多了,又回去学了一会儿的深度搜索算法,重新理解了下,就是一直在进行递归操作