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

一、 需求分析
 能自动生成四则运算,并且能控制参数,题量
二、功能设计
基本功能:自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内
扩展功能:剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式
                  题目数量可定制
                  相关参数可控制
                  包含乘法和除法
                  操作数数值范围可控(如操作数 在100以内   还是1000以内)
                  操作数是否含负数    
                  生成的运算题存储到外部文件result.txt中
三、设计实现
主函数控制并循环生成随机数运算   具体参数由以下变量控制
num a:第一个操作数    
num  b:第二个操作数   
symbol:随机生成数控制“+”、“-”、“*”、“/“符号    
tg:    题目数量    
ctrl:控制是否为2则或4则运算    
Max:控制操作数范围 
 fuhao:控制是否含负数
利用调用函数控制重复式
四、运行测试
输入相应的参数

 

 

 


显示结果

 

 

 


五  代码片段
1、控制符号正负 

 1     for(;i<tg;i++)
 2     {
 3         if(fuhao == 2)  //判断是否为负数 
 4         {
 5         numa =  rand() % Max+1;
 6         numb = rand() % Max+1;
 7         }
 8         else{
 9             numa =  rand()%(2*Max+1)-Max;
10             numb =  rand()%(2*Max+1)-Max;    
11         }
12         symbol    = rand() % ctrl+1;   

2、随机生成数控制“+”、“-”、符号 并输出

    switch(symbol)
        {
            case 1:
                if(fun(numa,'+',numb)==1)
                     fprintf(fp,"%d + %d=%d\n",numa,numb,numa+numb);
                 else {
                         i--;
                         continue;
                         } 
                  break;
              case 2: 
                  if(fun(numa,'-',numb)==1)
                      fprintf(fp,"%d - %d=%d\n",numa,numb,numa-numb);
                  else {
                         i--;
                         continue;
                         } 
                         break;

 

3、生成的运算题存储到外部文件result.txt中

1 FILE *fp;
2     fp=fopen("C:result.txt","w");

 六、总结

先把整体框架搭建出来,把最基本的变量等都设置出来并赋值,再根据需求划分功能,将每个模块的功能依次实现,并最后进行整合测试,保证程序能够顺利运行。

 

七、PSP

PSP2.1

任务内容

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

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

Planning

计划

90

180

·       Estimate

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

90

200

Development

开发

350

788

··       Analysis

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

10

20

·       Design Spec

·  生成设计文档                                                            

30

30

·       Design Review

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

0

0

·       Coding Standard

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

5

5

·       Design

  具体设计

60

90

·       Coding

  具体编码

300

340

·       Code Review

·  代码复审

20

10

·       Test

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

10

15

Reporting

报告

30

40

··       Test Report

·  测试报告

20

25

·       Size Measurement

  计算工作量

0

0

·       Postmortem & Process Improvement Plan

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

10

15

  

posted @ 2019-09-16 19:21  王庆祥  阅读(179)  评论(0编辑  收藏  举报