![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() Registriert seit: 15.06.2000
Beiträge: 2.833
|
![]() 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 |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() |
![]() 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
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug Nicht klicken! Erstposteralarm/Beschwerde/Kummerkasten Verplattet |
![]() |
![]() |
![]() |
#3 |
Inventar
![]() Registriert seit: 15.06.2000
Beiträge: 2.833
|
![]() wie schaut aus mit getchar()? geht das? oder nur bei buchstaben?
|
![]() |
![]() |
![]() |
#4 |
gesperrt
Registriert seit: 18.10.2002
Beiträge: 59
|
![]() 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) |
![]() |
![]() |
![]() |
#5 |
gesperrt
Registriert seit: 18.10.2002
Beiträge: 59
|
![]() if(note<'1' || note>'5')
behandelt der compiler wie if(note<49 || note>53) das entspricht nicht dem österreichischen Schulnotensystem ![]() |
![]() |
![]() |
![]() |
#6 |
Inventar
![]() Registriert seit: 15.06.2000
Beiträge: 2.833
|
![]() 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 ![]() |
![]() |
![]() |
![]() |
#7 | |
gesperrt
Registriert seit: 18.10.2002
Beiträge: 59
|
![]() Zitat:
was hast überhaupt geändert wars das was ich gepostet habe ![]() printf("%d",durchschnitt); durchschnitt ist aber eine float! %d aber nur für integer. vielleicht mag er das nicht? |
|
![]() |
![]() |
![]() |
#8 |
Inventar
![]() Registriert seit: 15.06.2000
Beiträge: 2.833
|
![]() ich hab die apostrophe in der if-abfrage weggegeben
was steht für float? |
![]() |
![]() |
![]() |
#9 | |
gesperrt
Registriert seit: 18.10.2002
Beiträge: 59
|
![]() Zitat:
sorry, aber ich habe C schon 10 Jahre nicht mehr angerührt ![]() probiers mal mit "%4.2f" |
|
![]() |
![]() |
![]() |
#10 |
Inventar
![]() Registriert seit: 15.06.2000
Beiträge: 2.833
|
![]() 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 |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|