第3次作业

第3次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1
作业要求 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494
作业目标 九方格的实现
作业正文 如下图
其他参考文献 www.baidu.com

1.Github:https://github.com/liaoping775

2.

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

3.解题思路

1.先上网查找关于九方格的算法。

2.写完代码进行静态检测。

3.进行检测和改进。

4.设计实现过程。

           代码由1个类和3个函数组成。

流程图:

5.代码说明

随机数输入:

void start()
{
    srand ( unsigned ( time (NULL) ) );  /* 产生random_shuffle的随机数种子 */
    for( int i = 1  ; i <= 9 ; ++i )
        for( int j = 1 ; j <= 9 ; ++j )
            Initial_State[i][j] = 0 ;
    for( int i = 1 ; i <= 9 ; ++i )
        Initial_State[1][i] = i ;
    random_shuffle( &( Initial_State[1][1]) , &( Initial_State[1][10])  ) ;  /* 第一行随机排列产生 */
    get_Initial_State( 2 , 1 ) ;  /* 从第二行开始搜索 */
}
检测重复数:

    for( int k = 1 ; k <= 9 ; ++k )
    {
        bool can = true;                // can 变量用于记录数字k能否放在 ( i , j ) 处
        for( int m = 1 ; m < i ; ++m )
            if( Initial_State[m][j] == k )  // 检查同一列是否出现过数字k
            {
                can = false ;
                break ;
            }
        if ( can )
            for( int n = 1 ; n < j ; ++n )
                if( Initial_State[i][n] == k )  // 检查同一行是否出现过数字k
                {
                    can = false ;
                    break;
                }
 
代码检测:
 
 
运行结果:
 
 
6.总结:
在这次活动中,我明白了进行软件开发会遇到很多的困难,同时也发现我有很多方面有明显的不足,比如这个代码就难倒了我,我知道了这些不足,有了方向进行改正,相信下次能做的更好。
 
 这次我给自己的评分是9分。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/qwe12/p/12594251.html