Ir ao conteúdo
  • Cadastre-se

][Linked error] undefined reference to, como consertar?


Juan Peixoto
Ir à solução Resolvido por Midori,

Posts recomendados

Olá gente. Tive minha primeira aula de linguagem C ontem e meu professor já pediu um algoritmo com funções e parametros para construirmos, mas o algoritmo está com esse erro mencionado, além disso estou com uma séria dúvida na parte de declarar (não sei quando coloco char* ou char ou char [], etc.) então provavelmente é um erro relacionado a isso, a nomenclatura dos tipos.. valeu!

 

 
 
#include <cstdlib>#include <iostream>#include <stdio.h> #include <stdlib.h> using namespace std;void consultanome(int x,int xidade[100], char xnome[30][100], char xsexo[1][100]);void tela();void listaidade(int x,int xidade[100], char xnome[30][100]);void consultasexo(int x, char xsexo[1][100], char xnome[30][100]);int soma(int xidade[100], int x); int main(int argc, char *argv[]){    int res,x,y[100], xsoma = 0,num,p,xidade[100], quant = 0;    char nome[30],xnome[30][100],xsexo[1][100];    tela();    for (p = 0; p < 100; p++) {        printf("Digite o número.");        scanf("%d",&num);                                      switch (num)        {                                             case 1:                    printf("Digite a idade da pessoa.");                    scanf("%d",&xidade[p]);                    quant = quant + 1;                    printf("digite o nome da pessoa/n.");               gets (xnome[p]);               printf ("Digite o sexo da pessoa. m para homem e f para mulher.");               gets(xsexo[p]);               break;               case 2:                    consultanome(quant,xidade,xnome,xsexo);                    break;                    case 3:                    listaidade(quant,xidade,xnome);                    break;                    case 4:                    consultasexo(quant,xnome,xsexo);                    break;                    case 5:                    res = soma(xidade,quant);                    printf("A soma das idades é de %d", res);                    break;                    }                    }                                                                          #include <cstdlib>#include <iostream>#include <stdio.h> #include <stdlib.h>    void tela();{     printf(" ------------------------");    printf(" -1 - cadastrar----------");    printf(" ------------------------");    printf(" - 2 - consultar nome----");    printf("- -------------------------");    printf("- 3 - listar por idade---");    printf("---------------------------");    printf("----4 - listar por sexo----");    printf("---------------------------");    printf("---5 - soma das idades-----");    printf("---------------------------");    printf("-------6 - finalizar-------");    printf("---------------------------");}                                  #include <cstdlib>#include <iostream>#include <stdio.h> #include <stdlib.h> void listaidade(int x,int xidade[100],char  xnome[30][100]);{ int i,f,idadei,idadef,p;printf("Digite a idade inicial.");scanf("%d",&idadei);printf("Digite a idade final.");scanf("%d",&idadef);for (p = 0; p < x; p++) {    if (idadei == xidade[p]) {               i == p;               }               }               for (p = 0; p <= x; p++) {    if (idadef == xidade[p]) {               f == p;               }               }               printf("Listando por idade.");               printf("Obs. Será mostrado o nome da pessoa com idade inicial até final.");               for (p = 0; p < x; p++) {    if (p >= i && p <= f) {               printf("idade = %d, nome = %s", xidade[p], xnome[p]);               }               }               }              #include <cstdlib>#include <iostream>#include <stdio.h> #include <stdlib.h>                void consultanome(int x,int xidade[100], char xnome[30][100], char xsexo[1][100]) ;               {               int p,;                char nome[30];               printf("Digite o nome. /n");               gets (nome);               for (p = 0; p < x; p++) {    if (nome == xnome[p]) {               printf("A idade da pessoa é de %d anos", xidade[p]);               printf("O sexo da pessoa é %s",xsexo[p]);               }               }               }               #include <cstdlib>#include <iostream>#include <stdio.h> #include <stdlib.h>               int soma (int xidade[100], int x); {    int p;   int xvalor;    for (p=0; p<x; p++) {       xvalor +=xidade[p];    }    return xvalor; } #include <iostream>#include <stdio.h> #include <stdlib.h>               void consultasexo(int x, char xsexo[1][100], char xnome[30][100]);               {    int p;    printf("Obs. Homem = m e mulher = f");    for (p=0; p<x; p++) {       printf ("sexo = %s, nome = %s\n", xsexo[p] , xnome[p]);    } } system("PAUSE");    return EXIT_SUCCESS;}                             
Link para o comentário
Compartilhar em outros sites

Esse código está muito bagunçado, tem vários erros de caracteres em lugares indevidos e não segue as regras básicas de escopo.

Além disso você replica os includes ao longo do código. Isso não é necessário, basta colocar no início do código.

Nesse trecho por exemplo,

void consultanome(int x,int xidade[100], char xnome[30][100], char xsexo[1][100]) ;               {               int p,;
Essa vírgula após a declaração de p, não devia estar aí..

Outro trecho:

void tela(); {     printf(" ------------------------");
Esse ; após a tela() também não devia estar aí... E essa função está no escopo de main!

Faça uma revisão na estrutura do seu código e tente corrigir esses erros.

Link para o comentário
Compartilhar em outros sites

Achei o erro..

 

O problema foi que coloquei ";" depois das funções, o que fazia com que elas não fossem lidas, eu acho. 

Mas agora estou com um outro problema xD

1° Ele não lê o nome em "gets (nome)" (no consultanome e no main), ele já pede o sexo logo em seguida sem nem ler o nome.

2° quando roda o procedimento (listaidade), ele não mostra os valores que eu pedi em printf. 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...