If abfragen hinter einander
-
@Crew06ZW: Traurig , wenn du den Code von Schandmaul nich verstehst

-
BorisDieKlinge schrieb:
@Crew06ZW: Traurig , wenn du den Code von Schandmaul nich verstehst

Ich versteh ihn schon, ich bloß jetzt keinne mich reinzudenken!

-
mir is langweilig und ich will auch mal meinen kommentierten senf da lassen ^^
#include <iostream> #include <sstream> using namespace std; /** * Annahme: Praemien gibs immer dann, wenn die Summe zweier Produkte maximal 66 * betraegt und die Summe eine "Schnapszahl" ist. Eine Schnapszahl laesst sich * immer ohne Rest durch 11 teilen. */ bool isPraemie(int sum) { if(sum > 66) // zu gross return false; return sum%11 == 0; // alle schnapszahlen sind praemien } /** * Liefert die Eingabe fuer ein Produkt. Hält den eigentlichen Code frei von * input Krempel. */ int getEingabe(int i) { cout << "Bitte geben Sie den Preis von Produkt " << i << " ein: "; int val; cin >> val; // input streams waeren eleganter cout << endl; return val; } /** * Fuegt den Text fuer eine Praemie dem Ausgabe-String hinzu. */ void addPraemie(stringstream &s, int posProdukt, int preis1, int preis2, int sum) { s << "Sie erhalten eine Praemie." << endl; s << "Preis von Produkt " << posProdukt << " betrug " << preis1 << endl; s << "Preis von Produkt " << posProdukt + 1 << " betrug " << preis2 << endl; s << "Die Summe betrug: " << sum << endl; } int main() { int numProdukte = 6; // Anzahl der Produkte stringstream s; int current = 0; for(int i = 0; i < numProdukte; ++i) { int tmp = current; // letzte Eingabe merken current = getEingabe(i + 1); // neue Eingabe holen int sum = tmp + current; if(i > 0) // fuer den ersten Preis allein kann es keine Praemie geben if(isPraemie(sum)) addPraemie(s, i, tmp, current, sum); } if(s.str().length() > 0) // haben sich Praemien angesammelt? { cout << s.str() << endl; cout << "Herzlichen Glueckwunsch." << endl; } else // Pech gehabt ;) { cout << "Keine Praemien erhalten." << endl; } }
-
hallo
danke für die ganzen antworten
das programmieren bringt mir ein Lehrer am Zweijährigen Berufskolleg für informatik bei. und die aufgabe habe ich auch nicht selber gemacht es ist nur ne vereinfachte version vom deutschen programmierwettbewerb.
-
Das ist eine aufgabe von deutschen Programmier Wettbewerb?

Muss ich auch mal hin, wenn das da so einfach ist;)
-
http://www.bwinf.de/index.php?id=165
ich weiss selber is einfach
naja mal schaun wie weit ich mit den Pass-Algorithmen komme
-
@1009927
viel spass dabei ^^
aber versuche am besten gleich von anfang an "guten" code, zu schreiben.
schau dir schleifen und funktionen an.
ja es is verwirrend am anfang,
aber ich hab auch so angefangen,
ich hab ewig gebraucht um mich "umzustellen"...und wenn was unklar ist, hier im forum findest du (fast) alles
und irgendjemand hilft dir auch falls du nicht weiter kommst
@thordk
sieht ja nett aus, aber
sag mal, was macht deine main eigentlich nachdem man die letzte zahl eigegeben hat?
ich glaub nich, dass irgendjemand so schnell lesen kann
@rest
weiß jemand wie man im c++ den eingabepuffer leert? im c mach ich das mit fflush() [ich geb zu ich tu mich schwer mit dem umgewöhnen],
denn wenn ich 1x cin.get() am schluß schreibe beendet die konsole auch sofort
mfg
-
Schandmaul schrieb:
@thordk
sieht ja nett aus, aber
sag mal, was macht deine main eigentlich nachdem man die letzte zahl eigegeben hat?
ich glaub nich, dass irgendjemand so schnell lesen kann
na es schiebt die ausgabe in den standard output stream, was konsolenanwendungen halt so an sich haben

halte nichts davon, irgendwelche krücken in konsolenanwendungen einzubauen, die dem anwender den druck einer taste abfordern, nur um ein konsolenfenster offenzuhalten.
-
aha...
is ja schön wenn es das irgendwie schiebt,
aber soll der user das "ergebnis" lesen wenn es nur ein paar ms zu sehen ist?
-
Schandmaul schrieb:
aha...
is ja schön wenn es das irgendwie schiebt,
aber soll der user das "ergebnis" lesen wenn es nur ein paar ms zu sehen ist?
wtf? wenn ich den krempel in ner konsole ausführ, kann ich die aussgabe solange betrachten, bis mir die gucker ausm kopp fallen.