Foto de João N.
João Lopes de há 3 anos
Enviada pelo
Site

Exercicio

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;

1 resposta
Professor Charly B.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 3 anos
Contatar Charly

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!

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Envie uma dúvida grátis
Resposta na hora da Minerva IA e de professores particulares
Enviar dúvida
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Precisa de outra solução? Conheça
Aulas particulares Encontre um professor para combinar e agendar aulas particulares Buscar professor