gpt4 book ai didi

c++ - 代码在 Switch 内部的函数之后不执行

转载 作者:行者123 更新时间:2023-11-28 07:36:15 26 4
gpt4 key购买 nike

下面的代码在 Case 'Y' 或 'y' 中调用了函数 randStats() 并且在函数返回后我需要它来执行 Switch case 中函数调用下面的代码,但它没有这样做。这可能是一个编译器问题,因为我过去在使用 Codeblocks 时遇到过问题,新代码似乎被完全忽略,而其他一些则没有。

这是由下面的开关调用的函数本身的粘贴:http://ideone.com/Rx3Ig9

注意:据我所知这不是编码问题,而是代码被完全忽略的问题。

// newchar.cpp

#include <iostream>
#include "player.h"
#include "randstats.h"
#include "newchar.h"

int new_character()
{

std::cout << "\n\nCreating new character...";
std::cout << "\n\nClaim an alias for your character: ";
std::cin >> player.alias;

char x;

std::cout << "You have chosen " << player.alias << "\n";
std::cout << "Is this correct? [y/n]: ";
std::cin >> x;

switch(x)
{
case 'y':
case 'Y':
std::cout << "\nInserting " << player.alias << " into this hapless world of strife...";
std::cout << "\n\nRandomizing stats...\n" << std::endl;
randStats(); // randomize stats

//print new character information
std::cout << "Alias: " << player.alias << "Level: " << player.current_level << std::endl;
std::cout << "Stats: " << player.str << "STR " << player.dex << "DEX " << player.con << "CON " << player.intel << "INT " << player.wis << "WIS " << player.cha << "CHA " << std::endl;
break;
case 'n':
case 'N':
std::cout << "Aborting...\n";
break;
default:
break;

}

//update the database
//do it


return 0;
}

最佳答案

randstats.cpp中的第49行是

// remaining_points - x;

它应该取消注释并固定为:

remaining_points -= x;

用等号。

否则,它将永远循环。

关于c++ - 代码在 Switch 内部的函数之后不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16721818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com