Operatoren gesucht (in do while Schleife)
-
Dachte eigentlich, dass der Code schon C++ ist. Zumindest in Visual C++ geschrieben.
Deine Lösung hatte ich schon versucht. Aber es funktioniert so leider nicht ganz. Hast du dir Zeile 3 so vorgestellt?
#include <stdio.h> #include <ctype.h> #define INKL_KM 60.0 #define KM_PREIS 0.40 #define TAG_PREIS 60.0 int main(void) {char weiter; double km, tage, preis, zus_km; do { printf("Tage:"); scanf ("%lf", &tage); printf("Kilometer:"); scanf("%lf", &km); zus_km = km - tage * INKL_KM; if(zus_km <0) zus_km =0; preis = tage * TAG_PREIS + zus_km * KM_PREIS; printf("Preis: %.2f EUR \n", preis); do { printf("Nochmal (j/n) bzw. (J/N): "); scanf (" %c", &weiter); } while (weiter !='j' && weiter != 'n' && weiter!='J' && weiter !='N'); /*2*/ } while (weiter == 'j' && weiter == 'J'); /*3*/ return 0; }
-
aber vermutlich hast du Recht, Visual C++ macht das Programm noch nicht zu C++
-
...
-
while (weiter == 'j' ^ weiter == 'J'); /*3*/Hab es mal mit "Oder" versucht..
Danke!
-
Das ist aber kein Oder, das ist ein XOR...
Edit: Macht aber in diesem Fall das Gleiche.
-
Also korrekt dann so?
while (weiter == 'j' || weiter == 'J'); /*3*/was macht das XOR? Ich kenn sonst nur NOR NAND etc. also negiert..
Gruß
-
XOR = Exclusive OR = ausschliessendes Oder ("Entweder Oder")
Im Falle von
boolist das Resultat einer XOR-Verknüpfung genau danntrue, wenn einer der beiden Operandentrueist.
-
...
-
sauber..
-
felixhase schrieb:
sauber..
Nicht wirklich. Ich persönlich empfinde die Benutzung des Komma-Operators in den Schleifenköpfen eher als Missbrauch, andere mögen es vielleicht als "coolen Trick" ansehen. Leicht lesbar (weil bekannt) ist es jedenfalls nicht. Alles in eine Funktion zu stopfen halte ich auch für nicht so prickelnd. Die ständige Wiederholung (cerr, cin.ignore, cin.clear) ist aber auf keinen Fall sauber. Die Definition von Variablen wie ch Ewigkeiten bevor sie tatsächlich gebraucht werden ist im letzten Jahrtausend in C nötig gewesen, in C++ aber nie.
Davon mal abgesehen ist das Programm schlichtweg verbuggt. Es ist eine Fehlerbehandlung eingebaut, die keine Fehler behandelt:
http://ideone.com/3lx0Bz (auf den Input achten!)
-
...
-
*Popcorn nehm und bequem hinsetz*
Ich glaub das wird lustig

-
...