![]() |
C: Problem bei Notendurchschnittsberechnung
wir sollen über die ferien in c ein programm schreiben, das den notendurchschnitt von beliebig vielen noten ausrechnet
so soll es ausschaun: benutzer gibt note ein - sollte die eingabe nicht im bereich 1-5 sein, kommt eine fehlermeldung und die aufforderung zu einer erneuten eingabe wenn er dann e drückt, wird der notendurchschnitt ausgerechnet - will er eine weitere note eingeben, soll er eine beliebige andere taste drücken jetzt hab ich folgendes problem: egal welche zahl ich eingebe, es kommt immer die fehlermeldung, dass die zahl falsch is ich hab das file angehängt und hoffe, dass ihr mir helfen könnt |
das scanf pfuscht dir leider rein, da es bei der eingabe cr und lf auch mitnimmt und ein wert jenseits von gut und böse ins int geschrieben wird
abhilfe wäre ein array aus mind. 3 zeichen und das 1te weisst du dann deinem int zu (musst noch schaun obs ne typenkonversion besteht und im bedarfsfall 0x30h abziehen) pong |
wie schaut aus mit getchar()? geht das? oder nur bei buchstaben?
|
if(note<'1' || note>'5')
Wenn du integer mit char vergleichst, wirst du nie zu einem sinnvollen ergebnis kommen ;) besser if(note<1 || note>5) |
if(note<'1' || note>'5')
behandelt der compiler wie if(note<49 || note>53) das entspricht nicht dem österreichischen Schulnotensystem :D |
ups :)
jetzt gehts, da wär aber noch ein problem wenn man e drückt, um den durchschnitt anzeigen zu lassen, wird das programm geschlossen :( |
Zitat:
was hast überhaupt geändert wars das was ich gepostet habe :confused: printf("%d",durchschnitt); durchschnitt ist aber eine float! %d aber nur für integer. vielleicht mag er das nicht? |
ich hab die apostrophe in der if-abfrage weggegeben
was steht für float? |
Zitat:
sorry, aber ich habe C schon 10 Jahre nicht mehr angerührt ;) probiers mal mit "%4.2f" |
hab %f statt %d geschrieben, geht auch nicht
es kommen übrigens 2 warnings beim kompilieren und zwar bei gesamt=gesamt+note und bei i++ die warnings lauten: possbile use of variable (gesamt bzw. i) before definition |
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag