Ir para conteúdo
Fórum Script Brasil
  • 0

Erro no Código


Fpslevelup

Pergunta

#include <stdio.h>
#include <stdlib.h>
char nome(void),idade(void), cor(void)
{
printf("Bem vindo /n");
printf("Formulario /n");
//inicio formulario
printf("Qual é o seu nome: /n");
//name
scanf("%d /n", &nome);
//teclado
printf("Quantos anos voce tem: /n");
//anos
scanf("%d /n", &idade);
//teclado
printf("Qual a sua cor favorita: /n");
//cor
scanf("%d /n", &cor);
//teclado
printf("aki: /n",&nome, &idade, &cor);
// formulario
return 0;
}
int main()
{
return 0;
system ("pause");
}
MAIS APARARECEU ISTO NO FINAL
-------------- Build: Debug in formulariodiadia (compiler: Copy of Borland C++ Compiler (5.5, 5.82))---------------
ilink32.exe -q -ap -v -LC:\Borland\BCC55\lib -LC:\Borland\BCC55\lib\psdk c0x32 obj\Debug\main.obj,bin\Debug\formulariodiadia.exe,,cw32mt.lib import32.lib,,
Error: Unresolved external '_idade' referenced from C:\DOCUMENTS AND SETTINGS\JORDAN\DESKTOP\PROGRAMAS\FORMULARIODIADIA\OBJ\DEBUG\MAIN.OBJ
Error: Unresolved external '_nome' referenced from C:\DOCUMENTS AND SETTINGS\JORDAN\DESKTOP\PROGRAMAS\FORMULARIODIADIA\OBJ\DEBUG\MAIN.OBJ
Process terminated with status 2 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Olá !

Sou iniciante em C por isso não acho que vou ser muito util, mas tentei fazer algumas altereções no seu código, que funcionam de forma parcial no meu computador!

#include <stdio.h>
#include <stdlib.h>

    char nome;
    int idade;
    char cor;

   int main()

{
    printf("Bem vindo \n");

    printf("Qual é o seu nome: \n");
    scanf("%s", &nome);

    printf("Quantos anos voce tem: \n");
    scanf("%d", &idade);

    printf("Qual a sua cor favorita: \n");
    scanf("%s", &cor);

    printf("Você Digitou: %s, %d, %s",&nome, &idade, &cor);

    return(0);

 }


Bom, ate aqui o código funcionou quase que perfeitamente se nõo fosse o fato que ao exibir os valores informados pelo usuario eles venham de forma incorreta:

Ex: nome= marcos, idade= 25, cor= verde

resultado: erde 134520876 verde

Se alguém souber a solução ou o codigo executar em sistema igual ou diferente como windows, ficaria feliz em saber!

Ubuntu 14.04 GNU gcc 4.9.1 ? Codeblocks 13.12

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Acho não sei se interessa a mais alguém mas acho que consegui fazer o codigo, foi pura falta de atenção na declaração de char ! ! !

#include <stdio.h>
#include <stdlib.h>

    char nome[10];
    int idade;
    char cor[10];

   int main()

{
    printf("Bem vindo \n");

    printf("Qual é o seu nome: \n");
    scanf("%s", &nome);

    printf("Quantos anos voce tem: \n");
    scanf("%d", &idade);

    printf("Qual a sua cor favorita: \n");
    scanf("%s", &cor);

    printf("Seu nome é %s,você tem %d de idade e sua cor preferida é %s ! ! !",&nome, idade, &cor);

    return(0);

 }

Mas, o problema do valor da idade permanece se eu usar &idade ! ! ! Porquê?

Obrigado e ate mais !

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Se eu entendia bem EduardoVSF nenhum, só estava meio curioso para saber o porquê do codigo funcionar sem &idade, sendo que já vi outros codigos similares usando & em uma situação bem similar e funcionarem muito bem, e gostaria de saber se isto pode causar algum problema futuro ou ate mesmo se é algum problema com o meu sistema ! ! !

De qualquer forma sou iniciante e auto-didata em C e ainda tenho um longo caminho pela frente!

Obrigado ! ! !

A proposito Fpslevelup, acho que seria bom você trocar de compilador e talvez ate mesmo de IDE, quando eu comecei a estudar C eu sempre tinha problemas com esse compilador, se eu não me engano acho ate mesmo que o mesmo já não tem mais um grande suporte atual aos desenvolvedores.

Eu lhe aconselho a usar a IDE Codeblocks e o Compilador GNU gcc, eles são mais atuais com versões sendo lançadas periodicamente, alem de serem OpenSource e gratuitas, alem de existem versões tanto para o Windows quanto para o Linux!

Espero ter ajudado!

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Acho que entendi o problema causado pelo uso de &idade no ultimo printf.

Ainda não tive tempo de pegar em meus livros para ver se deixei algo para tras, mas cheguei a esta conclusão:

O motivo de idade no ultimo printf não precisar de & é o de que o & é usado neste e em outros casos para fazer referência (apontar) para o valor das variaveis char, cuja sintaxe neste caso é proxima a de um ponteiro, pois, nesta situação os vetores e os ponteiros tem uma sintaxe muito proxima, enquanto que idade faz referência ao valor inteiro digitado pelo usuario sendo este o motivo de o mesmo não precisar usar & para apontar para o valor da variavel idade, sendo tambem este o motivo de o valor idade aparecer errado quando usado o &, cujo apontamento aponta para uma parte inexistente ou sendo usada por outro programa!

Se possivel me corrijam, se eu estiver errado ou esqueci de mencionar algo mais!

Obrigado!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...