Ir ao conteúdo

Posts recomendados

Postado

Boa noite, estou fazendo um programa para meu curso e o programa deu erro ao ser compilado. Segue aí embaixo os arquivos:

 

introcomp_main.c

#include <stdio.h>

#include "banco.h"

int main(){

    int n;

    scanf("%d", &n);

    Cliente clientes[n]; 

    for(int i = 0; i < n; i++){

        cadastraCliente(clientes, i);

    }

    float media = 0;

    for(int i = 0; i < n; i++){

        media+=saldoCliente(clientes, i);

        imprimeSaldo(clientes, i);

    }

    printf("Media dos Salarios: %.2lf\n", media/(float)n);

    return 0;

}

 

banco.h

#ifndef BANCO_H
#define BANCO_H

typedef struct {
    char nome[51];
    char cidade[51];
    int conta;
    double saldo;

}Cliente;

     void cadastraCliente(Cliente clientes[],int i);
    
    int saldoCliente(Cliente clientes[], int i);
    
    void imprimeSaldo(Cliente clientes[],int i);
    
    
#endif

 

banco.c

#include <stdio.h>
#include "banco.h"

void cadastraClientes(Cliente clientes[], int i)
{
    scanf("%d %s %*c %s %lf", &clientes[i].conta, clientes[i].nome, clientes[i].cidade, &clientes[i].saldo);
}

int saldoCliente(Cliente clientes[], int i)
{
    int media=0;
    media=clientes[i].saldo;
    return media;
}

void imprimeSaldo(Cliente clientes[], int i)
{
    {
        printf("Cliente %s mora em %s e tem R$%lf na conta %d", clientes[i].nome, clientes[i].cidade, clientes[i].saldo, clientes[i].conta);
    }
}

 

 

makefile

 

all: compila executa
compila:
    gcc -c banco.c
    gcc -c introcomp_main.c
    gcc -o introcomp_main banco.o introcomp_main.o
    
executa:
    ./introcomp_main
limpa:
    rm *.o

 

erro no terminal

 

gcc -c banco.c
gcc -c introcomp_main.c
gcc -o introcomp_main banco.o introcomp_main.o
introcomp_main.o:introcomp_main.c:(.text+0xc2): undefined reference to `cadastraCliente'
collect2.exe: error: ld returned 1 exit status
make: *** [compila] Error 1

 

Alguém poderia dar um help aí? Obs: não estudamos ponteiros ainda, então por precaução tentem fazer de tudo pra não usar..

obrigado!

Postado

Era isso mesmo @isrnick, não acredito que era um erro tão bobo kkkkkk, mas valeu mesmo, noixx

  Em 13/11/2018 às 22:21, isrnick disse:

O problema parece ser que no banco.c você definiu a função com o nome cadastraClientes, com o s no final, mas no resto do código está sem s.

Expandir  

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!