BOBTHEPAINTER
Grünschnabel
Hallo Leute
So hab irgendwie ein Verständnis Problem mit einem header File in C.
VOrab: Das programm wurde mit Devc++ geschrieben.
Also wie unten folgen wird, habe ich ein Projekt angelegt, welches Headerfile, und die Haupt c datei enthält(die alle sachen aufruft), und noch die c datei in der die Funktionen ausporgammiert ist.
Ich habe mir aus versehen die ganze Header Datei gelöscht, und das Prog. läuft trotzdem ohne problem? Warum denn?
Mann muss ja die header datei in dem haut c file inculden. wenn eine funktion aufgerufen wird in diesem haupt c file, dann bezieht sich der ja zuerst mal auf den header file und dann auf den c file der die funktionen enthält! oder?
kann mir das bitte jemand erklären, warum in dem fall die header datei anscheinend nicht notwendig ist, und wann sie notwendig wäre.
schonmal ein herzliches Dankeschön
Hier der Header file: rechner.h
hier der Haupt c file: Test.c
und hier der funktions c file: rechner.c
noch eine Frage: wann muss ich in der Header datei zB: #define rechner schreiben?
herzlichen dank nochmals!
MFG
So hab irgendwie ein Verständnis Problem mit einem header File in C.
VOrab: Das programm wurde mit Devc++ geschrieben.
Also wie unten folgen wird, habe ich ein Projekt angelegt, welches Headerfile, und die Haupt c datei enthält(die alle sachen aufruft), und noch die c datei in der die Funktionen ausporgammiert ist.
Ich habe mir aus versehen die ganze Header Datei gelöscht, und das Prog. läuft trotzdem ohne problem? Warum denn?
Mann muss ja die header datei in dem haut c file inculden. wenn eine funktion aufgerufen wird in diesem haupt c file, dann bezieht sich der ja zuerst mal auf den header file und dann auf den c file der die funktionen enthält! oder?
kann mir das bitte jemand erklären, warum in dem fall die header datei anscheinend nicht notwendig ist, und wann sie notwendig wäre.
schonmal ein herzliches Dankeschön
Hier der Header file: rechner.h
Code:
#include <stdio.h>
#include <stdlib.h>
void Schlachtschiffe(int);
void Kreuzer(int);
void Bomber(int);
void GrosseTransporter(int);
void Zerstoerer(int);
hier der Haupt c file: Test.c
Code:
#include "rechner.h"
int main(void)
{
char Auswahl;
int Anzahl;
char a,b,c,d,e;
printf("Welche Schiffe willst du bauen?\n\n");
printf(" a --> Schlachtschiffe\n");
printf(" b --> Kreuzer\n");
printf(" c --> Bomber\n");
printf(" d --> Grosse Transporter\n");
printf(" e --> Zerstoerer\n\n");
printf("Auswahl: ");
scanf("%c", &Auswahl);
printf("\nDeine Auswahl: %c\n",Auswahl);
printf("Wieviele %c willst du bauen: ",Auswahl);
scanf("%d", &Anzahl);
printf("\n");
switch(Auswahl)
{
case 'a' : Schlachtschiffe(Anzahl);
break;
case 'b' : Kreuzer(Anzahl);
break;
case 'c' : Bomber(Anzahl);
break;
case 'd' : GrosseTransporter(Anzahl);
break;
case 'e' : Zerstoerer(Anzahl);
break;
}
system("PAUSE");
return 0;
}
und hier der funktions c file: rechner.c
Code:
void Schlachtschiffe(int z)
{
int met,kris;
int GT;
int sum;
met=z*45000;
kris=z*15000;
sum=met+kris;
GT=sum/25000;
printf("Fuer %d Schlachtschiffe brauchst du:\n%d Metall\n%d Kristall\n\n",z,met,kris);
printf("Dafuer brauchst du %d Grosse Transporter\n\n", GT);
}
void Kreuzer(int z)
{
int met,kris,deut;
int GT;
int sum;
met=z*20000;
kris=z*7000;
deut=z*2000;
sum=met+kris+deut;
GT=sum/25000;
printf("Fuer %d Kreuzer brauchst du:\n%d Metall\n%d Kristall\n%d Deuterium\n",z,met,kris,deut);
printf("Dafuer brauchst du %d Grosse Transporter\n\n", GT);
}
void Bomber(int z)
{
int met,kris,deut;
int GT;
int sum;
met=z*50000;
kris=z*25000;
deut=z*15000;
sum=met+kris+deut;
GT=sum/25000;
printf("Fuer %d Bomber brauchst du:\n%d Metall\n%d Kristall\n%d Deuterium\n",z,met,kris,deut);
printf("Dafuer brauchst du %d Grosse Transporter\n\n", GT);
}
void GrosseTransporter(int z)
{
int met,kris;
int GT;
int sum;
met=z*6000;
kris=z*6000;
sum=met+kris;
GT=sum/25000;
printf("Fuer %d Grosse Transporter brauchst du:\n%d Metall\n%d Kristall\n\n",z,met,kris);
printf("Dafuer brauchst du %d Grosse Transporter\n\n", GT);
}
void Zerstoerer(int z)
{
int met,kris,deut;
int GT;
int sum;
met=z*60000;
kris=z*50000;
deut=z*15000;
sum=met+kris+deut;
GT=sum/25000;
printf("Fuer %d Zerstoerer brauchst du:\n%d Metall\n%d Kristall\n%d Deuterium\n",z,met,kris,deut);
printf("Dafuer brauchst du %d Grosse Transporter\n\n", GT);
}
noch eine Frage: wann muss ich in der Header datei zB: #define rechner schreiben?
herzlichen dank nochmals!
MFG