Следующий код в случае «Y» или «y» вызывается функция randStats(), и после того, как функция возвращается, мне нужно, чтобы она выполняла код под вызовом функции в случае коммутатора , но это не так. Это может быть проблемой компилятора, поскольку в прошлом у меня были проблемы с 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()' возвращается? Это похоже на единственное объяснение. – Barmar
В файле randstats.cpp я связан с ideone здесь http://ideone.com/Rx3Ig9 –
См. Функции 'std :: toupper' и' std :: tolower', поэтому вы можете преобразовать в один случай и сделать 2 сравнения вместо 4. –