01 2020 档案
摘要:1. 启动界面 2. 新游戏 点击新游戏可以创建一个初始数独。每次点击新游戏都可以创建一个新的数独。 3. 数字填充 双击为0的区域,会弹出选择框,在选择框中选择数字并点击确认可将数字写入。 若该数字不符合数独规范则会有提醒: 双击问题数字是不可以更改的,会有错误提示: 4. 退出 随时点击退出即可
阅读全文
摘要:一、 需求分析 1. 系统软件开发环境 l Windows10 64bit l 开发语言Python l IDE:visual studio 2. 用例图 该GUI主要完成两个功能即用户创建新游戏,利用电脑进行提示。用户按下新游戏按钮则生成一个新的数独迷局并将其显示,当用户陷入困境点击提示按钮时,会
阅读全文
摘要:开发环境 Windows10 版本号1903 VS2019 16.3.2 Intel vtune Profile 2020 Microsoft. CodeAnalysis. FxCopAnalyzers 2.9.8 测试覆盖率工具opencppcoverage RAM 16GB 3200MHz 三星
阅读全文
摘要:测试环境 Windows10 64bit Intel VTune Profile AMD 2700x sudoku.exe -c 1000000 生成1e6的数据量运行状况如下。 总用时 最耗时函数 void copySudoku(const Sudoku& src, char* dst) { in
阅读全文
摘要:一、 运行代码分析 运行代码分析结果如下: 1> 已启动全部重新生成: 项目: suduku_without_gui, 配置: Release Win32 1>header.cpp 1>interpretor.cpp 1>SudokuChecker.cpp 1>SudokuMaker.cpp 1>S
阅读全文
摘要:一、 换行格式问题 在与同学进行测试的过程中发现,一个文件的换行格式可以有多种,即CRLF,CR,LF三种,而我在进行输入输出的时候使用ReadFile和WriteFile进行文件输入输出仅考虑了字符数为1的情况。在大多数情况下,Windows文件格式为CRLF,因此需要对文件进行判断。其中输出可以
阅读全文
摘要:一、 数独不重复测试 通过编写暴力算法,每次取1e4的数据量进行一一检查,发现有重复项。 观察输出发现,这是在交换行的过程中出现的错误。对交换行代码进行检查。 代码错误最终确认在SudokuMaker.cpp 中的void generateFullSwappedRowSudoku(int level
阅读全文
摘要:性能分析测试 一、 开发环境 l Windows10 版本号1903 l RAM 16GB 3200MHz 三星 l AMD Ryzen 7 2700X 3.90GHz l SSD 三星 MZVLB1TOHALR-00000 二、 文件读入 在进行测试的过程中发现1e6的数据读入大概需要300秒,远
阅读全文
摘要:一、 开发环境 l Windows10 版本号1903 l RAM 16GB 3200MHz 三星 l AMD Ryzen 7 2700X 3.90GHz l SSD 三星 MZVLB1TOHALR-00000 二、 文件读入 在进行测试的过程中发现1e6的数据读入大概需要300秒,远远高于写入的6
阅读全文
摘要:数独生成算法测试 一、 正确性测试 1. 生成数独符合数独要求 保证每个生成的数独都是符合数独要求的。在debug模式下对生成的每一个数独进行检查,由于能力有限没有想到如何方便的通过GoogleTest进行测试,因此采用源代码进行测试,在代码中添加检查语句,并将数量设置为1e6,确保生成的最大1e6
阅读全文
摘要:数独检查模块测试 GoogleTest代码 #include "pch.h" #include "share.h" using namespace std; namespace TestSudokuChecker { int test_sudoku[10][10] = { 0, 0, 0, 0, 0
阅读全文
摘要:命令解析模块测试 测试代码 #include "pch.h" #include "share.h" int **sudoku = nullptr; int num_of_sudoku = 0;//第几个数独表 int upper_limit_of_sudoku = 0; HANDLE h_sudok
阅读全文
摘要:软件需求规格说明书 文件编号:2020.1.10 版本:1.0 编写人 王占坤 日期 2019-01-10 评审 评审号/日期 批准 状态 发布范围 项目组 修改历史 日期 版本 作者 修改内容 2019-1-10 1.0 王占坤 新建 目录 1引言. 4 1.1 目的. 4 1.2 背景. 4 1
阅读全文
摘要:点击图片放大。 命令分析 数独生成 数独求解 数独终局格式化打印
阅读全文
摘要:点击放大图片 功能需求与性能需求 0层、1层数据流图
阅读全文
摘要:问题描述 完成一个目录复制命令mycp,包括目录下的文件和子目录, 运行结果如下: 思路 这道题目主要涉及文件读写操作和属性修改。需要支持文件夹复制、文件复制,在Linux下还要支持软链接的复制。 思路如下: 获取待复制目录的绝对路径 根据绝对路径进行dfs或者bfs搜索所有子目录项 判断子目录是属
阅读全文