C++ Frage (if-verzweigung)

Weiterhin würde ich beachten, das die Hochsprachen case sensitive sind. Die Eingabe von "w" und "W" wird also unterschiedliche Ergebnisse bewirken.
Die While-Schleife versteh ich auch nicht so recht.
Kann ja sein, das ich blind bin...aber wo ist denn überhaupt die Berechnung?
Ich versteh immer noch nicht ganz, wieso alle deine Variablen vom Typ "Integer" sind. Bei Gewicht...ok wär machbar...aber geschlecht müsste doch ein String sein (keine Zahl) und die Menge ist doch mit Sicherheit ne Kommazahl...alles andere wäre zu ungenau.
 
integer heißt jede ganzzahl ohne kommastelle

alle gültigen eingabewerte (zahlen von 1 bis 9 bzw 0 bis 9) sind jedenfalls ganzzahlenwerte und sind ohne probleme durch integer darstellbar...
das stimmte schon so...

aber die 0.6 bzw 0.7 wird man mit integer nicht darstellen können denke ich... das müsste wohl eher double sein...


geschlecht ist ein char... also character... d.h. ein einzelnes zeichen... ich weiß grade ned, ob der zeichensatz dabei auf ascii zeichen beschränkt ist, oder auch ansi zeichen berücksichtigt...

das mit dem case sensitive stimmt allerdings...
http://www.torsten-horn.de/techdocs/ascii.htm

wie man sieht ist bspw das große W ascii 87, während das kleine w ascii 119 wäre...
da muss in die if() anweisung unbedingt eine oder-verzweigung...

vermutlich so:

if ((geschlecht =='W')||(geschlecht =='w')) { ... }



@ alkoholmenge:

es stellt sich die frage, ob C++ castet und wenn ja wohin der typecast umwandelt...

also wenn ich integer mit double multipliziere, kommt dann ein doublewert als ergebnis raus? oder gibts einfach ne fehlermeldung?

das müsste mal wer sagen, der sich mit C++ auskennt...

was aber bestimmt geht:

double Alkoholmenge;
double fraualk;
double mannalk;

double alk2 = Alkoholmenge / fraualk * (double)Gewicht;
double alk1 = Alkoholmenge / mannalk * (double)Gewicht;

das (double) vorm gewicht ist ein typecast...

also da werden bestimmte variablen in einander umgewandelt nach bestimmten regeln...

z.b. hier eine natürliche zahl (int) zu einer fließkommazahl mit doppelter genauigkeit (double)

dadurch bleibt der wert erhalten, aber man kann mit kommastellen rechnen... :)
 
In PHP gibts für case sensitive folgende Möglichkeit. Man wandelt den String (anscheinend heißt das in C char :D) mit einer Funktion wie strtolower(); (sowas gibts bestimmt auch in C) um, so dass alle Buchstaben klein gemacht werden und arbeitet dann damit weiter.

Wenn du mit unseren Erklärungsversuchen nicht so klar kommst, dann versuchs mal bei den Profis im tutorials.de Portal. Denn irgendwie drehen wir uns hier und kommen auf keinen richtigen Nenner.

C++ Forum Tutorials.de
 
Back
Top Bottom