While schleife mit gleitkomma zahlen , wie ??
-
Hi, ich möchte ein proggi schreiben, das die Noten einliest und dann den Noten schnitt berechnet, eigentlich ganz einfach, doch bis jetzt kann ich nur die while schleife und habe noch nicht gelernt, wie man das ganze mit gleitkomme zahlen macht.
int zahl, summe=0; int nenner; nenner = 1; printf("Noten eingeben :\nBeenden der Eingabe mit 0 \n"); while(1) { printf("Bitte Note eingeben : "); scanf("%d", &zahl); if(zahl == 0) break; else summe+=zahl/nenner; nenner++; } printf("Dein Durchschnitt ist : %d\n", summe); cin.get();Auch wenn ich oben statt int zahl, int nenner... double zahl... eingebe stürzt er auch ab bei Kommazahlen, was soll cih tun, denn nur ganze Noten zu berechnen ist ja doof.
Bitte helft mir , danke
LostDevil

-
Du musst anstatt dem Komma ein Punkt eintippen, also so: 1.25 - das ist im Englischen so.
Gruß
-
#include<iostream> using namespace std; int main () { int note, noten_anzahl=0; double noten_summe=0.0; cout<<"Noten eingeben :"<<endl; cout<<"Beenden der Eingabe mit 0"<<endl; while(1) { cout<<"Bitte Note eingeben : "; cin>>note; if(note==0) break; noten_summe+=note; noten_anzahl++; } cout<<"Dein Durchschnitt ist : "<<noten_summe/noten_anzahl<<endl; cin.get(); return 0; }
-
in C++ solltest du kein scanf() oder printf() verwenden, sondern wie Konfusius vorgezeigt hat cin/cout.
scanf("%d", &zahl)kann auch gar nicht funktionieren wenn zahl eine Fliesskommazahl (also ein double oder ein float) ist. Also nimm lieber cin/cout, da bist du immer auf der sicheren Seite!

-
Hey anstatt z.B. "int a;" musst du "float a" eingeben float ist für kommazahlen ...
Falls es nicht funzt lass es mich wissen un wenns geht stell den code auf diese seite, auch ich bin schüler und könnte das prog gebrauchen ...
mawu
-
So, habe jetzt den Text von Confusius verwendet.
Es funzt, mache noch kleine fein Umstellungen und dann lade ich das ganze für mawu mal hoch.
Danke noch mal
Lostdevil
-
Das break in der while schleife ist ziemlich unnötig und leicht wegzulassen. damit du dir gleich "schönen" code angewöhnen kannst:
#include <iostream> using namespace std; int main(int argc, char *argv[]) { float note = 0.0, noten_anzahl=0.0; double noten_summe=0.0; cout<<"Noten eingeben :"<<endl; cout<<"Beenden der Eingabe mit -1"<<endl; while(note != -1.0) { cout<<"Bitte Note eingeben : "; cin>>note; if(note== -1.0) //ist später mit der for-schleife einfacher {;} else { noten_summe+=note; noten_anzahl++; } } cout<<"Dein Durchschnitt ist : "<<noten_summe/noten_anzahl<<endl; cin.get(); return EXIT_SUCCESS; }
-
Also hier ist ma mein Proggie, nichts tolles, abba es funzt
#include <iostream> #include <fstream> using namespace::std; int main () { double note, noten_anzahl=0; double noten_summe=0.0; cout<<"Willkommen bei Noten Rechner v.1.1 !!"<<endl; cout<<"Noten eingeben :"<<endl; cout<<"Beenden der Eingabe mit 0"<<endl; while(1) { cout<<"Bitte Note eingeben : "; cin>>note; if(note==0) break; noten_summe+=note; noten_anzahl++ ; } cout<<"Dein Durchschnitt ist : "<<noten_summe/noten_anzahl<<endl; cin.get(); printf("Bitte gib ein, fuer welches Fach diese Noten sind\n(E fuer Englisch, D fuer Deutsch, F fuer Französisch...)"); signed char w; cin>>w; cin.get(); cin.get(); ofstream verwaltung ("Noten.txt" ); verwaltung<<"\n"<<w<<" : "<<noten_summe/noten_anzahl<<"\n"; verwaltung.close(); printf("Dein Durchschnitt wurde in der Noten.txt gespeichert\n"); printf(" Production by LostDevil \n\n\n"); }Viel Spaß dabei
Lostdevil
-
LostDevil schrieb:
Also hier ist ma mein Proggie, nichts tolles, abba es funzt
#include <iostream> #include <fstream> using namespace::std; int main () { double note, noten_anzahl=0; double noten_summe=0.0; cout<<"Willkommen bei Noten Rechner v.1.1 !!"<<endl; cout<<"Noten eingeben :"<<endl; cout<<"Beenden der Eingabe mit 0"<<endl; while(1) { cout<<"Bitte Note eingeben : "; cin>>note; if(note==0) break; noten_summe+=note; noten_anzahl++ ; } cout<<"Dein Durchschnitt ist : "<<noten_summe/noten_anzahl<<endl; cin.get(); printf("Bitte gib ein, fuer welches Fach diese Noten sind\n(E fuer Englisch, D fuer Deutsch, F fuer Französisch...)"); signed char w; cin>>w; cin.get(); cin.get(); ofstream verwaltung ("Noten.txt" ); verwaltung<<"\n"<<w<<" : "<<noten_summe/noten_anzahl<<"\n"; verwaltung.close(); printf("Dein Durchschnitt wurde in der Noten.txt gespeichert\n"); printf(" Production by LostDevil \n\n\n"); }Viel Spaß dabei
Lostdevilwarum nimmst du C# tags?
-
Was davon sind denn C# Tags, habe von C# gargargar keine Ahnung.??
Lostdevil