Mein erstes Programm (Promillemesser) - lasst es Kritik hageln ^^
-
"Script"???
-
Ich würde mal sagen dass eine nicht-template Funktionsdeklaration nicht in einen Header gehört. (runden.h) oder?

-
float menge_1 = 0; // in l
float menge_2 = 0; // in l
float menge_3 = 0; // in l
float menge_4 = 0; // in l
float prozent_1 = 0; // in prozent (x.xx%)
float prozent_2 = 0; // in prozent (x.xx%)
float prozent_3 = 0; // in prozent (x.xx%)
float prozent_4 = 0; // in prozent (x.xx%)das schreit nach array
-
Shade Of Mine schrieb:
float menge_1 = 0; // in l
float menge_2 = 0; // in l
float menge_3 = 0; // in l
float menge_4 = 0; // in l
float prozent_1 = 0; // in prozent (x.xx%)
float prozent_2 = 0; // in prozent (x.xx%)
float prozent_3 = 0; // in prozent (x.xx%)
float prozent_4 = 0; // in prozent (x.xx%)das schreit nach array
Das hab ich garnicht gesehen
Habe vor lauter "Cout" den Wald nicht gesehen 
-
Such mal bei Google nach Vectoren oder Standartcontainer...
Denn bei deinem Programm kann man nur 4 Getränke trinken
Was nun wenn man mehr möchte?
Deswegen würde ich dir dynamische Container empfehlen, da du ja vorher noch nicht weißt, wie viel du trinkst
Ansonsten find ich es für den Anfang ganz ordentlich.
Aber ich glaube das Programm funktioniert nicht so ganz, wie du dir das vorstellst... Nur eine wage Vermutung
Und zwar bei der do-while Schleife.Gruß Speedy_92
-
ReenBeam schrieb:
do{ switch(x_anzahl){ case 1: cout << "Wie viel Prozent hatte das " << x_anzahl << ". Getraenk? (komma mit . darstellen)" << endl; cin >> prozent_1; cout << "Wie viel hast du davon getrunken? (in Liter, komma mit . darstellen)" << endl; cin >> menge_1; break; case 2: cout << "Wie viel Prozent hatte das 2. Getraenk? (komma mit . darstellen)" << endl; cin >> prozent_2; cout << "Wie viel hast du davon getrunken? (in Liter, komma mit . darstellen)" << endl; cin >> menge_2; break; case 3: cout << "Wie viel Prozent hatte das 3. Getraenk? (komma mit . darstellen)" << endl; cin >> prozent_3; cout << "Wie viel hast du davon getrunken? (in Liter, komma mit . darstellen)" << endl; cin >> menge_3; break; case 4: cout << "Wie viel Prozent hatte das 4. Getraenk? (komma mit . darstellen)" << endl; cin >> prozent_4; cout << "Wie viel hast du davon getrunken? (in Liter, komma mit . darstellen)" << endl; cin >> menge_4; break; default: cout << "fehler!" << endl; } x_anzahl++; }erstmal: kein script (ist ja nicht JavaScribt oder LUA
dann: positiv: Kommentare
allerdings den zitierten Teil eher mit Arrays + Forschleifefor(int i = anzahl_getraenke, i>0, i++) { cout << "Wie viel Promille hatte das" << i << ". getraenk?" cin >> Promille[i] //etc....}Nur mal so als erste idee, habs mir jetzt auch nicht so genau angeguckt,
-
*g entschuldige mich dann erstmal für den Titel des Beitrages ^^
die Formatierung ist grotte, da geb ich euch recht *g
@Pigeon
nicht? wohin gehört die runden.h dann in den mainteil?@Speedy_92
doch ansich läuft alles prikelnd, zwar kein schöner code, das geb ich zu, aber es läuft zunächst@all
Danke soweit ich werde dann mal nach dem LovePArade-We nochmal gezielt eure Vorschläge abarbeitenThX
-
ReenBeam schrieb:
@Pigeon
nicht? wohin gehört die runden.h dann in den mainteil?sorry, bin nicht pigeon, aber
runden.h
double runden(double x);runden.cpp
#include "runden.h" double runden(double x) { //runden implementation }main.cpp
#include "runden.h" int main(int, int) { ... runden(10.0); ... }natürlich muss dann main.cpp und runden.cpp kompiliert und gelinkt werden damit das funktioniert.
die vorteile davon wirst du noch lernen

-
Genau, Projekte sehen einfach scheisse aus im Ordner, wenn sie nur aus einer Cpp Datei bestehen die auch noch main.cpp heisst

Den echten Profi erkennt man an den 100 Dateien im Projektordner

-
inpimp schrieb:
ReenBeam schrieb:
@Pigeon
nicht? wohin gehört die runden.h dann in den mainteil?sorry, bin nicht pigeon, aber
runden.h
double runden(double x);runden.cpp
#include "runden.h" double runden(double x) { //runden implementation }main.cpp
#include "runden.h" int main(int, int) { ... runden(10.0); ... }natürlich muss dann main.cpp und runden.cpp kompiliert und gelinkt werden damit das funktioniert.
die vorteile davon wirst du noch lernen

wollt grad sagen, iwie check ich die logik nicht ^^ aber wenn ichs noch lernen werd ^^
-
ich hab dann nochmal direkt ne frage...
ich weiß ja nicht wer dieses überaus grafisch und programmiertechnisch perfekte programm ausprobiert hat *ironie ende ^^aber es müssen immer daten zur person ausgefüllt werden, was auf dauer evtl. etw. nerven kann - nein es nervt definitiv *g
jetzt würd ich das gerne handhaben, dass profile gespeichert & ausgelesen werden können...
es hapert schon beim speichern...undzwar wie bekomm ich es hin, dass die neuen datensätze immer in einer neuen Zeile gespeichert werden?
Zur zeit wird einfach nur immer der datensatz komplett ersetzt.
wie kann ich auslesen, wann das ende des letzten zeichen erreicht ist um somit eine neue Zeile zu erstellen?Ich weiß zwar noch nicht wie ich es später auslesen/einlesen soll...aber ersma Step by Step

ThX & MfG Reen
-
undzwar wie bekomm ich es hin, dass die neuen datensätze immer in einer neuen Zeile gespeichert werden?
Zur zeit wird einfach nur immer der datensatz komplett ersetzt.
wie kann ich auslesen, wann das ende des letzten zeichen erreicht ist um somit eine neue Zeile zu erstellen?Beim Stream kannst du doch das Flag std::ios::app angeben. Dadurch wird immer an die Datei drangehängt. Und dann nach jedem Datensatz einfach ein "\n"

Gruß Speedy_92