C 网球得分跟踪器
C++ Tennis Score Tracker
本文关键字:跟踪 更新时间:2023-10-16
参加大学中C 课程的简介,我们将这个项目'模型'网球游戏。
用户首先需要输入玩家赢得的概率。然后生成1到100之间的数字,直到玩家获得超过4分,并且比其他玩家多2分。
我的问题是,有时在50%的获胜率区域中,输出的输出为4-4。
我想知道为什么会发生这种情况?任何帮助将不胜感激!
int prob;
int scoreA = 0;
int scoreB = 0;
int randNB = 0;
srand(time(NULL));
cout <<"---------------n"
"FAKE TENNIS!n"
"---------------" <<endl;
cout <<"What is the chance that player 'A' will win a point?(Enter whole #between 1 - 100): " ;
cin >> prob;
do{
if((scoreA >= 4 || scoreB >= 4) && ((scoreA - scoreB) >= 2 || (scoreB - scoreA) >= 2)) break;
randNB = rand()%100+1;
if (randNB <= prob){
cout<<"A";
scoreA++;
}
else if(randNB > prob){
cout<<"B";
scoreB++;
}
}
while((scoreA <= 3|| scoreB <= 3) && ((scoreA - scoreB) !=2 || (scoreB - scoreA) !=2 ));
cout<<"The final score is " <<scoreA <<" (A) - " << scoreB <<" (B)" <<endl;
if(scoreA > scoreB){
cout <<"A is the winner!!!";
}
else{
cout <<"B is the winner!!!";
}
return 0;
}
您已经写了两次终结测试。
曾经作为循环内部的正(正确),并且在循环末端为负。
1)仅写一次。("断裂"将结束循环。)也就
2)如果要写两次,请在第二个测试中检查<2
而不是!= 2
。x> = 2的否定不是x!= 2
相关文章:
- 光线跟踪器灯光反射错误
- 人脸跟踪arduino代码的优化
- 跟踪滚动条上的鼠标事件
- 如何使用新运算符跟踪在循环中创建的 QLabel
- C++:跟踪类对象
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 跟踪日志中的T.11803()是什么意思?
- 我能做些什么来跟踪矢量元素?
- 两个进程可以通过跟踪附加到同一个 PID 吗?
- 提升堆栈跟踪不显示函数名称和行号
- cygwin_exception::open_stackdumpfile:将堆栈跟踪转储到 class4.exe.sta
- 如何按指针查看堆栈跟踪
- WinDbg 不显示某些小型转储文件的完整堆栈跟踪
- C++ MFC 跟踪事件调用
- 是否可以/希望创建不可复制的共享指针模拟(以启用weak_ptr跟踪/借用类型语义)?
- 使用 Dijkstra 算法跟踪两个节点之间的最短路径
- 发布代码的 gdb 堆栈跟踪可读性如何影响 x64?
- MATLAB:跟踪imufilter对象中的状态变化
- mingw32-make 使用"MinGW Makefiles"生成器跟踪 CMAKE 无法将可执行文件链接到对象库
- GDB 8.1 无法在单线程简单程序中跟踪 std::string 变量的值