zoukankan      html  css  js  c++  java
  • 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
    ",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

  • 相关阅读:
    Android仿网易client实现抽屉式拖拉菜单界面
    使用SRVCTL时报错:error while loading shared libraries
    permission denied for this window type
    pytest文档22-fixture详细介绍-作为参数传入,error和failed区别
    pytest文档22-fixture详细介绍-作为参数传入,error和failed区别
    pytest文档22-fixture详细介绍-作为参数传入,error和failed区别
    xml文件错误
    xml文件错误
    xml文件错误
    mysql replace into 的使用情况
  • 原文地址:https://www.cnblogs.com/Xwwg/p/11488451.html
Copyright © 2011-2022 走看看