使用函数和中点的数字猜测器
Number guesser using function and midpoint
我正在使用函数和中点为数字猜测器编写一个程序,以找出选择的数字。我在编译时遇到问题,无法找出问题所在????
我的问题描述:
playOneGame
函数的返回类型应为 void。它应该 在 1 到 100 的范围内实现一个完整的猜谜游戏。
shouldPlayAgain
函数应具有布尔返回类型。它 应提示用户确定用户是否要再次播放, 读入一个字符,如果该字符是"y",则返回 true,并且 否则返回 false。此外,还应实现帮助程序函数
getUserResponseToGuess
,getMidpoint
。它们应该在内部调用 您的playOneGame
功能。
getUserResponseToGuess
.此函数应提示用户 短语"是吗?(h/l/c(:",值替换令牌 .它应该返回一个字符。字符应该是三个之一 可能的值:"h"、"l"或"c"。 它应该有以下内容 签名:char getUserResponseToGuess(int guess)
getMidpoint
.此函数应接受两个整数,并且应该 返回两个整数的中点。如果 中有两个值 范围的中间,那么你应该始终选择较小的 两者的。它应具有以下签名:int getMidpoint(int low, int high)
我的代码:
#include<iostream>
using namespace std;
void playOneGame;
char getUserResponseToGuess(int guess);
int getMidpoint ( int low, int high);
int main() {
do
{
playOneGame();
} while (shouldPlayAgain());
return 0;
}
void playOneGame
{
int a = 100;
cout << "nGuess a number between 1 and 100. " <<endl;
getUserResponseToGuess ( a);
}
char getUserResponseToGuess(int guess)
{
while (true)
{
int guess = getMidpoint(minimum, maximum);
std::cout << "nIs it [h]igher/[l]ower/[e]qual to " << guess << "? ";
char answer;
if (!(std::cin >> answer))
{
std::cerr << "error reading user input, program exitingn";
exit(1);
}
if (answer == 'h')
minimum = guess + 1;
else if (answer == 'l')
maximum = guess - 1;
else if (answer == 'e')
{
std::cout << "Well, isn't that nice.n";
return;
}
if (minimum > maximum)
{
std::cerr << "hey, you lied to me!n";
exit(1);
}
}
}
int getMidpoint ( int low, int high)
{
int mid;
mid = (low + high) / 2;
return mid;
}
void playOneGame;
不是函数前向声明。 void playOneGame();
是。这同样适用于函数定义。
此外,还应定义shouldPlayAgain()
并包含<stdlib.h>
,以便exit()
正常工作。
getUserResponseToGuess()
只有一个return
,而不是返回有用的东西,并且它不会在默认分支上返回任何内容。
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 函数在许多数字上转换为基数 1 时减去 2?
- 函数如何使用引用返回所需的数字?
- 当我尝试在 Main 中调用插入函数时,它不是取数字?
- C++ 函数,用于查找传入的 N 个数字的平均值、总和、最小值和最大值
- 如何在 setup() 函数中使用数字引脚转动电机?
- C++ python 中的函数返回数字而不是字符串
- 如何在不使用 C++ 中的数组或函数的情况下查找 N 位数字的所有排列
- 将 C 函数转换为 C++ 以检查数字是否有效
- 在C++中编程,将 3 个数字发送到一个函数,然后计算这 3 个数字的平均函数
- 是否有一个 std::set 函数来确定不超过数字 x 的最大元素?
- 在 c++ 中将数字转换为矢量数组的函数
- 使用带有一个参数函数的递归找到数字的平方
- 我想使用 std::stoi 函数在 cpp 中将字符串转换为整数,因为我想在字符串中找到不同数字的总和(在下级酶中)
- 为什么当我在 c++ 中运行函数时,我的代码显示数字 53
- 我有模板功能.通过使用函数std::for_each,用这个容器中的最大数字替换每个正数
- 如何用不同的参数类型和数字回调函数
- 我必须更改我的数字最后一个数字和第一个数字,但不要使用仅带有整数或循环的函数.例如从 12345 到 52341
- 素数检查 C++ 函数输出非素数的数字
- C++ 在地板函数之后以十六进制打印数字