Brauche Hilfe beim Programm für die Schule



  • Hallo,
    wir haben zur Zeit an der Schule ein Betriebspraktikum und ich hab das Thema, das ich ein Parkhaus programmieren soll.
    Soweit so gut.
    In dem Programm soll man seine Daten eingeben, also Personendaten und Fahrzeugdaten.
    Desweiteren soll das Programm zuordnen können das genau eine Person ein Fahrzeug fährt.
    Dann brauche ich noch die Einfahrzeit und die Ausfahrzeit.
    Das wäre erstmal die grobe Erklärung zum Programm.
    Folgendes habe ich schon

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define MAX 100
    
    char eingabe[100];
    
    int main()
    {
     int Auswahl;
     int i,n;
     int snummer;
    
     FILE *fp;
    
     typedef struct pdaten
     {
      char  name[MAX];
      char  vname[MAX];
      char  plz[MAX];
      char  ort[MAX];
      char  str[MAX]; 
      char  pkz[MAX];
      char  marke[MAX];
      char  farbe[MAX];
       }pdaten;
    
       pdaten *daten;
       daten=new pdaten;
    
       fp=fopen("Parkhaus.txt","w");
    
         do
         {                                                  
          printf("\n**************************************************\n\n");
          printf("1.Eingabe von benutzerspezifischen Daten");
          printf("\n2.Ausgabe von beutzerspezifischen Daten");
          printf("\n3.Suche");
          printf("\n4.Programmende\n\n");
          printf("**************************************************\n\n");
    
          printf("Auswahl: ");
          scanf("%i", &Auswahl);
          getchar();
    
          switch (Auswahl)
          {
    case 1:
    
        system("cls");
        printf("\nName");
        printf("\n>>");
        scanf("%s", &daten->name);
        getchar();
    
        printf("\nVorname");
        printf("\n>>");
        scanf("%s", &daten->vname);
        getchar();
    
        printf("\nPostleitzahl");
        printf("\n>>");
        scanf("%s", &daten->plz);
        getchar();
    
        printf("\nOrt");
        printf("\n>>");
        scanf("%s", &daten->ort);
        getchar();
    
        printf("\nStrasse");
        printf("\n>>");
        scanf("%s", &daten->str);
        getchar();
    
        printf("\npolizeiliches Kennzeichen");
        printf("\n>>");
        scanf("%s", &daten->pkz);
        getchar();
    
        printf("\nMarke des Fahrzeuges");
        printf("\n>>");
        scanf("%s", &daten->marke);
        getchar();
    
        printf("\nFarbe des Fahrezeuges");
        printf("\n>>");
        scanf("%s", daten->farbe);
        getchar();
    
        fwrite(daten,sizeof(pdaten),1,fp);
    
        fclose(fp);
    
        break;
    
    case 2:
            system("cls");
            if ((fp=fopen("Parkhaus.txt","r")) == NULL)
            {                                
    		printf("Fehler: Datei \"Parkhaus.txt\" konnte nicht geoeffnet werden!\n");
            }
    
    		else
    		{
    		printf("\nWieviele Datensaetze sollen gelesen werden?: ");
    		scanf("%d",&n);
    		getchar();
            }
    
    		for (i=1;i<=n;i++)
    			 {
    			 fread(daten,sizeof(pdaten),1,fp);
    			 printf("\nName: %s \nVorname: %s \nPostleitzahl: %s \nOrt: %s \nStrasse: %s \nplizeiliches Kennzeichen: %s \nMarke: %s \nFarbe: %s \n",daten->name, daten->vname, daten->plz, daten->ort, daten->str, daten->pkz, daten->marke, daten->farbe);
                 }
    
    	 fclose(fp);
    
         break;
    
         default: printf("\nVielen dank fuer die Benutzung dieses Programmes!!");
         break;
           }
            }while (Auswahl !=4);  
    
    getchar();
    return 0;
    }
    

    Jetzt habe ich ein wenig gegoogelt für das zuordnen, also eine Person genau ein Fahrezug.

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #define MAX 255
    
    struct plz{
       char ort[MAX];
       unsigned int postleit;
    };
    
    struct plz postleitzahlen[100];
    static int N;
    
    /* Initialisieren */
    void init(void) {
       N = 0;
       postleitzahlen[N].postleit = 0;
       strcpy(postleitzahlen[N].ort, "init");
    }
    
    void einfuegen(unsigned int p, char *o) {
       postleitzahlen[++N].postleit = p;
       strcpy(postleitzahlen[N].ort, o);
    }
    
    void suche(unsigned int key) {
       int i;
       for(i=0; i<=N; i++)
       if(postleitzahlen[i].postleit == key) {
          printf("Der Ort zur Postleitzahl %d : %s\n",
             key,postleitzahlen[i].ort);
          return;
       }
       printf("Für den Wert %d konnte keine Postleitzahl "
              "gefunden werden!\n",key);
    }
    
    int main(void) {
       int wahl;
       unsigned int search, post;
       char new_ort[MAX];
       init();
    
       do {
          printf("-1- Postleitzahl suchen\n");
          printf("-2- Postleitzahl hinzufuegen\n");
          printf("-3- Ende\n\n");
          printf("Ihre Wahl : ");
          scanf("%d",&wahl);
          getchar();
          if(wahl == 1) {
             printf("Welche Postleitzahl suchen Sie : ");
             scanf("%5d",&search);
             suche(search);
          }
          else if(wahl == 2) {
             printf("Neue Postleitzahl : ");
             scanf("%5u",&post);
             getchar();
             printf("Ort fuer PLZ %d : ",post);
             fgets(new_ort, MAX, stdin);
             einfuegen(post, strtok(new_ort, "\n") );
          }
       } while(wahl!=3);
       return EXIT_SUCCESS;
    }
    

    Nun weiß ich nicht genau, wie ich das in meinem Programm einbinden soll.
    Wäre nett wenn mir erstmal bis dahin einer weiter helfen könnte. :T
    P.S.: Programm muss leider schon bis morgen fertig sein.



  • Das ist doch C-code. Was tut das bei den C++-Threads?



  • Na weil ich es mit Dev cpp geschrieben hatte und dachte das gehört hier rein.
    Könnte ihr es verschieben?



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten