用c++函数模版编写猜价格游戏
时间: 2023-08-12 07:08:00 浏览: 62
好的,我可以为您编写一个简单的猜价格游戏,使用C++函数模板来实现。
以下是代码实现:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
template <typename T>
void guessGame(T answer) {
int guess;
int tries = 0;
std::srand(static_cast<unsigned int>(std::time(nullptr))); // 初始化随机数生成器
int randomNumber = std::rand() % 100 + 1; // 生成1至100之间的随机数
std::cout << "我已经想好了一个价格,你猜是多少?" << std::endl;
do {
std::cin >> guess;
++tries;
if (guess > randomNumber) {
std::cout << "太高了,请再猜一次:" << std::endl;
} else if (guess < randomNumber) {
std::cout << "太低了,请再猜一次:" << std::endl;
} else {
std::cout << "恭喜你猜对了!价格是" << answer << ",你猜了" << tries << "次。" << std::endl;
}
} while (guess != randomNumber);
}
int main() {
guessGame(50); // 使用int类型进行猜价游戏
guessGame(99.99); // 使用double类型进行猜价游戏
return 0;
}
```
在这个函数模板中,我们使用了模板参数`T`,它可以是任何我们想要的类型。在`guessGame`函数中,我们生成一个1至100之间的随机数,并让用户猜这个价格是多少。每次猜测后,程序会判断用户输入的价格是太高了还是太低了,直到用户猜对为止。在猜对之后,程序会输出正确的价格和用户猜的次数。
在`main`函数中,我们使用两个不同的类型(int和double)进行了猜价游戏。由于我们使用了函数模板,所以我们可以轻松地对任何类型进行猜价游戏。