2022年小学数学运算游戏.docx
精选学习资料 - - - - - - - - - 学校数学运算嬉戏 C+版(Elementary school math games C+ Edition)#包含 iostream > < #包括<< CTime > #包括<文件 cstdlib > #包括<字符串 > #包括<<数学;”使用名称空间;双层(双精氨酸);国际 table;无效();无效 cut ;无效 mul ;无效 div ;/ / . 主函数. 名师归纳总结 - - - - - - -第 1 页,共 18 页精选学习资料 - - - - - - - - - 无效 main int key = 1;/ 掌握下面而循环的钥匙当(键 = 1 ) 系统(“CLS” );table 关键=; cout << “ *退出*” << endl ; / / . 界面函数. 国际 table / 进入界面及挑选(表函数) cout << “ 欢迎进入数学小嬉戏”<< endl ; / / 挑选栏名师归纳总结 cout << “ *” << endl ;第 2 页,共 18 页- - - - - - -精选学习资料 - - - - - - - - - cout << “ *加法:请输入 1 * ” << endl ;cout << “ *” << endl ;cout << “ *减法:请输入 2 * ” << endl ;cout << “ *” << endl ;cout << “ *乘法:请输入 3 * ” << endl ;cout << “ *” << endl ;cout << “ *除法:请输入 4 * ” << endl ;cout << “ *” << endl ;cout << “ *退出:请输入 0 * ” << endl ;cout << “ *” << endl ;int n ;char 的 3 ;/ / 3 只能( 0;_;_)或( _;0;_)或( _;_;0);而输入正确就为( 0 / 1 / 2 / 3 / 4 / 0;_)cout << “ 请输入你的挑选:” ;CIN;名师归纳总结 同时(s 1 )!=“ 0” ) | |(S 1 = =“ 0” &的 0 != 0 ” &第 3 页,共 18 页- - - - - - -精选学习资料 - - - - - - - - - 的 0 != 1 ” &的 0 != 2 ” &的 0 != 3 ” &的 0 != 4 )/ 保证得到正确输入( 0.1.2.3.4) cout <<“ 输入错误!再次输入:“ ;CIN; 假如( S 0 = = '0')返回 0;/ / 使用者要退出,返回0 给关键,终止主要函数中的而循环每组的 0 - '0';/ / 炭型转化为 int型开关( N)/ 加减乘除运算的挑选 案例 1:();系统(“ 华彩” );休息;案例 2:cut ;系统(“ 华彩” );休息;案例 3:mul ;系统(“ 华彩” );休息;案例 4:div ;系统(“ 华彩” );休息; return 1;/ 从加、减、乘、除函数挑选N / N 后退出加、减、乘、除函数;再返回 1 给关键,从而进入主要中循环进入界面函数 名师归纳总结 - - - - - - -第 4 页,共 18 页精选学习资料 - - - - - - - - - / / . 判定是否输入 Y或 N / N 及保证输入 Y或 N / N . 无效的 YN(char 的 ) CIN;同时(s 1 )!=“ 0” ) | |(S 1 = =“ 0” &的 0 != Y 和 S 0 != Y 和S 0 != n 和 s 0 != n )/ 保证得到正确输入( y.y.n.n) cout <<“ 输入错误!再次输入:“ ;cin>>s; / / . 判定正误(双型). 空那(双、双和、二重、计数、焦呆子 ) 假如(总和 = n )名师归纳总结 cout <<“ 答案正确;”<< endl << “ 连续新的题目请输入Y / Y ,第 5 页,共 18 页- - - - - - -精选学习资料 - - - - - - - - - 不连续请输入 N / N :” ;YN(呆子); 其他的计数+; / / .得到正确输入(你算得的答案)的函数.(如输入字母减字母或数字减字母就以后无论输入什么都显示为输入错误?)双 getrightinput 字符 s 80 ;int k;做正确的输入; k1;CIN;名师归纳总结 - - - - - - -第 6 页,共 18 页精选学习资料 - - - - - - - - - 对于( int = i 0;i < 80 ;i + + ) 假如( static_cast < >(int的 我 )> 64 和 static_cast < >(int的 我 )< 91 )/ 曾用此方法限制其他字符输入但不知为何结果出乎意料之外? cout << “ 输入错误!再次输入! :” ;k0; 假如( static_cast < >(int的 我 )> 96 和 static_cast < >(int的 我 )< 123)/ 此方法也有瑕疵:输入再输入 0 至 N-2 个数字也报告错误?输入 cout << “ 输入错误!再次输入! :” ;k0; 假如( k0)N(N3)个字母时后,> = n-1 个数才算输入正确!名师归纳总结 - - - - - - -第 7 页,共 18 页精选学习资料 - - - - - - - - - 打破; 当(k0);返回对( S);/ / 上面两个假如语句保证输入字母时报告错误,但输入字符时不会报告错误,且对(符时报告错误但失败) S)返回 0(曾尝试使电脑在输入字/ / . 加法函数 . 无效() 焦仔 3 ;)| | (呆子 0 = = Y)呆子 0 = Y;而(呆子 0 = = Y 系统(“ 华彩” );/ / 清屏srand (time (0);名师归纳总结 - - - - - - -第 8 页,共 18 页精选学习资料 - - - - - - - - - 双 n,m,和,计数 0;n = rand % 100 + 1;/ / 得到随机数M = rand % 100 + 1;/ / 得到随机数cout << “ 请输入结果“<< N <<“ +” <<我的<<“ :” ;getrightinput 总和=;那(N + M,和计数,打手);/ / 假如(计数 = = 1 )/ 错了一次时,计数才会是后才进入这里(上面正确者不进入这里) cout << “ 答案错误,请再次输入:” ;getrightinput 总和=;1,所以经那判定错误那(N + M,和计数,打手);/ / 错了一次或再判定对错 假如(计数 = = 2 )/ 错了两次时,计数才会是 2,So, after the ifRight judge the error to enter here the above is not correct here 名师归纳总结 - - - - - - -第 9 页,共 18 页精选学习资料 - - - - - - - - - Cout<< "the answer is wrong. Please enter again:" Sum=getRightInput ; IfRight n+m, sum, count, goOn; If count=3 / wrong three times, asking whether you want to continue cout<< "you've been wrong three times, and the correct answer is" <<n+m<<endl " Cout<< "continue new topic, please input N/n" Yn goOn; please enter" Y/y ", do not continue, / right or wrong is y/Y to exit the add, otherwise the function returns the interface table function, and then returned to normal from the table function main function. / /. subtraction function. 名师归纳总结 - - - - - - -第 10 页,共 18 页精选学习资料 - - - - - - - - - Void, cut Char goOn3; /145 GoOn0='y' While goOn0='y' | goOn0='Y' System "CLS" Srand time 0; Double, N, m, sum, count=0; N=rand %100+1; M=rand %100+1; Int t; Cout<< "Please, input, the, of, result, <<n<<" - "<<m<<"":" Sum=getRightInput ; IfRight n-m, sum, count, goOn; If count=1 名师归纳总结 - - - - - - -第 11 页,共 18 页精选学习资料 - - - - - - - - - Cout<< "the answer is wrong. Please enter again:" Sum=getRightInput ; IfRight n-m, sum, count, goOn; If count=2 Cout<< "the answer is wrong. Please enter again:" Sum=getRightInput ; IfRight n-m, sum, count, goOn; If count=3 cout<< "you've been wrong three times, and the correct answer is" <<n-m<<endl " Cout<< "continue new topic, please input N/n" please enter" Y/y ", do not continue, 名师归纳总结 - - - - - - -第 12 页,共 18 页精选学习资料 - - - - - - - - - Yn goOn; /177 / /. multiplication function. Void, mul Char goOn3; GoOn0='y' While goOn0='y' | goOn0='Y' System "CLS" Srand time 0; Double, N, m, sum, count=0; N=rand %100+1; M=rand %100+1; 名师归纳总结 - - - - - - -第 13 页,共 18 页精选学习资料 - - - - - - - - - Cout<< "Please, input, the, of, result, <<n<<, *" <<m<<":" Sum=getRightInput ; IfRight n*m, sum, count, goOn; If count=1 Cout<< "the answer is wrong. Please enter again:" Sum=getRightInput ; IfRight n*m, sum, count, goOn; If count=2 Cout<< "the answer is wrong. Please enter again:" Sum=getRightInput ; IfRight n*m, sum, count, goOn; 名师归纳总结 - - - - - - -第 14 页,共 18 页精选学习资料 - - - - - - - - - If count=3 cout<< "you've been wrong three times, and the correct answer is" <<n*m<<endl " Cout<< "continue new topic, please input N/n" Yn goOn; please enter" Y/y ", do not continue, / /. divide function. if the input 2/3, although the interface not, so when the user input 0. 66666 7 时仍报告错误 . void div char goon 3; goon 0 = 'y' output 0.666667, but actually while goon 0 = = 'y' | | goon 0 = = 'y' 名师归纳总结 - - - - - - -第 15 页,共 18 页精选学习资料 - - - - - - - - - system "cls" srand hour 0; double n, m, sum, count = 0; n = rand % 100 + 1; m = rand % 100 + 1; cout < < "please input the result of" < < n < < "/" < < m < < " 大于 5 位小数的舍去 5 位以后的数 :" n = n / m * 100000; / / 没用这行和下面两行时输入0. 66666 7时报告错误但他给出答案时却给0. 66666 7. 我推测前面的 0. 66666 7 只是显现出来的数而实际是 0. 66666666666666666, 故不等m = floor n; / / 我曾试过强制类型转换 如 double n, m; int t; t = n / m * 1000000; n = t / 1000000; cast < > 等方法 , 结果同上 . 得到 n. 也用 saatic _ n = m / 100000; / / 我曾是乘除 1000000; 但 n 左边 只显示小 数点后五位 , 所以改为 100000. sum = getrightinput ; ifright n, sum, count, goon; 名师归纳总结 - - - - - - -第 16 页,共 18 页精选学习资料 - - - - - - - - - if count = = 1 cout < < " 答案错误 , 请再次输入 :" sum = getrightinput ; ifright n / m, sum, count, goon; if count = = 2 cout < < " 答案错误 , 请再次输入 :" sum = getrightinput ; ifright n / m, sum, count, goon; if count = = 3 cout < < " 你已经错了三次 , 正确答案为 :" < < n < < final; cout < < " 连续新的题目请输入 y / y, 不连续请输入 n / n: ' yn goon; 名师归纳总结 - - - - - - -第 17 页,共 18 页精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 18 页