20194653 自动生成四则运算题第一版报告

一、需求分析

需要能自动生成四则运算的程序并能控制其中的一些参数,显示在txt文件中

二、功能设计

基本功能

    自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内

扩展功能

(1)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式

(2)题目数量可定制

(3)以下相关参数可控制

          是否包含乘法和除法

          操作数数值范围可控(如操作数 在100以内   还是1000以内)

          操作数是否含负数    

  (4)生成的运算题存储到外部文件result.txt中

三、设计实现

主函数控制并循环生成随机数运算   具体参数由以下变量控制

num1:第一个操作数     

num2:第二个操作数    

math:随机生成数控制“+”、“-”、“*”、“/“符号    

s:题目数量    

 ctrl:控制是否为2则或4则运算     

max:控制操作数范围  

 sign:控制是否含负数

建立fun函数剔除重复算式

四、测试运行

输入想要应用的参数

 

 显示结果

 

 

 五、代码片段

1.剔除重复算式

 1 int fun(int a,int b,int c)  //剔除重复算式
 2   {
 3   static int p[100][3];  //开辟静态数组
 4   static int k=0;          //定义静态变量记录数组中所录元素个数
 5   int z=0;
 6   for(z=0;z<=k;z++)
 7   {
 8       if  (p[z][0]==a && p[z][1]==b && p[z][2]==c) //判断是否与数组录入元素重复
 9       return 0; 
10   }
11    p[z][0]=a;
12    p[z][1]=b;
13    p[z][2]=c;
14    k++;
15    return 1;
16   }

2.控制符号正负

if(sign == 0)  //判断是否含负数 
        {
        num1 = 1 + rand() % max;
        num2 = 1 + rand() % max;            }
        else{
            num1 =  rand()%(2*max+1)-100;
            num2 =  rand()%(2*max+1)-100;    
        }

3.将输出数据导入文本中

FILE *fp;
    fp=fopen("E:\\result.txt","w");
        fprintf(fp,"%d+%d=%d\n",num1,num2,num1+num2);

 

 

六、总结

设计随机四则运算的核心算法,运行无误后

根据客户需求逐一增加算法功能模块,

增加一部分模块后确保算法正常运行无错误,在增加下一部分功能模块。

七、PSP

PSP2.1

任务内容

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

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

Planning

计划

10

10

·       Estimate

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

10

10

Development

开发

125

195

··       Analysis

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

5

10

·       Design Spec

·  生成设计文档

0

0

·       Design Review

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

0

0

·       Coding Standard

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

10

10

·       Design

  具体设计

10

20

·       Coding

  具体编码

60

90

·       Code Review

·  代码复审

30

45

·       Test

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

10

20

Reporting

报告

25

20

··       Test Report

·  测试报告

10

5

·       Size Measurement

  计算工作量

5

5

·       Postmortem & Process Improvement Plan

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

10

10

posted @ 2019-09-08 21:01  徐伟刚  阅读(305)  评论(4编辑  收藏  举报