Hallo Leute, ich bin ziemlich neu in Programmierung und arbeite mich durch Stroustrups "Programmierung, Prinzipien und Praxis mit C++" und ich bin am Ende von Kapitel 3 mit vollständig zum Stillstand gekommen eine Übung, in der Sie aufgefordert werden, ein Stück Code zu schreiben, das eine Anzahl von Berechnungen mit 2 Zahlen durchführt, einschließlich des Ermittelns des Verhältnisses der Zahlen. Unglücklicherweise wurde das im Buch nicht behandelt und ich reiße mir die Haare aus, um es selbst herauszufinden, nur in der Lage, für meinen kleinen kleinen Kopf Beispiele zu finden.C++ Berechnung des Verhältnisses von 2 Zahlen
Der Code, den ich im Moment habe, ist:
double ratio;
if (val2 > val1)
ratio = (val2/val1);
if (val2 < val1)
ratio = (val1/val2);
cout << "The ratio of " << val1 << " and " << val2 << " is 1:" << ratio << '\n';
, die für Zahlen, die auf ein ganzes Verhältnis gleichsetzen (zB 100 und 25) aber trotz mir Setzen der Variable „ratio“ als Doppel ihm gut funktionieren Entfernt alle Dezimalstellen aus der Antwort, wenn es sich nicht um ganzzahlige Verhältnisse handelt. Kann mir jemand sagen, wo ich falsch liege?
Dies ist nicht das Problem, aber 'ratio = (val2/val1)' braucht keine Klammern. –
'((double) val2)/val1'; * Ganzzahl * Division liefert * Ganzzahl *, z.'7/2 == 3' und' 7% 2 == 1' (Rest) wenn '7.0/2 = 3.5' –
Was sind die Arten von' val1' und 'val2'? (Ja, ich bin mir ziemlich sicher, dass ich die Antwort kenne, aber das ist das erste, was du dir ansehen solltest, wenn du überraschendes Verhalten bekommst) –