博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
四则运算2
阅读量:5321 次
发布时间:2019-06-14

本文共 2389 字,大约阅读时间需要 7 分钟。

1.任务要求:对之前的自动出题系统提出了新的要求:

    (1)、题目避免重复;(2)、可定制(数量/打印方式);(3)可以控制下列参数:是否有乘除法、是否有括号(最多可以支持是个数参与计算)、数值范围、加减有无负数、       除     法有无余数、

2.设计思路:(1)主函数中有一个大循环,其中主框架是一个switch语句构成的,可以在四中运算中设置不同的要求并加以 实现。并使程序可以循环运行,即用户可以循环使用;

                     (2)避免重复:可以使用srand函数确保产生的随机数不相同;

                     (3)定制数量/打印方式:每一次循环会出n道题目,每行有num道题目,添加变量N,num,其数值由用户确定;

                     (4)乘除法选择:有无乘除法,加一个变量mul,设置其值并在switch语句中使用,若有乘除法则执行rand()%4,产生 四种运算符号,反之产生加减两种运算;

                    (5)数值范围:两个运算数为可以随便设置范围,其中用判断语句确保除法中除数不等于0;减法中被减数大于减数;

                   (6)除法是否有余数/是否支持分数:添加函数,利用判断语句设定,当题目是除法时如果不能除尽则重新生成题目,直到余数为零,在主函数合适位置处调用添加函                         数,使用户可以进行选择题目中是否包含分数的运算数,如果包括可以重新设置两个运算数变量的格式改为分数,反之不用做处理,并对此函数进行调用

3  源代码

 
1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 7 void main() 8 { 9 cout << "欢迎进入四则运算出题系统!" << endl; 10 cout << "*****************************************" << endl; 11 char g='Y',mod; 12 while (g == 'Y') 13 { 14 cout << "此系统分为两个模块,请进行选择:(A.整数 or B.分数)"; 15 cin >> mod; 16 if (mod == 'A') 17 { 18 int N,max,min,num,j; 19 char mul,neg,rem; 20 srand((unsigned)time(NULL)); 21 cout << "请输入要生成的题目数量N:"; 22 cin >> N; 23 cout << "打印参数num(每一行有num道题目):"; 24 cin >> num; 25 cout << "运算数的范围上限max:"; 26 cin >> max; 27 cout << "运算数的范围下限min:"; 28 cin >> min; 29 cout << "您是否希望题目中出现乘除运算?(Y(是)or N(否)):"; 30 cin >> mul; 31 cout << "您是否希望减法题目中出现负数?(Y(是)or N(否)):"; 32 cin >> neg; 33 cout << "您是否希望除法题目中出现余数?(Y(是)or N(否)):"; 34 cin >> rem; 35 for (int k=0;k
> N;105 cout << "打印参数num(每一行有num道题目):";106 cin >> num;107 cout << "运算数的分子和分母的范围上限max:";108 cin >> max;109 cout << "运算数的分子和分母的范围下限min:";110 cin >> min;111 cout << "您是否希望题目中出现乘除运算?(Y(是)or N(否)):";112 cin >> mul;113 cout << "您是否希望减法题目中出现负数?(Y(是)or N(否)):";114 cin >> neg;115 for (int k=0;k
> g;165 cout << "*****************************************" << endl;166 }167 168 cout << "感谢您的使用,再见!";169 }
 

  由于时间有限、自己能力欠缺、 在是否有括号这一功能上并没有显现。在以后的时间里自己会对这程序做出改进。

 

  

转载于:https://www.cnblogs.com/Lw-1573/p/5268967.html

你可能感兴趣的文章
腾讯云Badjs镜像使用入门
查看>>
sqoop-1.4.6安装配置
查看>>
二叉树的构建和层级打印
查看>>
C++基础回顾-字符串地址比较
查看>>
阿里插件检查 lombok报错---方法缺少 '@Override' 注解
查看>>
使用vlfeat工具箱中的vl_kmeans函数
查看>>
路飞学城Python-Day79
查看>>
用CPPUnit做单元测试 (转)
查看>>
字母数字排序
查看>>
Basic Cisco Configs
查看>>
Yii 多表关联relations
查看>>
python 冒泡、二分查找
查看>>
Hello World
查看>>
linux 下安装python3
查看>>
js中style,currentStyle和getComputedStyle的区别
查看>>
技巧类
查看>>
LOJ6036编码
查看>>
day11_多线程(多线程安全问题)
查看>>
Diary of Codeforces Round #402 (Div. 2)
查看>>
产品体验成就产品
查看>>