Announcement

Collapse
No announcement yet.

Ferien machen Blöd!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ferien machen Blöd!

    Hi, Ich brauche mal logische Hilfe da ich meine anscheinend am letzten Schultag in der Schule vergessen hab!<BR>
    *1tens: Wieso kommt Hier bei zahl=0, 40 und nicht 32 raus?<BR>
    zahl = (zahl*1.8)+32<BR><BR>
    *2tens: Ich will im Taschenrechner Prinzip eine Zahl schreiben! Das hab ich schon mal geschaft, aber den Code wieder gelöscht!<BR>
    Ohne Komma, is ja klar, geht das so(0&lt;X&lt;10):<BR>
    DargestellteZahl = DargestellteZahl * 10 +X<BR>
    Aber für Komma? Das hab ich vergessen und ich komm nicht drauf!

  • #2
    Die Fehler liegen in Deinem Quelltext. Aber den kann ich nicht sehen
    Günther

    Comment


    • #3
      äh? Meinst du in den Quelltext der auf meim PC is oder der hier im forum? Wenn du ersteres meist host ich den rest code..

      Comment


      • #4
        ok Problem 1 gesamter code:
        <BR><BR>
        //RechnerDlg.cpp<BR>
        void CRechner2Dlg::OnCon()//anderer Dialog wo man umrechnung auswählt alle auser c° -> F° klappen auch.. <BR>
        {UpdateData(TRUE);<BR>
        CConvert Dlg;<BR>
        Dlg.zahl = m_disp;<BR>
        Dlg.cat = TRUE;<BR>
        Dlg.DoModal();<BR>
        m_disp = Dlg.zahl;<BR>
        UpdateData(FALSE);}<BR>
        //Convert.cpp<BR>
        [...]//MFC Zeug + Umrechnungs auwahl<BR>
        <BR>
        void CConvert::OnOK() <BR>
        {UpdateData(TRUE);<BR>
        CString buffer;<BR>
        m_list.GetText(m_list.GetCurSel(),buffer);<BR>
        if (buffer == "C° in F°"){<BR>
        zahl = (zahl*1,8)+32;}<BR>
        if (buffer == "F° in C°"){<BR>
        zahl = (zahl-32)/1.8;}<BR>
        if (buffer == "C° in K"){<BR>
        zahl -=273.16;} <BR>
        if (buffer == "K in C°"){<BR>
        zahl +=273.16;} <BR>
        CDialog::OnOK();<BR>
        }UpdateData(FALSE);}<BR&gt

        Comment


        • #5
          Problem2 Alle Tasten:<BR><BR>

          void CRechner2Dlg::OnNull() <BR>
          {UpdateData(TRUE);<BR>
          if (next == 10) {<BR>
          m_disp *= next;<BR>
          }else{<BR>
          next *= 0.1;}<BR>
          UpdateData(FALSE);}<BR>
          <BR>
          void CRechner2Dlg::OnEins()//Zur Zeit ohne Komma <BR>
          {UpdateData(TRUE);<BR>
          if (next == 10) {<BR>
          m_disp *= 10;<BR>
          m_disp ++;<BR>
          }else{<BR>
          m_disp = (1*next) + m_disp;<BR>
          }<BR>
          UpdateData(FALSE);}<BR>
          <BR>
          void CRechner2Dlg::OnKomma() <BR>
          {<BR>
          if (next == 10) {<BR>
          next = 0,1;}<BR>
          }<BR>
          <BR>
          (Es geht sicher besser, mir reichts aber einfach

          Comment


          • #6
            Hallo Daniel,

            zu Problem 1:

            wenn Du das deutsche Dezimalkomma durch einen Dezimalpunkt ersetzt, kommt wahrscheinlich wieder 32 raus.

            Gruß
            Usch

            Comment


            • #7
              In OnKomma() ist auch ein Komma statt eines Punktes... next = 0<B>,</B>

              Comment


              • #8
                Ok, dan ist es bewiesen: Ferien machen blöd! Danke für die Hilfe! Und zu 2

                Comment


                • #9
                  Ok, dan ist es bewiesen: Ferien machen blöd! Danke für die Hilfe! Es funkt jetzt alles!<BR>Aber das giebt doch normalerweise eine Fehlermeldung?!

                  Comment

                  Working...
                  X