[C/C++] Daten auslesen und ausgeben/Nachkommazahlen begrenzen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von modus5, 26. November 2006 .

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 26. November 2006
    Daten auslesen und ausgeben/Nachkommazahlen begrenzen

    Hi,
    ich habe ein Problem und zwar folgendes. Ich will Werte aus Editfeldern auslesen, mit diesen was berechnen und das Ergebnis dann wider in einem Editfeld ausgeben.

    Beispiel:
    In Editfeld 1 bis 5 stehen Werte drin, die ich letzt .. sagen wir mal multiplizieren will und das Ergebnis dann halt auch ausgeben.

    Edit1->Text = IntToStr (1);
    Edit2->Text = IntToStr (2);
    Edit3->Text = IntToStr (3);
    Edit4->Text = IntToStr (4);
    Edit5->Text = IntToStr (5);

    Berechnung wäre ja dann so:

    Ergebnis = 1+2+3+4+5;


    Und bei der Ausgabe hapert es


    Es ist schon einige Zeit her das ich Programmiert hatte. Ich weiß das ist eigendlich eine totale Anfängerfrage aber helft mir doch bitte :)
     

  2. Anzeige
    Dealz: stark reduzierte Angebote finden.
  3. #2 26. November 2006
    AW: Daten auslesen und ausgeben

    Edit6->Text = IntToStr(StrToInt (Edit1->Text) + StrToInt (Edit2->Text) + StrToInt (Edit3->Text) + StrToInt (Edit4->Text) + StrToInt (Edit5->Text));

    Edit6 ist für das Ergebnis ;)
     
  4. #3 26. November 2006
    AW: Daten auslesen und ausgeben

    Schonmal vielen dank. Ich hatte mir das etwas anders gedacht da die Rechnung einwenig komplizierter ist.

    Edit1*Edit4/Edit2*(Edit5/Edit3)²

    Das ist die Rechnung die ich brauche. Deswegen wollte ich die Werte erst als Variable definieren, dann mit den Rechnen und als letztes erst umwandeln.

    Also muss das jetzt so aussehen!?
    Edit6->Text = IntToStr(StrToInt (Edit1->Text) * StrToInt (Edit4->Text) / StrToInt (Edit2->Text) * (StrToInt (Edit5->Text) / StrToInt (Edit3->Text))*(StrToInt (Edit5->Text) / StrToInt (Edit3->Text)));

    Damit kann ich aber nicht mit Kommazahlen rechnen!?
    Was muss ich dann nehmen?
     
  5. #4 26. November 2006
    AW: Daten auslesen und ausgeben

    double ed1, ed2, ed3, ed4, ed5, erg;
    ed1 = StrToInt (Edit1->Text);
    ed2 = StrToInt (Edit2->Text);
    ed3 = StrToInt (Edit3->Text);
    ed4 = StrToInt (Edit4->Text);
    ed5 = StrToInt (Edit5->Text);
    erg = ed1*(ed4/ed2)*((ed5/ed3)*(ed5/ed3));
    Edit6->Text = FloatToStr(erg);

    ich hoffe ich hab das richtig kappiert, aber sollte ja nicht schwer umzubauen sein. ^^
    (oft hintereinander Editfelder auszulesen geht ganz schön auf die Performance, also lieber in variablen speichern)
    double ist für gleitkommazahlen geeignet :)
     
  6. #5 26. November 2006
    AW: Daten auslesen und ausgeben

    Bei dem kleinen Tool ist das nicht relevant.
    Im moment ist es nichtmal 20k groß und viel kommt da auch nichtmehr zu ....

    Ich danke dir vielmals für deine hilfe.

    Ging erst nicht. Musste was umändern damit es geht.

    Damit geht es. Float reicht aus, da ich nur 2 Nachkommastellen brauche. Bei der Ausgabe kann ich sogar auf die verzichten.

    float ed1, ed2, ed3, ed4, ed5, erg;
    ed1 = StrToFloat (Edit1->Text);
    ed2 = StrToFloat (Edit2->Text);
    ed3 = StrToFloat (Edit3->Text);
    ed4 = StrToFloat (Edit4->Text);
    ed5 = StrToFloat (Edit5->Text);
    erg = ed1*(ed4/ed2)*((ed5/ed3)*(ed5/ed3));
    Edit6->Text = FloatToStr(erg);

    Wie kann ich die Nachkommastellen nicht mit anzeigen?
     
  7. #6 26. November 2006
    AW: Daten auslesen und ausgeben/Nachkommazahlen begrenzen

    ganz oben mit einbinden: #include <math.hpp>

    Edit6->Text = FloatToStr(RoundTo(erg,0)); // 0 keine nachkommastelle, -1 eine nachkommastelle
     
  8. #7 26. November 2006
    AW: Daten auslesen und ausgeben/Nachkommazahlen begrenzen

    Danke jetzt funktioniert alles wie es soll :D
     

  9. Videos zum Thema
Die Seite wird geladen...