#include
#include
#include
#include
using std::cin;
using std::cout;
using std::endl;
//計(jì)算式 數(shù)量
int const Num = 10;
//計(jì)算式中 最大數(shù)
int const MaxNum = 10;
enum enOp{Add,Subtract,Multiply,Divide};
//加法
int addFun(int left,int right)
{
return left + right;
}
//減法
int subFun(int left,int right)
{
return left - right;
}
//乘法
int mulFun(int left,int right)
{
return left * right;
}
//除法
int divFun(int left,int right)
{
return left / right;
}
//將 枚舉類(lèi)型轉(zhuǎn)換為字符類(lèi)型,以便輸出.
char enum2char(enOp op)
{
switch (op)
{
case Add:
return '+';
case Subtract:
return '-';
case Multiply:
return 'x';
case Divide:
return '/';
}
return ' ';
}
//計(jì)算生成表達(dá)式的正確結(jié)果.
int myResult(int left,int right,enOp op)
{
switch (op)
{
case Add:
return addFun(left ,right);
case Subtract:
return subFun(left ,right);
case Multiply:
return mulFun(left ,right);
case Divide:
return divFun(left ,right);
}
return 0;
}
//檢查生成計(jì)算式的正確與否.其中 減法結(jié)果不能為負(fù)數(shù),除法結(jié)果不能為小數(shù).
bool checkFormula(int left,int right,enOp op)
{
switch (op)
{
case Add:
return true;
case Subtract:
{
if(left < right)
return false;
return true;
}
case Multiply:
return true;
case Divide:
{
if(double(left/right) != double(double(left)/double(right)))
return false;
return true;
}
}
return false;
}
//依據(jù)給定操作符,生成符合條件的表達(dá)式.
void getFormula(int* left,int*right,enOp op)
{
//srand(time(NULL));
for(;;)
{
*left = 1 + rand() % MaxNum;
*right = 1 + rand() % MaxNum;
if(checkFormula(*left,*right,op))
break;
}
}
int main()
{
//操作符左值
int left[Num];
//操作符右值
int right[Num];
//用戶(hù)輸入計(jì)算結(jié)果
int result[Num];
//操作符 +-*/
enOp oper[Num];
//正確答案?jìng)€(gè)數(shù)
int answerRight = 0;
cout
c++求解,一道關(guān)于計(jì)算機(jī)隨機(jī)產(chǎn)生10道四則運(yùn)算題
c++求解,一道關(guān)于計(jì)算機(jī)隨機(jī)產(chǎn)生10道四則運(yùn)算題
通過(guò)計(jì)算機(jī)隨機(jī)產(chǎn)生10道四則運(yùn)算題,兩個(gè)操作數(shù)為1~10之間的隨機(jī)數(shù),運(yùn)算類(lèi)型為隨機(jī)產(chǎn)生的加、減、乘、整除中的任意一種,如果輸入答案正確,則顯示“Right!”,否則顯示“Not correct!”,不給機(jī)會(huì)重做,10道題做完后,按每題10分統(tǒng)計(jì)總得分,然后打印出總分和做錯(cuò)題數(shù).
使用子函數(shù)實(shí)現(xiàn)兩個(gè)數(shù)相加的測(cè)試.此函數(shù)的輸入?yún)?shù)是兩個(gè)加數(shù),返回值是用戶(hù)運(yùn)算的正確與否(用1或者0表示).在此函數(shù)中首先讀入用戶(hù)輸入的加法結(jié)果,并與正確結(jié)果進(jìn)行比較.
intAddTest(int a, int b) ;
通過(guò)計(jì)算機(jī)隨機(jī)產(chǎn)生10道四則運(yùn)算題,兩個(gè)操作數(shù)為1~10之間的隨機(jī)數(shù),運(yùn)算類(lèi)型為隨機(jī)產(chǎn)生的加、減、乘、整除中的任意一種,如果輸入答案正確,則顯示“Right!”,否則顯示“Not correct!”,不給機(jī)會(huì)重做,10道題做完后,按每題10分統(tǒng)計(jì)總得分,然后打印出總分和做錯(cuò)題數(shù).
使用子函數(shù)實(shí)現(xiàn)兩個(gè)數(shù)相加的測(cè)試.此函數(shù)的輸入?yún)?shù)是兩個(gè)加數(shù),返回值是用戶(hù)運(yùn)算的正確與否(用1或者0表示).在此函數(shù)中首先讀入用戶(hù)輸入的加法結(jié)果,并與正確結(jié)果進(jìn)行比較.
intAddTest(int a, int b) ;
其他人氣:519 ℃時(shí)間:2020-09-28 04:48:41
優(yōu)質(zhì)解答
我來(lái)回答
類(lèi)似推薦
- 誰(shuí)有四則運(yùn)算練習(xí)題
- 四則運(yùn)算測(cè)試:每次運(yùn)行,只能做十道題,題目通過(guò)產(chǎn)生隨機(jī)數(shù)組成的兩位數(shù)的四則運(yùn)算式組成,
- 200四則運(yùn)算練習(xí)題
- 通過(guò)計(jì)算機(jī)隨機(jī)產(chǎn)生10道四則運(yùn)算題,兩個(gè)操作數(shù)為1~10之間的隨機(jī)數(shù),運(yùn)算類(lèi)型為隨機(jī)產(chǎn)生的加、減、乘、整除中的任意一種,如果輸入答案正確,則顯示“Right!”,否則顯示“Not correct!”,不給機(jī)會(huì)重做,10道題做完后,按每題10
- 四則運(yùn)算練習(xí)題 答案
- 為下面的字標(biāo)注音,并按其生母排序排列.
- 今年,小麗和爸爸的年齡比是6:19,兩人相差26歲,爸爸今年( )歲
- 扇形所在的圓的面積為S圓,則圓心角為n°的扇形面積S=
- 一道文言文的題目 求老師解答 快
- 他正在努力想一個(gè)更好辦法來(lái)解決這個(gè)問(wèn)題(figure 0∪t)英文翻譯
- 11-20的英語(yǔ)翻譯怎么寫(xiě)
- 寫(xiě)出命題“若(根號(hào)x-2)+(y+1)^2=0”,則x=2且y=-1的逆命題、否命題、逆否命題,并判斷它們的真假.
猜你喜歡
- 1地球上重1千克的物體到月球上重0.167千克,在月球上中12.5千克的物體,在地球上中多少千克?(保留整數(shù))
- 2一個(gè)圓柱形容器,底面半徑是10cm,將一個(gè)物體浸入容器內(nèi),水面上升1.5cm,物體體積是?
- 3“染色體”是什么?為什么叫 染色體?
- 41/15÷3.25+8/13× 4/15+4/13÷3.75
- 5形容舍不得離開(kāi)的成語(yǔ)
- 6電阻在電路中有何作用?
- 7巴蜀英才
- 8將質(zhì)量為1.15gNa用刺了孔的鋁箔包裹后放入水中,共收集到1.232L{標(biāo)況}氣體.
- 9語(yǔ)文反義詞(成語(yǔ))
- 10如圖,已知∠AOB=40°,點(diǎn)P關(guān)于OA、OB的對(duì)稱(chēng)點(diǎn)分別為C、D,CD交OA、OB于M、N兩點(diǎn),則∠MPN的度數(shù)是?
- 11若關(guān)于x的方程x2-(a2+b2-6b)x+a2+b2+2a-4b+1=0的兩個(gè)實(shí)數(shù)根x1,x2滿(mǎn)足x1≤0≤x2≤1,則a2+b2+4a的最小值和最大值分別為( ?。?A.12和5+45 B.-72和5+45 C.-72和12 D.-12
- 12一道數(shù)學(xué)三角函數(shù)幾何題目