zoukankan      html  css  js  c++  java
  • 题目一小学四则运算

    a.需求分析

    从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

    1. 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
    2. 运算符为 +, −, ×, ÷
    3. 并且要求能处理用户的输入,并判断对错,打分统计正确率。
    4. 要求能处理用户输入的真分数, 1/2, 5/12 等
    5. 使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
      Myapp.exe -n 10

    b.功能设计

    1.支持整数的四则运算(除法运算是浮点型)

    2.可以自主选择答题的数目,即随时可以终止答题

    3.答题结束后会统计正确率

     

    c.设计实现

    c语言进行编程,用Visual c++进行编译生成两个随机数分别进行加减乘除的各个操作,定义rightwrong两个变量来统计正确和错误的题目个数,用正确的个数除于总题目数得到正确率,除法用浮点型是为了让结果更准确。

    d.代码说明

    这是主函数:

    int main()
    {
    void add();
    void subtract();
    void multiply();
    void divide();

    int choise;
    int on=0;

    srand(time(0));//设置时间种子,否则每次运行生成的随机数都是一样的
    printf(" 简易四则运算 ");
    while(1)
    {
    printf(" 结束答题(请输入3 ");
    if(on==0)
    {
    choise=rand()%4;
    switch(choise)
    {
    case 0:
    add();
    break;
    case 1:
    subtract();
    break;
    case 2:
    multiply();
    break;
    case 3:
    divide();
    break;
    }
    }
    printf(" 继续运算(请输入1 ");
    printf(" 查看正确率(请输入2 ");
    // printf(" 结束(请输入3 ");
    scanf("%d",&on);
    if(on==1)
    {
    on=0;
    }
    else if (on==2)

    accuracy=right/(right+wrong); 
    printf("正确率为%.2f ",accuracy);
    }
    else if(on==3) 
    {
    break;
    }
    }

    }

    e.测试运行

     

     

     

     

    评估时间

     

     源代码:

    https://git.coding.net/iloveoatmeal/one-sizeyunsuan.git

    实验总结:

    这次的实验我是计划用周末两天完成的,然而所花的时间完全超过了我的预期,而且完成度也大多没达到,然而就这么一个low的程序都花了我整整一个周末的时间去图书馆做,还是在同学的帮助下,说实话,我对编程真的提不起兴趣(这应该就是我几乎编程课都挂科的原因吧),但有时候又不得不做,请原谅我的坦诚!但每一次的实验我都会自己去做,至于遇到的问题,如每次随机得到的数字都是相同的,加一个#include<time.h>的头文件就解决了,都是一些小问题就不多说了。

  • 相关阅读:
    归并排序
    希尔排序
    字符串操作
    引用
    直接插入排序
    变量赋值
    C#中关于公共类的使用
    关于SQL中Between语句查询日期的问题
    用户控件 与 重写控件 的区别
    什么是命名空间,为什么要使用命名空间?
  • 原文地址:https://www.cnblogs.com/wacmp/p/6506465.html
Copyright © 2011-2022 走看看