peshe 0 Denunciar post Postado Janeiro 25, 2007 Pessoal, estou começando a fuçar em C/C++ e em meu primeiro programa eu tive um problema, eu estou usando o seguinte código: #include <stdio.h>int nome;main(void) { printf("Digite seu nome:"); scanf("%d", &nome); printf("\n\nSeu nome é: %d", &nome); return 0; } Quando eu testo e digito o meu nome, ele retorna um escrito que não da para ler, porque ja fecha a janela, quando eu o abro pelo DOS e digito o meu nome, ele retorna alguns números que não tem nada a ver com o que eu escrevi, por exemplo, se escrevo "Peshe" (sem aspas) ele retorna "4214816" (sem aspas),quando escrevo qualquer outra coisa, aparece os mesmo números; não tenho nem idéia de porque isso acontece. Alguém me ajuda com isso? E outra coisa: na janela não aparece escrito "seu nome é:...", aparece "Seu nome ú:..." Isso é normal? Té mais. Compartilhar este post Link para o post Compartilhar em outros sites
matt.cavotta 0 Denunciar post Postado Janeiro 25, 2007 nome no caso é uma string. assim, o programa muda um pouco: Pessoal, estou começando a fuçar em C/C++ e em meu primeiro programa eu tive um problema, eu estou usando o seguinte código: #include <stdio.h>char[50] nome;main(void) { printf("Digite seu nome:"); scanf("%s", &nome); printf("\n\nSeu nome é: %s", &nome); return 0; }Quando eu testo e digito o meu nome, ele retorna um escrito que não da para ler, porque ja fecha a janela, quando eu o abro pelo DOS e digito o meu nome, ele retorna alguns números que não tem nada a ver com o que eu escrevi, por exemplo, se escrevo "Peshe" (sem aspas) ele retorna "4214816" (sem aspas),quando escrevo qualquer outra coisa, aparece os mesmo números; não tenho nem idéia de porque isso acontece. Alguém me ajuda com isso?E outra coisa: na janela não aparece escrito "seu nome é:...", aparece "Seu nome ú:..." Isso é normal?Té mais.O fato de aparecer o 'é zoado' é coisa do DOS mesmo. Ele não entende a codificação que usamos. Compartilhar este post Link para o post Compartilhar em outros sites
peshe 0 Denunciar post Postado Janeiro 26, 2007 Cara, nao deu não, deu alguns erros:2 C:\C ++\nome.cpp expected unqualified-id before '[' token 2 C:\C ++\nome.cpp expected `,' or `;' before '[' token C:\C ++\nome.cpp In function `int main()': 8 C:\C ++\nome.cpp `nome' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears in.) Só umas perguntas, qual é a diferença entre 'int nome;' e 'char[50] nome;'? e no meu código eu usava "%d" no seu código está "%s", o que muda de um para outro?Té mais? Compartilhar este post Link para o post Compartilhar em outros sites
peshe 0 Denunciar post Postado Janeiro 26, 2007 Só uma coisa: eu consegui fazer o programa funcionar sem o [50] da segunda linha, ficou apenas: "char nome;"Falow Compartilhar este post Link para o post Compartilhar em outros sites
matt.cavotta 0 Denunciar post Postado Janeiro 26, 2007 char[50] nome;Eu errei a sintaxe:char nome[50]; Compartilhar este post Link para o post Compartilhar em outros sites
NorTheR 0 Denunciar post Postado Janeiro 31, 2007 Só uma coisa: eu consegui fazer o programa funcionar sem o [50] da segunda linha, ficou apenas: "char nome;" Falow Conseguiu pq o Dev-C++ (é esse mesmo que você usa?) não tem limite de buffer (bugsss..), o certo seria char nome[50], ou seja um nome de 50-1 caracteres (-1 é pq ele bota uma barra no fim ao você pressionar ENTER), colocando char nome, você está avisando que 'nome' só tem 1 letra, o que está errado.. certo? então para evitar erros de buffer de memoria no futuro, acostume-se a não forçar o compilador over-buffar, entendeu? Inteiro = %d char = %c string (cadeia de caracteres) = %s float (flutuante) = %f double = %lf Para usar acentos ou caracteres especiais, use a tabela ASCII, pegue o codigo nela (ex. 82) e bote: 'seu nome \x82' Compartilhar este post Link para o post Compartilhar em outros sites
nordi 1 Denunciar post Postado Janeiro 31, 2007 Cara o que ta erra e forma de converter a saida.... da uma zoiada ... http://www.dca.fee.unicamp.br/cursos/POOCPP/node26.html At+ http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites