Math 在减法情况下有问题(在随机生成器中使num3始终大于num4)。有人知道怎么做吗 #包括 #包括 #包括 #包括“formatNumber.h” 使用名称空间std; int main() { 智力选择; 整数num1、num2、num3、num4、num5、num6; 智力问题; 无符号种子=时间(0); srand(种子); cout
或者,您可以只添加一个Math 在减法情况下有问题(在随机生成器中使num3始终大于num4)。有人知道怎么做吗 #包括 #包括 #包括 #包括“formatNumber.h” 使用名称空间std; int main() { 智力选择; 整数num1、num2、num3、num4、num5、num6; 智力问题; 无符号种子=时间(0); srand(种子); cout,math,random,menu,switch-statement,operator-keyword,Math,Random,Menu,Switch Statement,Operator Keyword,或者,您可以只添加一个if子句来检查较大的数字,如果num4大于num3,则交换它们 或者,您可以始终对num3和num4求和,并将总和用作较大的数字,即num3,然后按原样使用num4 (这在某种程度上相当于在num3中添加一个min/楼层(相当于num4)。有关如何在某个范围内生成随机数,请参阅。) 但是,可能会出现溢出问题。因此,不,第一种方法还是更好。或者,您可以添加一个if子句来检查更大的数字,如果num4大于num3,将它们交换到您应该了解的位置。但正如Tacocate所说,最简单的
if
子句来检查较大的数字,如果num4
大于num3
,则交换它们
或者,您可以始终对num3
和num4
求和,并将总和用作较大的数字,即num3
,然后按原样使用num4
(这在某种程度上相当于在num3
中添加一个min
/楼层
(相当于num4
)。有关如何在某个范围内生成随机数,请参阅。)
但是,可能会出现溢出问题。因此,不,第一种方法还是更好。或者,您可以添加一个
if
子句来检查更大的数字,如果num4
大于num3
,将它们交换到您应该了解的位置。但正如Tacocate所说,最简单的事情是生成两个数字,必要时交换它们。
#include<iostream>
#include<iomanip>
#include<cstdlib>
#include"formatNumber.h"
using namespace std;
int main()
{
int choice;
int num1, num2, num3, num4, num5, num6;
int problem;
unsigned seed = time(0);
srand(seed);
cout << "This program will help you learn addition, subtraction,\n";
cout << "multiplication, and division. Press any key to continue." << endl;
cin.get();
do
{
cout << "Choose which math you would like to work on." << endl;
cout << "--------------------------------------------" << endl;
cout << "1. Addition\n";
cout << "2. Subtraction\n";
cout << "3. Multiplication\n";
cout << "4. Quit program\n";
cout << endl;
cout << "Choose 1,2,3,or 4: ";
cin >> choice;
switch(choice)
{
case 1: problem = 0;
num1 = rand() % 11;
num2 = rand() % 11;
while (problem != 999)
{
cout << "How much is " << num1 << " plus " << num2 << " (999 to exit)? ";
cin >> problem;
if ( problem == 999 )
break;
if ( problem == (num1 + num2) )
{
switch(rand() % 4)
{
case 0: cout << "Very good!\n";
break;
case 1: cout << "Nice work!\n";
break;
case 2: cout << "Excellent!\n";
break;
case 3: cout << "Keep up the good work!\n";
break;
}
num1 = rand() % 11;
num2 = rand() % 11;
}
else
{
switch(rand() % 4)
{
case 0: cout << "No. Please try again\n";
break;
case 1: cout << "Sorry. That's not it\n";
break;
case 2: cout << "No. Don't give up\n";
break;
case 3: cout << "Not yet. Keep trying\n";
break;
cout << "How much is " << num1 << " plus " << num2 << "(999 to exit)? ";
cin >> problem;
}
}
}
break;
case 2: problem = 0;
num3 = rand() % 11;
num4 = rand() % 11;
while (problem != 999)
{
cout << "How much is " << num3 << " minus " << num4 << " (999 to exit)? ";
cin >> problem;
if ( problem == 999 )
break;
if ( problem == (num3 - num4) )
{
switch(rand() % 4)
{
case 0: cout << "Very good!\n";
break;
case 1: cout << "Nice work!\n";
break;
case 2: cout << "Excellent!\n";
break;
case 3: cout << "Keep up the good work!\n";
break;
}
num3 = rand() % 11;
num4 = rand() % 11;
}
else
{
switch(rand() % 4)
{
case 0: cout << "No. Please try again\n";
break;
case 1: cout << "Sorry. That's not it\n";
break;
case 2: cout << "No. Don't give up\n";
break;
case 3: cout << "Not yet. Keep trying\n";
break;
cout << "How much is " << num1 << " plus " << num2 << "(999 to exit)? ";
cin >> problem;
}
}
}
break;
case 3: problem = 0;
num5 = rand() % 11;
num6 = rand() % 11;
while (problem != 999)
{
cout << "How much is " << num5 << " times " << num6 << " (999 to exit)? ";
cin >> problem;
if ( problem == 999 )
break;
if ( problem == (num5 * num6) )
{
switch(rand() % 4)
{
case 0: cout << "Very good!\n";
break;
case 1: cout << "Nice work!\n";
break;
case 2: cout << "Excellent!\n";
break;
case 3: cout << "Keep up the good work!\n";
break;
}
num5 = rand() % 11;
num6 = rand() % 11;
}
else
{
switch(rand() % 4)
{
case 0: cout << "No. Please try again\n";
break;
case 1: cout << "Sorry. That's not it\n";
break;
case 2: cout << "No. Don't give up\n";
break;
case 3: cout << "Not yet. Keep trying\n";
break;
cout << "How much is " << num1 << " plus " << num2 << "(999 to exit)? ";
cin >> problem;
}
}
}
break;
case 4: cout << "Thank you and have a good day!\n";
break;
default : cout << "Invalid response! please choose (1,2,3,4,or 5)." << endl;
cin >> choice;
}
}while ( choice != 4 );
cin.get();
return 0;
}