DoisReal 0 Denunciar post Postado Julho 9, 2010 [O código abaixo funciona perfeitamente. Eu coloco uma saudação e ele da a mensagem seguida da saudação definida pelo usuário: #include <iostream.h> // cout, cin #include <stdlib.h> #include <stdio.h> #include <conio.h> // getch printf #include <string.h> #include <windows.h> // COORD /*============================================================================*/ main () { char saudacao[100]; cout <<"Digite a sua saudacao: "; gets (saudacao); cout <<"\nSua saudacao eh: " << saudacao; getch(); } Porém este proximo código acontece um erro. Se eu optar pela opçao 1 ou 2 ele apenas aparece a frase e nao deixa o usuario definir um nome. #include <iostream.h> // cout, cin #include <stdlib.h> #include <stdio.h> #include <conio.h> // getch printf #include <string.h> #include <windows.h> // COORD /*============================================================================*/ char nome[50]; void entrada() { cout <<"Digite seu nome: "; gets (nome); cout <<"\nSua saudacao eh: " << nome; getch(); } void saida() { cout <<"Digite seu nome: "; gets (nome); cout <<"\nObrigado. Volte sempre Sr. " << nome; getch(); } main () { int opcao; cout <<"1 - Entrando"; cout <<"\n2 - Saindo"; cout <<"\n\nDigite sua opcao: "; cin >> opcao; if (opcao == 1) { entrada(); getch(); } else { saida(); getch(); } } Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Julho 9, 2010 Saque fora o '.h' dos headers. O tipo de retorno de main é int e deve ser explícito. problema1.cpp:23: warning: ISO C++ forbids declaration of ‘main’ with no type Não use gets. Decida-se entre usar coisas de C ou C++. Nenhum dos dois códigos compila aqui porque não existe nenhum namespace definido (using namespace std;) O teu problema é justamente o gets. Troque por cin e tire os getch que funciona. Compartilhar este post Link para o post Compartilhar em outros sites
DoisReal 0 Denunciar post Postado Julho 10, 2010 Olá Isis. Tirei o "gets" e adicionei o "cin" Porém se eu digitar "Carlos Alberto Parreira" Aparece somente "Carlos" Qual seria a solução ? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Julho 10, 2010 string a getline(cin, a); -------- char b[50]; cin.getline(b, 50); Compartilhar este post Link para o post Compartilhar em outros sites