none
Wie kann ich machen, dass die Eingabe der "Kills" durch die Eingabe der "Deaths" geteilt wird? RRS feed

  • Frage

  • Hallo

    liebe Programmierer,

    ich bin noch ziemlich neu im Programmieren und habe mich heute an meiner ersten Windows.Forms Anwendung versucht. Ich benutze "Visual c++ 2008 express edition". Ich versuche eine Art Rechner zu entwickeln. Ich habe 2 Eingabe Fenster eingebaut. Der User soll in beide Fenster zahlen eingeben. Das programm teilt dann die erste Eingabe durch die Zweite. Das ganze sieht mittler weile so aus:


    KILCK

    Wie kann ich machen, dass die Eingabe der "Kills" durch die Eingabe der "Deaths" geteilt wird?

    ich habe mir irgendwie sowas in der Art vorgestellt:

    System::Windows::Forms::MessageBox::Show("Ihre Ratio ist: ")
    
    Schonmal vielen Dank im vorraus.
    LG Lucas
    Samstag, 4. Dezember 2010 11:23

Antworten

Alle Antworten

  • Als Vorwort:
    http://blog.kalmbach-software.de/de/2010/03/05/ccli-und-winforms-macht-keinen-sinn/

    Wie kann ich machen, dass die Eingabe der "Kills" durch die Eingabe der "Deaths" geteilt wird?

    Aber trotzdem:

    double kills = double::Parse(textBoxKills->Text);
    double deaths = double::Parse(textBoxDeaths->Text);
    MessageBox::Show(string::Format("Ihre Ratio ist: ", kills / deatchs);

    Jochen Kalmbach (MVP VC++)
    Samstag, 4. Dezember 2010 11:33
  • Vielen Dank für die schnelle Antwort. Leider geht es immer noch nicht:

     

    1>c:\dokumente und einstellungen\xzibit\eigene dateien\visual studio 2008\projects\test's\test3\test4.1\test4.1\Form1.h(176) : error C3861: "format": Bezeichner wurde nicht gefunden.

     

    Muss noch irgendwas "includen" ???

    Samstag, 4. Dezember 2010 11:49
  • > 1>c:\dokumente und einstellungen\xzibit\eigene dateien\visual studio 2008\projects\test's\test3\test4.1\test4.1\Form1.h(176) : error C3861: "format": Bezeichner wurde nicht gefunden.

    C++/CLI ist eine case-sensitive Sprache!
    Somit musst Du "Format" schreiben... und nicht "format"!

    Und bitte: Verwendet C#, das ersprart Dir viel unnötigen Frust!
    Das ganze wird noch viel komplizierter, wenn Du das Programm verteilen willst...


    Jochen Kalmbach (MVP VC++)
    Samstag, 4. Dezember 2010 11:59
  • Vielen Dank erstmal für Deine Hilfe. Ich habe mich hald schon für C++ entschieden und würde auch gerne dabei bleiben. Ich habe mir auch schon das Buch "Einstieg in C++. Galileo Computing" gekauft.

    Ok ich habe Format großgeschrieben aber es funktioniert noch immer nicht.

     

    double kills = double::Parse(textBoxKills->Text);
    double deaths = double::Parse(textBoxDeaths->Text);
    

    Soweit habe ich es noch verstanden. 

    MessageBox::Show(string::Format("Ihre Ratio ist: ", kills / deaths);
    Aber hier fehlt doch eine "Klammer zu" oder nicht?
    Sonntag, 5. Dezember 2010 13:45
  • MessageBox::Show(string::Format("Ihre Ratio ist: ", kills / deaths);

    Aber hier fehlt doch eine "Klammer zu" oder nicht?

    Warum probierst Du es nicht aus?


    Jochen Kalmbach (MVP VC++)
    Sonntag, 5. Dezember 2010 16:14
  • Mach ich schon den halben Tag. Ich bekomm das Programm einfach nicht zum laufen...
    Sonntag, 5. Dezember 2010 16:20
  • Am 05.12.2010 17:20, schrieb Punker123:

    Mach ich schon den halben Tag. Ich bekomm das Programm einfach nicht zum laufen...

    Glaub mir... es wird Dir nicht das Bein brechen, wenn Du jetzt noch auf C# umsteigst... da wirst Du wesentlich weniger Schwierigkeiten haben.
    C++/CLI macht nur Sinn, wenn Du schon C/C++ kannst!
    Für einen Anfänger ist es unzumutbar...

    Nimm mal das:

    #undef MessageBox
    MessageBox::Show(string::Format("Ihre Ratio ist: ", kills / deaths));

    Jochen Kalmbach (MVP VC++)
    Sonntag, 5. Dezember 2010 16:29
  • Habs auch falsch gemacht... nimm lieber das:

    #undef MessageBox
    MessageBox::Show(System::String::Format("Ihre Ratio ist: ", kills / deaths));

    Jochen Kalmbach (MVP VC++)
    Sonntag, 5. Dezember 2010 16:35
  • Hab ich inzwischen auch selber rausgefunden ;) Vielen Dank.

     

     

        double kills = double::Parse(textBox1->Text);
        double deaths = double::Parse(textBox2->Text);
        
        
        double ergebnis = kills / deaths;
    
        #undef MessageBox
        MessageBox::Show(System::String::Format("Ihre Ratio ist: ", ergebnis));

     


    Das Programm zeigt mir aber noch immer kein Ergebnis an!? Muss ich noch etwas machen? Bei Bedarf kann ich auch den ganze Code posten.

     

    Sonntag, 5. Dezember 2010 17:41
  • Hi, hast du es schon hinbekommen? Wenn nicht, dann probier mal folgendes:

     System::Double ergebnis = 1.8; //Beispielvariable
     MessageBox::Show("das Egebnis ist: " + ergebnis.ToString());
    
    Sollte funktionieren!

    Dienstag, 7. Dezember 2010 07:02
  • Ach noch etwas... das Einlesen der Werte brauchst du auch nicht mit Parse machen. Geht schöner so:

    System::Double ergebnis = Convert::ToDouble(textBoxKills->Text) / Convert::ToDouble(textBoxDeaths->Text);
    MessageBox::Show("Dein Amokratio ist: " + ergebnis.ToString());
     
    Dienstag, 7. Dezember 2010 07:07
  • Tausend Dank :) Das Programm funktioniert nun.
    Dienstag, 7. Dezember 2010 15:14