小学生测验系统设计
面向小学12年级学生,随机选择两个整数和加减法形成算式要求学生解答。功能要求:2年级的水平,只允许进行50以内的加减法,不允许两数之
(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;
(2)确保算式没有超出1
和或之差超出0~50的范围,负数更是不允许的;
(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如
果三次机会结束则输出正确答案:
(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第
三次输入正确答案得5分,否则不得分;(5)总成绩90以上显示“SMART”
(6) 80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”
小学生测验系统设计,求解题技巧
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 编程乐学 2023-12-19 18:56关注
#include <iostream> #include <cstdlib> #include <ctime> int main() { int score = 0; srand(time(0)); for (int i = 0; i < 10; i++) { int num1 = rand() % 51; int num2 = rand() % 51; char op = (rand() % 2 == 0) ? '+' : '-'; int result = (op == '+') ? num1 + num2 : num1 - num2; std::cout << "Question " << i+1 << ": " << num1 << " " << op << " " << num2 << " = ?" << std::endl; for (int j = 0; j < 3; j++) { int answer; std::cout << "Enter your answer: "; std::cin >> answer; if (answer == result) { if (j == 0) score += 10; else if (j == 1) score += 7; else score += 5; break; } else { if (j == 2) std::cout << "Wrong answer! The correct answer is " << result << "." << std::endl; else std::cout << "Wrong answer! Please try again." << std::endl; } } } std::cout << "Your score: " << score << std::endl; if (score >= 90) std::cout << "SMART" << std::endl; else if (score >= 80) std::cout << "GOOD" << std::endl; else if (score >= 70) std::cout << "OK" << std::endl; else if (score >= 60) std::cout << "PASS" << std::endl; else std::cout << "TRY AGAIN" << std::endl; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
- ¥15 怎么把512还原为520格式
- ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
- ¥15 求高通平台Softsim调试经验
- ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
- ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
- ¥15 栅极驱动低侧烧毁MOSFET
- ¥30 写segy数据时出错3
- ¥100 linux下qt运行QCefView demo报错
- ¥50 F1C100S下的红外解码IR_RX驱动问题