Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

wir haben die Aufgabe das Seitenverhältnis einer gegebenen Auflösung zu berechnen.

An sich ist das auch überhaupt kein Problem:


seitenverhaeltnis=4.00/3.00;

Damit man das schöner ausgeben lassen kann (4:3, 16:9 etc) habe ich folgende if-Schleife gebastelt (Dabei würde ich gerne auch bleiben, weil wir switch-case noch nicht besprochen haben):

if(seitenverhaeltnis==4/3)     //Diese Verzweigung formatiert das errechnete Seitenverhaeltnis in die Werte 4:3, 16:9 oder 16:10

  {

        seitenverhaeltnis_h=4;

        seitenverhaeltnis_v=3;

  } else {

        if(seitenverhaeltnis==16/9)

        {

            seitenverhaeltnis_h=16;

            seitenverhaeltnis_v=9;

        } else {

            if(seitenverhaeltnis==16/10)

            {

             seitenverhaeltnis_h=16;

             seitenverhaeltnis_v=10;

            }

        }

    }

Leider funktioniert das nicht. Es wird für seitenverhaeltnis_h und seitenverhaeltnis_v jeweils eine 0 ausgegeben.

Habe ich hier echt so einen großen Denkfehler?

Hoffe auf eure Mithilfe :)

Geschrieben

Lass dir mal ausgeben, welcher Wert in seitenverhaeltnis steht.

Grundsätzlich ist es keine gute Idee, Fließkommavariablen auf Gleichheit zu testen, wegen der eingebauten Ungenauigkeit.

Besser wäre so etwas, wenn du es denn unbedingt nur mit vorgegebenen Verhältnissen machen willst:

if(h * 3 == v * 4) // 4:3

Geschrieben
Lass dir mal ausgeben, welcher Wert in seitenverhaeltnis steht.

Grundsätzlich ist es keine gute Idee, Fließkommavariablen auf Gleichheit zu testen, wegen der eingebauten Ungenauigkeit.

Besser wäre so etwas, wenn du es denn unbedingt nur mit vorgegebenen Verhältnissen machen willst:

if(h * 3 == v * 4) // 4:3

Mit dem Code funktioniert es komischerweise. Rechnerisch ist das ja identisch.

Danke dafür:)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...