需要帮助从不同函数(C+;+;)输出内容 我对C++和编码都比较陌生。我试图做一个基本的多选类型的练习游戏,但我遇到了一个难题
程序也没有输出我想要的东西。代码如下:需要帮助从不同函数(C+;+;)输出内容 我对C++和编码都比较陌生。我试图做一个基本的多选类型的练习游戏,但我遇到了一个难题,c++,C++,程序也没有输出我想要的东西。代码如下: #include <iostream> #include <cstdlib> #include <ctime> #include <string> using namespace std; void sword(int damage); void fists(int damage); static int enemyHealth = 250; int main() { srand(time(0
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
using namespace std;
void sword(int damage);
void fists(int damage);
static int enemyHealth = 250;
int main() {
srand(time(0));
string SOF; //Abreveation for "Sword Or Fists"
cout << "You will be fighting a mean bad guy. Are you using a sword, or your fists?\n";
while (SOF != "sword" && SOF != "fists"){
cout << "Please enter your choice of either 'sword' or 'fists': ";
cin >> SOF;
}
cout << "Okay! Time to fight! \n";
if (SOF == "fists") {
void fists();
}
else if (SOF == "sword") {
void sword();
}
else{ (NULL); }
cout << "Congratulations! You have vanquished that foul beast!\n";
system("pause");
}
//This is for when the user chooses 'sword'
void sword(int damage = rand() % 100 + 50) {
while (enemyHealth > 0){
cout << "You deal " << damage << " damage with your sharp sword. \n";
enemyHealth -= damage;
}
}
//This is for when the user chooses 'fists'
void fists(int damage = rand() % 10 + 4) {
while (enemyHealth > 0){
cout << "You deal " << damage << " damage with your womanly fists. \n";
enemyHealth -= damage;
}
}
但我希望它输出用拳头或剑造成的伤害
如果我能得到一些帮助,那就太棒了。谢谢 要调用函数,不要编写
void fists()代码>,刚刚
fists();
(您拥有的是一个声明,它在这里没有任何有用的效果,而不是一个调用。)要调用该函数,请不要编写void fists()代码>,刚刚
fists();
(您所拥有的是一个声明,在这里没有任何有用的效果,而不是一个调用。)void fists()代码>是一个声明,不是调用,改为fists()代码>和剑()代码>
其他需要注意的事项:
- 默认参数在
main
之前的函数声明中声明(或者只是将整个函数移到那里)
< LI> C++中的缺省参数被计算一次,所以所有的“命中”在代码中都是相同的。
- 局部变量名称通常不以大写字母命名,
SOF
看起来像是一个#define
d常量之类的
无效拳头()代码>是一个声明,不是调用,改为fists()代码>和剑()代码>
其他需要注意的事项:
- 默认参数在
main
之前的函数声明中声明(或者只是将整个函数移到那里)
< LI> C++中的缺省参数被计算一次,所以所有的“命中”在代码中都是相同的。
- 局部变量名称通常不以大写字母命名,
SOF
看起来像是一个#define
d常量之类的
回答得好。我还建议在else{(NULL);}中省略(NULL)}非常感谢您的回复,但是现在我已经纠正了这个错误,我得到了一个不同的错误:错误C2660:“fists”:函数不接受0个参数,我也收到了“剑”的相同错误。我对我对C++的一些小知识表示感谢,谢谢你的帮助。@ VulyMcdodo-这是因为默认参数应该在上面的代码>主< /代码>的声明(也见其他建议的答案)AHHHH我明白。非常感谢你,好先生。程序现在运行得很好。回答得好。我还建议在else{(NULL);}中省略(NULL)}非常感谢您的回复,但是现在我已经纠正了这个错误,我得到了一个不同的错误:错误C2660:“fists”:函数不接受0个参数,我也收到了“剑”的相同错误。我对我对C++的一些小知识表示感谢,谢谢你的帮助。@ VulyMcdodo-这是因为默认参数应该在上面的代码>主< /代码>的声明(也见其他建议的答案)AHHHH我明白。非常感谢你,好先生。程序现在运行得很好。非常感谢您的响应,但是现在我已经纠正了这个错误,我得到了一个不同的错误:错误C2660:“fists”:函数不接受0个参数,我也收到了“剑”的相同错误。我对我的C++知识表示歉意,谢谢你的帮助。非常感谢你的回复,但是现在我已经纠正了这个错误,我得到了一个不同的错误:错误C2660:“拳头”:函数不需要0个参数,我也收到同样的错误。我对我的C++知识很抱歉,谢谢你的帮助。