Estou, a título de aprendizagem, fazendo um joguinho de texto em C , no entanto empaquei logo no inicio
string nome;
int pv,str,edu,cons,car,dex;
bool name=false;
pv=0;
str=0;
edu=0;
cons=0;
Quero que retorne uma mensagem de "erro" solicitando o jogador a digitar o nome para prosseguir, estou usando o codigo acima, quero saber onde errei, pois não esta retornando o que eu pedi.
Obrigado
car=0;
dex=0;
cout<<"Digite o nome de seu personagem: ";
cin>>nome;
while(name=false && nome==""){
cout<<"Por favor digite o nome de seu personagem: "<<"\n";
cin>>nome;
Oi João, eu fiz um código completo aqui para vc ver, ficando assim:
_____________________
#include<iostream>
using namespace std;
int main(){
string nome;
cout<<"Digite o nome de seu personagem: ";
do{
getline(cin, nome);
if(nome.empty()){
cout<<"O valo está vazio, digite o nome novamente: \n";
}
}while(nome.empty());
}
___________________
Repare que usei getline no lugar de cin, usei do-while para o código ficar mais simples e usei empty para verifar se string está vazia.
Tem uma discussão aqui que pode te ajudar. Ok? Abraço!