Mehrere Quellcodedateien - modulare Programmierung



  • Hi Leute,

    neues Problem. Ich möchte das Programm in 3 Module unterteilen. main.c , funk.c und funk.h
    Leider klappt es garnicht, ich bräuchte dringend Hilfe.

    EDIT/

    /C/main17.c C:\I funk.h: No such file or directory.
    I:\C\main17.c In function main': 9 I:\\C\\main17.cFELD' undeclared (first use in this function)
    (Each undeclared identifier is reported only once
    for each function it appears in.)
    15 I:\C\main17.c [Warning] implicit declaration of function eingabe' 16 I:\\C\\main17.c [Warning] implicit declaration of functionsort'
    17 I:\C\main17.c [Warning] implicit declaration of function ausgabe' 9 I:\\C\\main17.c [Warning] unused variabletext'
    C:\Makefile.win [Build Error] [I:/C/main17.o] Error 1

    main.c

    #include <string.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include "funk.h"
    
    int main (void)
    {
    
    char abbruch=0,*text[FELD];
    int anzahl=0, count=0;
    
    do
    {
    
    anzahl = eingabe(text);
    sort(text, anzahl);
    ausgabe(text, anzahl);
    
    for(count=0; count < anzahl; count++)
    free(text[count]);
    
    scanf("%c", &abbruch);
    
    }while(abbruch=='\n');
    
    getchar();
    
    return 0;
    }
    

    funk.c - hier habe ich alle Funktionen drin

    #include "funk.h"
    
    int eingabe(char* text[FELD])
    {
     int count=0, anzahl=0;
     char cpy[FEL], abbruch=0;
    
    do{
    
    	  fgets(cpy, FELD, stdin);
    	  text[count] = (char *)malloc(sizeof(char)*strlen(cpy)+1);
    	  strcpy(text[count], cpy);
    	  count++;
    	  if(text[count] == NULL)
    
    	  scanf("%c", &abbruch);
    	  }while(abbruch=='\n');
    
    	  anzahl = count;
    return anzahl;
    }
    
    void sort(char *text[FELD],int anzahl)
    {
     	 int x, tausche=0, count=0;
    	 char *cpy;
    
    	 do {
    	 	 tausche = 0;
    		  for (count = 0; count < anzahl-1; ++count)
    		  {
    		   	  x = strcmp(text[count], text[count+1]);
    				 if (x > 0)
    				 {
    				 tausche = 1;
    				 cpy = text[count];
    				 text[count] = text[count+1];
    				 text[count+1] = cpy;
    				 }
    			 }
    			 } while (tausche != 0);
    }
    
    void ausgabe(char* text[FELD], int anzahl)
    {
     	 int count=0;
    
    	  for (count = 0; count < anzahl; ++count)
    	  {
    		  printf("%s ", text[count]);
    		  }
    }
    

    funk.h hier die Konstanten und Prototypen

    #define FEL 100
    #define FELD 1000
    
    int eingabe(char* text[FELD]);
    void sort(char *text[FELD],int anzahl);
    void ausgabe(char* text[FELD], int anzahl);
    


  • könnt closen. hat sich erledigt



  • Aber uns mal zu posten, wie sich das erledigt hat,
    wäre auch gar nich mal so daneben...



  • Die Fehlermeldung beschreibt es ja, er konnte .h nicht finden. Ich hatte unter Optionen, in der Projektdatei, die Pfadangabe vernachlässigt. Schon war das Problem gelöst.



  • dancer schrieb:

    Die Fehlermeldung beschreibt es ja, er konnte .h nicht finden.

    Schämst Du Dich jetzt wenigstens ein Bißchen?
    Sack voll Code hinklatschen wegen garnix?



  • schämen... nett formuliert 😃

    aber nein, tue ich nicht.



  • dancer schrieb:

    schämen... nett formuliert 😃 aber nein, tue ich nicht.

    OK, dann muß sich für Dich wohl auch keiner mehr aus dem Fenster lehnen.
    Board vollklatschen beim ersten Compilergemotze ist wie Sabrina86, die von uns die Hausaufgaben für ihren bösen Prof gemacht haben will 😉



  • Spiel dich mal nicht so auf^^, wer klatscht hier denn jetzt das Board voll mit sinnfreien Äußerungen?

    pointercrash() schrieb:

    die von uns die Hausaufgaben für ihren bösen Prof gemacht haben will 😉

    Hast du mir den gesamten Code geschrieben? Ich glaube nicht 😉

    Nach 6h rumhacken auf die Tastatur, ist man nicht mehr ganz frisch. Dann passiert sowas. Aber richtig schön ists erst, wenn man noch solche Kommentare lesen darf. So Schluss, muss noch ein Rohr verlegen.



  • dancer schrieb:

    So Schluss, muss noch ein Rohr verlegen.

    Wie? Jetzt im Winter? Bei dem Wetter?



  • ... unglaublich, oder?


Log in to reply