telefonbuch



  • hab dass geändert. geht totzdem net

    meldung:parse error before "do"



  • ja, da is eine Klammer zuviel. Lösch sie.



  • #include <stdio.h>
    #define FILNAM "telefonbuch"
    	struct TelefonBuch
    	{
    		char name[40];
    		char strasse[30];
    		char ort[30];
    		int telefon;
    		int handy;
    		char ch[10];
    	}telefonbuch;
    
    	int main()
     {
    FILE *pfile;
    	pfile = fopen (FILNAM, "w");
    	if (!pfile)
    	printf("Fehler beim Oeffnen");
    	return(0);
    
    do
    	{
    printf("Name eingeben\n");
    scanf("%s", telefonbuch.name);
    printf("Straße eingeben\n");
    scanf("%s", telefonbuch.strasse);
    printf("Wohnort eingeben\n");
    scanf("%s", telefonbuch.ort);
    printf("Telefon eingeben\n");
    scanf("%d", telefonbuch.telefon);
    printf("Handy eingeben\n");
    scanf("%d", telefonbuch.handy);
    
    fwrite(&telefonbuch, sizeof(telefonbuch), 1, pfile);
    
    printf("Weitere Einträge erstellen?(J/N)\n");
    scanf("%s" ,telefonbuch.ch);
    
    }
    while ((telefonbuch.ch[0]=='j')|| (telefonbuch.ch[0]=='J'));
    
    fclose(pfile);
    prinft("Gespeichert!!!\n");
    }
    

    edit:^^ hab den code jetzt richtig gemacht.

    so jetzt ist nur noch eine meldung da:
    ch undecleared(first youse in this function)



  • hab den fehler gefunden.

    nochmal danke

    edit: na super. jetzt hat es endlich mal compiliert und dass programm geht trotzdem nicht. es schließt einfach gleich wieder befor ich auch nur eine eingabe machen konnte.



  • Wie, ohne irgendeinen Text oder Meldung?



  • ja. beim compilieren zeigt es an Errors=0

    und dann öffnet sich dass programm einfach und schließt sich danach direkt wieder.

    jetzt kommt der teil bei dem es zum kaffetrinken kommt *g*



  • vor dem do{ .. } while ..

    return(0);
    

    muss weg.
    Kurt



  • Ich glaube eher du brauchst eine Klammer fürs if, da die return Anweisung wohl dazu gehört und abbrechen soll, wenn die Datei nicht gefunden wurde.



  • Hi folks,

    bau mal in deinen Code nach jedem scanf()-AUfruf ein

    while(getchar()!='\n');
    

    ein. Das löscht den Tastaturpuffer! Das ist nötig, um bei einem folgenden scanf()-Aufruf keine unerwünschten Zeichen von der vorherigen Eingabe einzulesen.

    Chiao



  • randa schrieb:

    Ich glaube eher du brauchst eine Klammer fürs if, da die return Anweisung wohl dazu gehört und abbrechen soll, wenn die Datei nicht gefunden wurde.

    hier kommt genauso wie wenn ich return weglasse die meldung:

    [link error] undefined reference to 'printf'


Anmelden zum Antworten