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;
}
-
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.