Objetivo: Ler um nome qualquer escrito na tela e depois usa-lo para imprimir uma mensagem. Como eu fiz:
Criei a string _nome.
Usei a função cin.getline para que o nome digitado seja salvo na string _nome.
Usei o COUT para imprimir uma mensagem com o conteúdo da string _nome.
Resultado/Problema: Aconteceu o esperado, o nome digitado é salvo e depois impresso.Menos pelo fato de que nomes com acento como por exemplo "FLÁVIO", estão sendo salvos errado na string: "FL VIO". O que eu tentei fazer:
Testei colocar direto o nome "FLÁVIO" no COUT, e foi impresso corretamente "FLÁVIO", então o problema não é na hora de imprimir.
Testei definir antes de copilar que a string _nome=="FLÁVIO", e também foi impresso corretamente, então o problema também não é com a string.
Testei trocar a string _nome por char _nome[50], mas deu na mesma, então mais uma vez conclui que o problema não é na string.
Não sei muito mais o que fazer, parece que o erro está na hora de ler o nome..
#include <iostream>#include <cstdlib>#include <clocale>#include <string>using namespace std;class telas {public:void tela1() {char _nome[50]; //Criei a variável que deve guardar um nome.cout <<" Criado com: Code::Blocks v13.12"<<endl;cout <<"\n Digite seu nome e pressione enter: ";cin.getline(_nome,50);//Solicitei que fosse digitado um nome na telacout <<" \n"<<endl;cout <<" Seja bem vindo(a) "<<_nome<<"!"<<endl;//E então imprimi um texto com o conteúdo da variável _nome