zoukankan      html  css  js  c++  java
  • 四则运算题目生成程序(基于控制台)

    题目描述:

    看了大家对于本课程的目标和规划,很多同学都希望能提高自己的实践能力,没有捷径可走,就是练习、练习再练习!那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序

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

      1. 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
      2. 运算符为 +, −, ×, ÷
      3. 并且要求能处理用户的输入,并判断对错,打分统计正确率。
      4. 要求能处理用户输入的真分数, 如 1/2, 5/12 等

    使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
    Myapp.exe -n 10

    需求分析:

    1.四则运算

    2.生成分数运算

    3.用户自定义题目数量

    4.判断答案是否正确

    5.给出正确率

    设计实现

    确地题目数量,给出运算式子,给出答案判断,在报出正确率

     

    #include<iostream>
    #include<stdlib.h>
    #include<conio.h>
    #include<time.h>
    using namespace std;
    void accuracy(int n, int count){
        float m = count * 100 / n;
        cout << "正确率:" << m << "%" << endl;
    }
    void integer(int n,int result[]){
        int count=0;
        srand(time(NULL));
        for (int i = 0; i < n; i++){
            int a = (int)rand() % 100;
            int b = (int)rand() % 100;
            int c = (int)rand() % 100 / 20;
            switch (c)
            {
            case 0:
                int Answers;
                cout << a << "+" << b << "=" << endl;
                result[i] = a + b;
                cin >> Answers;
                if (result[i] == Answers)
                {
                    cout << "Yes" << endl;
                    count++;
                }
                else
                    cout << "wrong" << endl;
                cout << "right Answer:" << result[i] << endl;
                break;
            case 1:
    
                int temp;
                if (a < b){
                    temp = a;
                    a = b;
                    b = temp;
                }
                cout << a << "-" << b << "=" << endl;
                result[i] = a - b;
                cin >> Answers;
                if (result[i] == Answers)
                {
                    cout << "Yes" << endl;
                    count++;
                }
                else
                    cout << "wrong" << endl;
                cout << "right Answer:" << result[i] << endl;
                break;
            case 2:
    
                cout << a << "*" << b << "=" << endl;
                result[i] = a * b;
                cin >> Answers;
                if (result[i] == Answers)
                {
                    cout << "Yes" << endl;
                    count++;
                }
                else
                    cout << "wrong" << endl;
                cout << "right Answer:" << result[i] << endl;
                break;
            case 3:
                cout << a << "/" << b << "=" << endl;
                result[i] = a / b;
                cin >> Answers;
                if (result[i] == Answers)
                {
                    cout << "Yes" << endl;
                    count++;
                }
                else
                    cout << "wrong" << endl;
                cout << "right Answer:" << result[i] << endl;
                break;
            }
    
        }
        accuracy(n, count);
    }
    
    int main(){
        int n;
        char m;
        int result[1000];
        cout << "请输入想要的题目数量:" << endl;
        cin >> n;
        integer(n, result);
        cout << "欢迎使用(输入任意键退出)" << endl;
        cin >> m;
    }

    实验测试:

    PSP

     

    总结:

    在编程中自己想的时候觉得可以运行,但在实际编程中总会出现出现一些问题,需要去查资料才能解决,感觉自己编程能力还是要多多练习.

  • 相关阅读:
    windows根据指定编码启动jar包
    Ioc/DI和Aop(2)
    SpringIOC和AOP原理 设计模式(3)
    nacos安装与基础配置
    jvm内存参数解析
    springboot集成多数据源
    linux常见命令
    idea常见问题
    GSP
    GSP
  • 原文地址:https://www.cnblogs.com/lqwe/p/6516871.html
Copyright © 2011-2022 走看看