需求分析:

  1、可以生成两个操作数的四则运算式子。

2、题目数量可控。

3、运算结果与参与运算的数字大小可控。

4、是否包含乘除法可控。

5、是否包含负数可控。

6、生成算式可导出。

功能设计:

基本功能:    1、满足用户需求(题目的数量、操作数范围、运算符号、运算结果可控)。

                     2、提示明确清。

拓展功能:    算式可导出

由于核心代码较短,我并没有设计类或函数来调用。我知道这并不是一个良好的习惯,如果需要大量重复某一步骤,自定义一些类或者函数应该是比较好的选择。

运行截图:

 1 for(n=1;n<=Nmax;n++)//循环输出
 2         {
 3                 for(i=0;i<=n;i++) //依次比对 
 4                 {
 5                         num1=rand()%max1;
 6                         num2=rand()%max1;
 7                         if(nul==1)
 8                         num3=rand()%4;
 9                         else
10                         num3=rand()%2;
11                     if(num1!=R1[i]||num2!=R2[i]||num3!=R3[i])//与已经使用过的数字进行比对 
12
13                 switch(num3)//对应运算符号除错判定 
14                 {
15                 case 0:
16                     if(num1+num2<=max1)
17                     i=0;    break;
18                 case 1:
19                     if(neg==1)
20                             break;
21                     else if(num1<num2)
22                     i=0;    break;
23                 case 2: if(num1*num2>max1)
24                     i=0;    break;
25                 case 3: if(num2==0)
26                     i=0;    break;
27                 }    i++;
28                 }
29             //下面是输出语句    
30             printf("%d",num1);
31             fprintf(fp,"%d",num1);
32             switch(num3)//加减乘除判定 
33             {
34                 case 0: printf("+");//显示 
35                         fprintf(fp,"+");//写入文件 
36                          break;
37                 case 1: printf("-");
38                         fprintf(fp,"-");
39                          break;
40                 case 2: printf("*");
41                         fprintf(fp,"*");
42                          break;
43                 case 3: printf("/");
44                         fprintf(fp,"/");
45                          break;
46             }
47             printf("%d",num2);
48             fprintf(fp,"%d",num2);
49             printf("=\n");
50             fprintf(fp,"=\n");
51             R1[n]=num1;//记录已使用的数字; 
52             R2[n]=num2;
53             R3[n]=num3;
54         }

PSP2.1

任务内容

计划共完成需要的时间(min)

实际完成需要的时间(min)

Planning

计划

2

2

·       Estimate

·  估计这个任务需要多少时间,并规划大致工作步骤

2

2

Development

开发

75

25

··       Analysis

  需求分析 (包括学习新技术)

10

30

·       Design Spec

·  生成设计文档

10

5

·       Design Review

·  设计复审 (和同事审核设计文档)

10

20

·       Coding Standard

  代码规范 (为目前的开发制定合适的规范)

5

10

·       Design

  具体设计

10

10

·       Coding

  具体编码

10

60

·       Code Review

·  代码复审

10

30

·       Test

·  测试(自我测试,修改代码,提交修改)

10

30

Reporting

报告

16

31

··       Test Report

·  测试报告

5

10

·       Size Measurement

  计算工作量

1

1

·       Postmortem & Process Improvement Plan

·  事后总结 ,并提出过程改进计划

10

20

02-11 01:38