Strona 1 z 1

[C] Problem z podziałem kodu na pliki

: 31 sty 2012, o 20:20
autor: Pneumokok
Witam!
Otóż mam problem z podziałem programu na pliki.
W skrócie:
Tworzę plik numeryczne.h i daję tam definicję:

Kod: Zaznacz cały

(...)
struct Student
{
    char imie[SIZEBUF];
    char nazwisko[SIZEBUF];
    struct PodstawyElektroniki PE;
    struct ZagadnieniaElektrotechniki ZE;
    struct JiTPr JiTP;
    struct SystemyOperacyjne SO;
    int ECTSsuma;
};

int Pokaz_Baze();
int Pokaz_Kto_Zal();
int Pokaz_Kto_NIE_zal();
int Pokaz_Wyn_Stud(char*);
int Dopisz_Studenta(struct Student*); //zrodlo bledu
W pliku numeryczne.c:

Kod: Zaznacz cały

(...)
int Dopisz_Studenta(struct Student* stud)
{
   // char tu potem bedzie kod 
    //FILE* plik=fo
    return 0;
}
Plik numeryczne.c załaczam do headera:

Kod: Zaznacz cały

#include "numeryczne.c"
A header w pliku głównym:

Kod: Zaznacz cały

#include "numeryczne.h"
Dostaję dość dziwny komunikat o błędzie:

Kod: Zaznacz cały

81 D:\Dev-Cpp\numeryczne.c [Warning] its scope is only this definition or declaration, which is probably not what you want
(...)
54 D:\Dev-Cpp\numeryczne.h conflicting types for 'Dopisz_Studenta' 
 82 D:\Dev-Cpp\numeryczne.c previous definition of 'Dopisz_Studenta' was here 
Struktura (także jej struktury składowe) jest więc znana wcześniej w pliku numeryczne.h, nie mam pojęcia w czym problem. Nie widzę też błedu w przekazanym argumencie do funkcji.

Z góry będę wdzięczny za każdą pomoc.
Pozdrawiam,
Pneumokok.

P.S.
Czepia się tylko tej jednej funkcji, gdyby chodziło o argument myślę że doczepiłby się także do Pokaz_Wyn_Stud(char*).

[C] Problem z podziałem kodu na pliki

: 31 sty 2012, o 23:05
autor: mikkuexc
Nie jestem pewny, ale wydaje mi się, że

Kod: Zaznacz cały

#include <numeryczne.c>
jest zbędne.

[C] Problem z podziałem kodu na pliki

: 1 lut 2012, o 00:15
autor: Afish
Pliki *.c mają załączać pliki nagłówkowe (*.h), a potem je należy skompilować. Załączanie pliku *.c jest raczej niepoprawne.

[C] Problem z podziałem kodu na pliki

: 1 lut 2012, o 11:40
autor: Pneumokok
Rozwiązałem inaczej - pliki pomocnicze *.c załączają swój header, po czym są przyłączane do pliku głównego. Ponoć tak też można.

[C] Problem z podziałem kodu na pliki

: 1 lut 2012, o 20:57
autor: abc666
Pneumokok, ale takie przyłączanie jest raczej pozbawione sensu i powoduje same problemy.