Jump to content
Fórum Script Brasil
  • 0

Erro no Código


Fpslevelup

Question

#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 to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...