012
22.10.2004, 11:10 Uhr
~modo_c_noob
Gast
|
Vielen vielen Dank für die vielen Hilfen! Ich habe es jetzt so gelöst, dass ich direkt in das Struct einlese und die Pointer habe ich raus geschmissen!
Funktioniert auch alles relativ gut, nur sobald ich nicht in ein char, sondern ich ein int einlese bekomme ich folgende Fehlermeldung:
Struct1_3.exe - Fehler in Anwendung
Die Anweisung in "0x00402aa8" verweist auf Speicher in "0xcccccccc". Der Vorgang "written" konnte nicht auf dem Speicher durchgeführt werden. Wie kann ich diesen Fehler beheben??? Wäre für jede Hilfe dankbar!!!
Mein Code sieht folgendermaßen aus:
C++: |
# include <stdio.h> # include <stdlib.h>
struct kontaktdaten { char name[40]; char vorname[40]; char strasse[60]; int hausnummer; int plz; char ort[20]; int telefon; int handy; char email[40]; };
void eingabe(struct kontaktdaten *daten1); void ausgabe(struct kontaktdaten *daten1);
void main() {
struct kontaktdaten daten; eingabe (&daten); ausgabe (&daten);
}
void eingabe (struct kontaktdaten *daten1) { if(!daten1) return;
printf("Bitte Nachname eingeben\n"); scanf ("%s",daten1->name);
printf("Bitte Vorname eingeben\n"); scanf ("%s",daten1->vorname);
printf("Bitte Strasse eingeben\n"); scanf ("%s",daten1->strasse);
printf("Bitte Hausnummer eingeben\n"); scanf ("%d",daten1->hausnummer);
printf("Bitte Postleitzahl eingeben\n"); scanf ("%d",daten1->plz);
printf("Bitte Telefon-Nummer eingeben\n"); scanf ("%d",daten1->telefon);
printf("Bitte Handy-Nummer eingeben\n"); scanf ("%d",daten1->handy);
printf("Bitte E-Mail-Adresse eingeben\n"); scanf ("%s",daten1->email); printf("\n\n");
}
void ausgabe (struct kontaktdaten *daten1) { if(!daten1) return;
printf ("Name: %s\nVorname: %s\nStrasse: %s\nHausnummer: %d\nPLZ: %d\nOrt: %s\nTel.: %d\nHandy: %d\nE-Mail: %s", daten1->name,daten1->vorname,daten1->strasse,daten1->hausnummer, daten1->plz,daten1->ort,daten1->telefon,daten1->handy,daten1->email); }
|
|