C ++程序结束得太早了

时间:2013-05-16 15:05:38

标签: c++

我是c ++的新手,我写了这段代码。哪个是按此顺序设计的.. 1.请求姓名然后欢迎这个人 2.要求他们选择的武器 3.挑选随机数并损坏熊猫

我已经完成了所有这三个步骤。然后我决定也许我可以通过在我的rand()函数括号中使用变量来改变我的随机数的范围。这没有按计划运作,所以我试着回复。在此先收到任何帮助。我不知道如何通过互联网搜索这个,所以我来到这里..希望有人能发现我的问题。我正在使用netbeans IDE。

我的问题: 它首先要求我的名字,然后我输入我的名字,它欢迎我。但随后它完成了代码。在尝试其余代码之前。我的想法是,我显然错过了我本应该改变的东西。

Welcome to panda hunter! Please enter your name: Darryl
Welcome!, Darryl!

RUN SUCCESSFUL (total time: 3s)

但是我已多次查看它并且无法发现任何错误。另外我的想法是这条线路出了问题,因为这是它无法做到的地方并且进一步发展:

    cout << "Pick your weapon of choice! Then press enter to attack: ";

。这是整个文件内容:

#include <iostream>
#include <cstdlib>
#include <stdio.h>      /* printf, scanf, puts, NULL */
#include <stdlib.h>     /* srand, rand */
#include <time.h>

using namespace std;

string getName(){
    string name;
    cin >> name;
    return name;
}
string weaponChoice(){
    string weapon;
    cin >> weapon;
    return weapon;
}
int rand(){
    int damagePanda = rand() % 20 + 1;
    return damagePanda;
}
int main() {

    srand(time(0));
    int pandaHealth = 100;
    int userHealth = 100;   


    cout << ("Welcome to panda hunter! Please enter your name: ");
    cout << "Welcome!, " << getName() << "!" << endl;
    cout << "Pick your weapon of choice! Then press enter to attack: ";
    cout << "You surprise the panda with your " << weaponChoice() << ", dealing " <<   rand() << " damage!";
    pandaHealth = pandaHealth - rand();
    cout << "Panda has " << pandaHealth << " health remaining";

    char f;
    cin >> f;
    return 0; 
}

1 个答案:

答案 0 :(得分:10)

int rand(){
    int damagePanda = rand() % 20 + 1;
    return damagePanda;
}

递归通话。你可能在这里吹嘘。

编译器应该在这里警告过你!不知道为什么没有。

更改为

int myrand(){
    int damagePanda = rand() % 20 + 1;
    return damagePanda;
}

同时更改

cout << "You surprise the panda with your " 
<< weaponChoice() << ", dealing " <<   rand() << " damage!";

cout << "You surprise the panda with your "  
<< weaponChoice() << ", dealing " <<   myrand() << " damage!";

这也可能需要改变

pandaHealth = pandaHealth - rand();

最后一次更改可能取决于您的应用程序逻辑 - 我没有尝试理解它。