zawada Opublikowano 13 Marca 2005 Zgłoś Opublikowano 13 Marca 2005 (edytowane) 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 13 Marca 2005 przez zawada Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sid Opublikowano 13 Marca 2005 Zgłoś Opublikowano 13 Marca 2005 (edytowane) 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 13 Marca 2005 przez Sid Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
zawada Opublikowano 13 Marca 2005 Zgłoś Opublikowano 13 Marca 2005 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 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...