programm-fehler



  • Habe ein Programm geschrieben.
    Es soll Internet-Registrierungsdaten speichern.
    Es ist noch nicht fertig. Doch es funktioniert nicht.
    Sieht jemand den fehler?
    [code]#include <stdio.h>
    #include <stdlib.h>

    //STRUKTUR 2
    struct daten
    {
    int nummer;
    char url[100];
    char bname[20];
    char pass[20];
    };
    //STRUKTUR 1
    struct name
    {
    struct daten eintrag[10];
    };

    int main(int argc, char *argv[])
    {
    //ZEIGER AUF STRUKTUR 1
    struct name *z;

    //DEKLARATIONEN VON VARIABLEN
    int abfrage,i=0,e;
    char nutzer[50];

    //HAUPTSCHLEIFE
    while(abfrage!=4)
    {
    printf(">>Willkommen");
    printf("\n\n>>Neuer Benutzer\t<1>");
    printf("\n>>Daten eingeben\t<2>");
    printf("\n>>Daten ausgeben \t<3>");
    printf("\n>>Beenden\t\t<4>");
    printf("\n\n>>Eingabe\t\t:");
    scanf("%i",&abfrage);
    getchar();
    printf("\n\n\n\n");

    switch(abfrage)
    {
    case 1 :
    printf(">>Geben einen beliebigen Benutzernamen ein\t:");
    fgets(nutzer,sizeof(nutzer),stdin);
    //DEM ZEIGER WIRD DIE ADRESSE VON NUTZER ZUGEWIESEN
    z=&nutzer;
    //ALLE NUMMERN VON NUTZER AUF 200 SETZEN
    while(i!=11)
    {
    (*z).eintrag[i].nummer=200;
    i++;
    }
    printf("\n\n>>Benutzer registriert\n\n\n\n");
    //ADRESSE VON NUTZER IN ZEIGER Z LÖSCHEN (EV. FREE(Z);)
    z=NULL;
    i=0;
    break;
    case 2 :
    printf("Geben sie ihr Benutzername ein\t:");
    fgets(nutzer,sizeof(nutzer),stdin);
    //ZEIGER Z NEU MIT NUTZER ADRESSE ZUWEISEN
    z=&nutzer;
    //GAR KEIN EIINTRAG
    if((*z).eintrag[1].nummer!=0)
    {
    printf("\n\n>>Benutzername nicht vorhanden\n\n\n\n");
    }
    //HIER WIRD DEFINIERT, AB WO GESCHRIEBEN WIRD, AB WELCHEM INDEX
    else
    {
    //I DEFINIEREN
    while((*z).eintrag[i].nummer!=200)
    {
    printf("%i..\n",i);
    i++;
    }
    e=i-1;
    printf("\n\n>>Es wurden %i Eintraege gefunden\n\n"
    ">>Neuer Eintrag\n\n>>Eintrag %i",e,i);
    printf("\n\nURL\t:");
    fgets((*z).eintrag[i].url,sizeof((*z).eintrag[i].url),stdin);
    printf("\nBenutzername\t:");
    fgets((*z).eintrag[i].bname,sizeof((*z).eintrag[i].bname),stdin);
    printf("\nPasswort\t:");
    fgets((*z).eintrag[i].pass,sizeof((*z).eintrag[i].pass),stdin);
    printf("\n\nDaten vollstaendig eingelesen");
    }
    break;
    z=NULL;
    case 3 :
    printf("Geben sie ihr Benutzername ein\t:");

    }
    }
    system("PAUSE");
    return 0;
    }


  • Administrator

    1. Titel sagt nichts aus.
    2. Fehlerbeschreibung sagt nichts aus.
    3. Code ist nicht formatiert und befindet sich nicht in C/C++ Tags.
    4. Das ist gar kein C++ Code sondern C Code, also noch falsches Forum.

    Grüssli



  • was man so direkt sieht ist der kracher.
    die 2 strukturen sind nicht schlecht, und das redundante switch-case ist wirklich sehenswert. wegen augenschmerzen muss ich aufhören.


Anmelden zum Antworten