![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
个人项目
黑龙江的叹息
爱上一匹野马可我的家里没有草原
展开
-
【个人项目数独】7、PSP与总结
展示了数独项目的详细代码与PSP表格总结原创 2020-01-18 22:19:48 · 299 阅读 · 0 评论 -
【个人项目数独】6、代码分析与单元测试
代码分析 对Sudoku项目运行代码分析结果如下: 由于在编写代码时考虑的比较多,所以经过代码分析只有一个关于strlen函数的warning,经了解,strlen()的返回值类型是unsinged int,而我将它赋给了int,类型不匹配。 稳妥起见可以做一个强制类型转换。警告消除 ????妥了 单元测试 在同一解决方案下新建一个测试项目,名为UnitTest1,然后看了一下官网的文档和博客大致...原创 2020-01-18 14:06:36 · 263 阅读 · 0 评论 -
【个人项目数独】5、性能分析与改进
性能分析 生成1000000个数独时的性能分析图: 查看函数消耗情况: 由于在编码是已经采用了比较节省时间的方式,比如把第一行的40320种情况全都预先储存起来,以及在各行交换生成多种终局时手动记录下要交换的行的索引,因此通过性能分析图可以看到,主要的时间花费在了写入文件的的fprintf函数上,因此考虑对此进行优化。首先我想到的是将逐个输出改为一次输出一整行的形式,即由 for (int j...原创 2020-01-18 09:30:51 · 204 阅读 · 0 评论 -
【个人项目数独】4、编码
代码编写 经过这几天的努力,代码基本完成,详请参阅GitHub(地址见第一篇博文) main函数 main函数的实现较为简单,简单描述一下: 首先,对输入参数不是两个,以及第一个参数不是"-c"或"-s"的,会提示“输入不合法”并结束运行,对于"-c"参数,则首先判断第二个参数是不是数字,然后会判断数字是否在1~1000000之间,若满足要求则调用CreateSudoku进行终局的生成。 对于"-...原创 2020-01-11 22:16:50 · 197 阅读 · 0 评论 -
【个人项目数独】3、设计与实现
设计阶段 程序流程如下 整个项目程序包括5个文件: main,实现对命令行参数的处理以及输入不合法时的反馈 CreateSudoku,生成指定数目的数独终局 WriteFile,将数独终局写入指定文件中 ReadFile,从指定文件中读出数独 SolveSudoku,求解指定数独 函数关系 main函数对命令行参数进行处理之后,若为“-c”则调用CreateSudoku函数进行数独终局的生成...原创 2020-01-11 21:01:35 · 287 阅读 · 0 评论 -
【个人项目数独】2、需求分析与思考
需求分析 我们都多少了解过数独游戏,数独是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫(3*3)内的数字均含1-9,不重复。数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次。 ...原创 2019-12-29 01:04:45 · 693 阅读 · 0 评论 -
【个人项目数独】1、PSP表格记录
项目GitHub地址 软件工程基础个人项目数独 项目开始 1、PSP表格记录估计将在程序的各个模块的开发上耗费的时间 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 • Estimate • 估计这个任务需要多少时间 10 Development 开发 1800 • ...原创 2019-12-24 14:26:35 · 328 阅读 · 0 评论