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

一、需求分析

  使用C或Java语言完成一个自动生成四则运算试题的程序,可以根据使用者的意愿自定义各种参数,且不能出现重复算式、生成的题目保存到外部文件result.txt中。

二、功能设计

  •  基本功能

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

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

   (3)题目数量可定制

   (4)相关参数可控制

             是否包含乘法和除法

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

             操作数是否含负数    

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

  •  扩展功能

    在打印题目后可以选择是否打印答案。

三、 设计实现

   使用c语言编写,所有功能都在main函数中实现。

四、 测试运行

五、 代码片段

  • 可选择是否生产答案
1      printf("是否需要答案,需要1,不需要0\n");
2          scanf("%d",&i);
3          if(i==1)  //判断是否需要答案 
4            {    fprintf(fp,"\n\n答案:\n"); 
5                 for(j=0;j<m;j++) //m为题目数量 
6               //在打印题目的同时,将运算结果存入到ans数组中 
7                     fprintf(fp,"第%d题:%.2f\n",j+1,ans[j]); 
8             }
  • 判断算式有无重复
 1            num1= rand()%n+1-e;
 2            num2= rand()%n+1-e;
 3            que[i][0]= num1;
 4            que[i][1]= num2;
 5                  //在产生随机数的同时将随机数存入que数组 
 6            for(j;j<i;j++)
 7                    if(num1==que[j][0]&&num2==que[j][1])
 8                     break;  
 9            if(j!=i) 
10             //因为是while循环,所以可以直接进行下一轮而不改变循环变量的值
11               continue;

六、 总结

   在编写程序的过程中没能很好的实现模块化,导致所有程序都在main函数中,看上去很乱,应该每一个功能都对应一个函数。

七、 PSP

PSP2.1

任务内容

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

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

Planning

计划

10

15

·       Estimate

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

5

7

Development

开发

180

350

··       Analysis

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

5

10

·       Design Spec

·  生成设计文档

10

12

·       Design Review

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

4

6

·       Coding Standard

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

6

13

·       Design

  具体设计

8

10

·       Coding

  具体编码

120

264

·       Code Review

·  代码复审

10

30

·       Test

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

10

24

Reporting

报告

20

44

··       Test Report

·  测试报告

10

18

·       Size Measurement

  计算工作量

0

0

·       Postmortem & Process Improvement Plan

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

10

18

猜你喜欢

转载自www.cnblogs.com/02-yym/p/11521712.html