Skocz do zawartości
zawada

Podział Na Pliki W C

Rekomendowane odpowiedzi

Napisalem program do znajdowania liczb pierwszych z podanego przez uzytkownika przedzialu.

#include <stdio.h>int p,q,z;void podaj ( void );void znajdz ( int a, int b );int main ( void ) {  podaj();    printf("Oto liczby pierwsze z tego przedzialu...\n\n");  znajdz(p,q);  printf("\n");  return 0;}// znajduje  liczby pierwsze z przedzialu < a , b >void znajdz ( int a, int B) {  int i;    for ( i = 1; i < 4; i++ ) {    if ( ( i >= a ) && ( i <= b ) ) {       printf("\t%d\n", i);       z = 1;    }  }  for ( a; a <= b; a++ ) {    for ( i = 2; i < a/2; i++ ) {      if ( ( a % i ) == 0 ) break;    }    if ( (i == a/2) && (a != 4) ) {      printf("\t%d\n", a);      z = 1;    }  }  if ( z  == 0 ) printf("Nie znaleziono.\n");} // przypisuje zmiennym p i q dane wprowadzone przez uzytkownikavoid podaj ( void ) {  printf("Podaj dolna granice :\n\t");  scanf("%d", &p);  printf("Podaj gorna granice :\n\t");  scanf("%d", &q);}

Jak go dziele na pliki naglowkowe:

deklar.h - deklaracje zmiennych zewnetrznych i funkji

funkcje.h - definicje funkcji znajdz() i podaj ()

to jest wszystko ok. Kompiluje sie i dziala.

Zalezy mi na tym aby zamiast dawac naglowka z funkcjami zrobic je w oddzielnym pliku np: funkcje.c

Czy da rade tak wogule zrobic i jesli tak to jak ?

Edytowane przez zawada

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

dam przykład jak w wielu plikach miec zrodla.

 

main.c:

#include "funkcje.h"int main(){napisz();napisz2();return 0;}
funkcje.h:

int napisz();int napisz2();
funkcje.c:

int napisz(){puts("Napisałem!");}int napisz2(){puts("Napisałem!");}

I teraz kompilujesz:

gcc -o funkcje.o funkcje.cgcc -o main.o main.cgcc -o program main.o funkcje.o
Edytowane przez Sid

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Cos raczej nie dziala jak chce kompilowac funkcje.c to za kazdym razem wyskakuje:

/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../crt1.o(.text+0x18): In function `_start':../sysdeps/i386/elf/start.S:98: undefined reference to `main'collect2: ld returned 1 exit status

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...