Hilfe bei Programm
-
"goto" wirst du mit Schleifen los, "Wiederho(h)lte Ausführung"
Formatierte Ausgabe ist mit: "setprecision" möglich, musste mal bei google glubschen...
Poste doch mal die genaue Fehlermeldung! (Rechtsklick-Kopieren)
-
@Büchershop vielen Dank, war auch n bissl doof von mir ^^
auch das mit dem do-whie hab ich reingenommen, nur hier hab ich dann ne neue Frage:
Gibt es eine Möglichkeit in do-while, eine Ausgabe erst in der ersten Wiederholung (also dem 2. Durchlauf) anzuzeigen, sodass ich dort mein "Ungültige Eingabe" loswerden kann?Außerdem funktioniert die Ausgabe leider nicht

-
Mein Beitrag:
#include <iostream> using namespace std; int main() { int summe = 27, i = 20, durch; durch = (summe*10) / i; cout << durch/10 << "," << durch%10 << endl; // Auf eine Kommastelle runden! Ausgabe: 1,3! }
-
Und wirklich sehr schön klein...
-
Was du da tust, was du da verdammt nocheinmal tust, sargonnas...
ist weder Fisch noch Fleisch, nicht C, noch C++.
Beginnen wir unsere Kritik mit der Auswahl der Mittel:
sargonnas schrieb:
#include <cstdlib> #include <cstdio> #include <iostream>In C++ ist der gebrauch von Streams für den I/O üblich. Wozu die cstdlib!?
üner einen kurzen Blick auf deine Tippfaulheit:
sargonnas schrieb:
using namespace std;am Eintrittspunkt:
sargonnas schrieb:
int main(int n, char *c[]) {Wozu Parameter übernehmen, die man nicht benötigt? (... und ihnen dazu noch vielsagende nahmen zu geben!)
es folgt eine zensurbedürftige
sargonnas schrieb:
/* Declaration Orgy (tm) */die man in C99 schon nicht mehr haben muss, geschweige denn, in C++.
Der Rest ist zu kompliziert gedacht.
-
Hab's mal etwas zurechtgebogen.
Mein Vorschlag:#include <cstdlib> #include <cstdio> #include <iostream> using namespace std; int main(int n, char* c[]) { //char ch; int i = 1; int summe = 0;//<< //int u; int durch; //int an Stelle von float, wir bekommen das mit int gebacken int Noten[21]; // << wir beginnen mit 1 d.h. Noten[0] bleibt frei cout << "Willkommen im Notendurchschnittsrechner !" << endl; for(; i <= 20; i++) { //Eingabe der Noten cout << "Geben Sie die " << i <<". Note an !"; cin >> Noten[i]; if(Noten[i] < '0' && Noten[i] > '6')//<< { cout << "Ungültige Eingabe" ; i--; continue; } /* Diesen Code würde ich komplett rausschmeißen, er bringt nichts. do { cout << "Zum Beenden der Eingabe druecken Sie e fuer die naechste Eingabe druecken Sie a (bitte Kleinschreiben !)"; cin >> ch; } while(ch != 'e' && ch !='a')// wenn schon, dann if(ch == 'e') { break; } */ if (i == 20) { cout << "Maximale Anzahl an Noten erreicht" << endl; //break; Schleife wird automatisch beendet //siehe Bedingung im Schleifenkopf } } //Addition for(int u = 1; u < i; u++) //<< { summe = summe + Noten[u]; } durch = (summe*10) / (i-1); cout << "Durchschnitt = " << durch/10 << "," << durch%10 << endl; // Auf eine Kommastelle runden! Ausgabe: 1,3! system("PAUSE"); return 0; }

-
oh mann
if(Noten[i] < '0' || Noten[i] > '6')//<< muss logisch oder sein
-
if(Noten[i] < '1' || Noten[i] > '6')//<<die Note 0 gibts ja wohl auch nicht.

-
Die Hochkomma müssen weg, hattest du richtig.
if (Noten[i] < 1 || Noten[i] > 6)//<< { cout << "Ungültige Eingabe" << endl; i--; continue; }
-
kenner der dummköpfe schrieb:
Was du da tust, was du da verdammt nocheinmal tust, sargonnas...
ist weder Fisch noch Fleisch, nicht C, noch C++.
Beginnen wir unsere Kritik mit der Auswahl der Mittel:
sargonnas schrieb:
#include <cstdlib> #include <cstdio> #include <iostream>In C++ ist der Gebrauch von Streams für den I/O üblich. Wozu die cstdlib!?
üner einen kurzen Blick auf deine Tippfaulheit:
sargonnas schrieb:
using namespace std;am Eintrittspunkt:
sargonnas schrieb:
int main(int n, char *c[]) {Wozu Parameter übernehmen, die man nicht benötigt? (... und ihnen dazu noch vielsagende nahmen zu geben!)
es folgt eine zensurbedürftige
sargonnas schrieb:
/* Declaration Orgy (tm) */die man in C99 schon nicht mehr haben muss, geschweige denn, in C++.
Der Rest ist zu kompliziert gedacht.
wie schon gesagt, ich programmiere erst seit 2 Wochen,
zu den Includedateien: Mein tolles Buch (C++ für Dummies) sagt, man braucht die oft und soll die praktisch immer nehmen und da hab ich das halt gemacht, genauso
werden die Startparameter im Buch immer übernommen (wenn auch mit besseren Namen, das stimmt ^^)
Das mit der Declaration Orgy stimmt...@egon thx, aber wenn du oben
int u;rausnimmst darfst du u als variable auch net benutzen, aber ansonsten ist das wohl deutlich besser als meins

€dit: Das mit der Abfrage "Wann ist schluss?" ist durchaus sinnvoll, sonst muss man ya 20 Noten einfügen,
allerdings ist es auch Mist, wenn die Abfrage jedes mal aufs neue erscheint...