zoukankan      html  css  js  c++  java
  • 四则运算二

    设计思路

    1,题目避免重复:

    采用srand(time(NULL))实现

    2,可定制:

    a)定制数量:定义变量n,用户可以自己设置

    b)打印方式:可以自己选择每行可以打印几个

    3,可控制参数:

    a)是否支持乘除:编写了两个函数,一个有乘除,一个没有乘除,在主函数里设置判断语句用户自己选择,然后调用相应的函数。

    b)加减有无负数:设置判断语句,有负数为0,无负数为1.

    c)除法有无余数:在有乘除的函数里设置条件语句,0为有余数,1为无余数,如果用户选择与随机产生的不一致,则再随机取一个被除数。

    d)打印中每行的间隔:只要再换行时用一个循环语句,循环输出endl即可。

    缺陷:由于编程能力不足,未能实现是否有括号和最多支持十个参数参与运算。

      1 #include<iostream>
      2 #include<stdlib.h>
      3 using namespace std;
      4 #include<time.h>
      5 
      6 char get_oper(int n)
      7 {
      8     switch (n)
      9 
     10     {
     11 
     12     case 0:return '+';
     13 
     14     case 1:return '-';
     15 
     16     case 2:return '*';
     17 
     18     case 3:return '/';
     19 
     20     }
     21 
     22 }
     23 
     24 
     25 
     26 int main()
     27 
     28 {
     29 
     30     srand(time(NULL));
     31 
     32     int num1 = 0;
     33 
     34     int num2 = 0;
     35 
     36     int operators = 0;
     37 
     38     int cpl;          //定义每行输出题目个数
     39 
     40     int range;           //定义数值范围
     41 
     42     int answer;        //定义计算结果
     43 
     44     int num;        //定义题目个数
     45 
     46     int JG;                //定义每行间隔
     47 
     48     char m;              //是否有乘除法
     49 
     50     char n;               //加减有无负数
     51 
     52     cout << "请输入输出题目个数:";
     53 
     54     cin >> num;
     55 
     56     cout << "请输入数值范围:";
     57 
     58     cin >> range;
     59 
     60     cout << "请输入每行题目个数:";
     61 
     62     cin >> cpl;
     63 
     64     cout << "请输入每行间隔:";
     65 
     66     cin >> JG;
     67 
     68     cout << "是否有乘除法(Y/N)?";
     69 
     70     cin >> m;
     71 
     72     cout << "是否有负数(Y/N)?";
     73 
     74     cin >> n;
     75 
     76     for (int i = 1; i <= num; i++)
     77 
     78     {
     79 
     80         //随机产生运算的数和运算符。
     81 
     82         num1 = rand() % range;
     83 
     84         num2 = rand() % range;
     85 
     86         if (m == 'Y')
     87 
     88         {
     89 
     90             operators = rand() % 4;
     91 
     92             switch (operators)
     93 
     94             {
     95 
     96             case 0:answer = num1 + num2; break;
     97 
     98             case 1:answer = num1 - num2; break;
     99 
    100             case 2:answer = num1*num2; break;
    101 
    102             case 3:answer = num1 / num2;
    103 
    104             }
    105 
    106         }
    107 
    108         else if (m == 'N')
    109 
    110         {
    111 
    112             operators = rand() % 2;
    113 
    114             switch (operators)
    115 
    116             {
    117 
    118             case 0:answer = num1 + num2; break;
    119 
    120             case 1:answer = num1 - num2; break;
    121 
    122             }
    123 
    124         }
    125 
    126         if (answer<range)
    127 
    128         {
    129 
    130             if (n == 'Y')
    131 
    132             {
    133 
    134                 cout << num1 << get_oper(operators) << num2 << "=";
    135 
    136                 for (int j = 0; j <= JG; j++)
    137 
    138                     cout << " ";
    139 
    140                 cout << "	";
    141 
    142                 if (i%cpl == 0)
    143 
    144                 {
    145 
    146                     cout << endl;
    147 
    148                 }
    149 
    150             }
    151 
    152             else if (n == 'N')
    153 
    154             {
    155 
    156                 i--;
    157 
    158             }
    159 
    160         }
    161 
    162         else
    163 
    164         {
    165 
    166             i--;
    167 
    168         }
    169 
    170     }
    171 
    172     return 0;
    173 
    174 }

  • 相关阅读:
    Bluedroid与BluZ,蓝牙测试方法的变动(基于bludroid和BlueZ的对比)
    dumpsys 用法
    ffmpeg开发指南
    Python七大原则,24种设计模式
    总结工厂模式---简单工厂、工厂方法、抽象工厂
    抽象工厂(Abstract Factory)
    工厂模式(Factory Method)
    逻辑回归(Logistic Regression) ----转载
    随机森林(Random Forest)--- 转载
    时间序列分析
  • 原文地址:https://www.cnblogs.com/wulun/p/5269311.html
Copyright © 2011-2022 走看看