neues struct-problem
-
ein paar auszüge aus dem programm
struct eff { char nachname[20]; char vorname[20]; int umsatz; }; struct eff verk_eff[9]; int n_verk,count; ... ... main() { printf("Geben sie die gewuenschte Anzahl ein:"); scanf("%d",&count); for (n_verk=0;n_verk<=count-1;n_verk++) { printf("Bitte Nachnamen eingeben:\n"); scanf("%s",verk_eff[n_verk].nachname); printf("Bitte Vorname eingeben:\n"); scanf("%s",verk_eff[n_verk].vorname); printf("Bitte geben sie den Quartalsumsatz fuer das Jahr 2001 ein:\n"); scanf("%d",&verk_eff[n_verk].umsatz); } ... ... printf("%c%s%c%s%c%d%c\n",vertikal,verk_eff[n_verk].nachname,vertikal,verk_eff[n_verk].vorname,vertikal,&verk_eff[n_verk].umsatz,vertikal);
erstes problem, er gibt nichts aus für die namen, und das zweite ist, dass er ne zahl ausgibt, die nicht mit der übereinstimmt, die ich eingegeben habe
<edit=kingruedi>
Bitte Code Beispiele immer mit [ cpp]hier der Code[ /cpp] (ohne leerzeichen nach der [ ) einschließen, wegen der Formatierung und Syntax Highlight. Das sorgt garantiert für mehr leser und antworten. Danke
</edit>
-
Das Problem liegt an deiner verwendung von scanf. Da scanf bis zu einem newline zeichen ('\n') liest, dies aber nicht aus dem Tastatur-Buffer entfernt, liest der nächste scanf Befehl, als erstes Zeichen aus dem Tastatur-Buffer das \n, liest also nicht weiter usw.
Daher sollte das eher so aussehen scanf("%d\n", variable); weil das \n in scanf dafür sorgt, dass das folgende \n mit eingelesen wird.
btw. die Frage gehört nach ANSI C
-
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung 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.
-
zum String einlesen könntest du auch gets([array]); verwenden, oder noch besser:
fgets([array],[maximale anzahl der zeichen],stdin);
mfg (c)h