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

Modulos / Arquivos


EDUCTD

Pergunta

Olá pessoal, eu comecei há uns dias atrás a estudar a linguagem C, mas nas minhas pesquisas não encontrei como trabalhar com vários arquivos em C. Exemplo tenho o aqruivo principal EX. Menu.c, nesse arquivo tem várias opções para chamar outro, Ex: quero chamar a rotina de cadastro de clientes que seria CADCLI.c. Como faço para chamar esse arquivo no Menu.c. Tenho experiência em Clipper (para chamar no Clipper é so colocar a instrução Do e o nome do arquivo .prg),Delphi(Application.createform(Tform,form);), etc. mas não tenho em C como fazer. favor alguém puder me ajudar eu agradeço desde já.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Arquivo cadcli.c

int cadastrar(int codigo) {
    return 1;
}
Arquivo menu.c
int cadastrar(int codigo); /* declaração do protótipo da função */

int considerar_opcao(char opcao) {
  if(opcao == 'c') {
    cadastrar(0);
    return 1;
  }

  return 0; /* opção inválida */
}
No C, você pode chamar funções de outros arquivos. Para fazer isto, entretanto, é necessário o nome delas e seu protótipo. Veja as etapas da compilação: Código fonte -> Compilador -> Linker -> ... Falando de uma forma simplificada: O compilador apenas precisa saber quais funções existem e como elas "agem". Neste caso, no arquivo menu.c, ele precisa saber que a função cadastrar existe e como ela pode ser chamada. Pouco importa onde ela reside. Você apenas a declara. Na etapa do linker é onde é feita esta ligação. Quando você chama a função cadastrar no arquivo menu.c, o linker procura a definição dela (que está no arquivo cadcli.c) e liga a sua declaração com a definição. No C, é padrão utilizar a seguinte estrutura: matematica.h
#ifndef MATEMATICA_H
#define MATEMATICA_H
// os chamados include guards. se não souber o que são e o que fazem, leia sobre.

// _declaração_ da função multiplicarPorDois
int multiplicarPorDois(int numero);

#endif
matematica.c
#include "matematica.h"

// _definição_ da função multiplicarPorDois
int multiplicarPorDois(int numero) {
  return numero * 2;
}
principal.c
#include <stdio.h>
#include "matematica.h" // pega a _declaração_ da função multiplicarPorDois

int main() {
  int n;

  printf("Digite um número\n");
  scanf("%d", &n);
  printf("n vezes dois é igual a %d.", multiplicarPorDois(n));
  
  return 0;
}

E aí você compila ambos, juntos. (se você estiver usando uma IDE, ela fará isso automaticamente para você)

Um exemplo utilizando o gcc, sobre como compilar: gcc -o pordois principal.c matematica.c

Abraços!

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,4k
×
×
  • Criar Novo...