Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: C++/CLI mit .NET ::  kleiner Taschenrechner  
Gehen Sie zu Seite 1, 2  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
lumma87
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.12.2010
Beiträge: 7
Beitrag lumma87 Mitglied 21:03:13 22.02.2011   Titel:   kleiner Taschenrechner            Zitieren

Servus Zusammen,

ich hoffe mir kann einer weiterhelfen.

Ich habe mir gerade mit WinForms einen kleinen Taschenrechner erstellt!

Er ist wie folgt aufgebaut:

2 TextBox für die Eingabe der zu Berechnenden Zahlen
1 Label als Anzeige für das Ergebnis
1 ComboBox mit den Mathematischen Zeichen z.B. + - * /
1 Button fürs Berechnen

Als erstes hatte ich die Mathematischen Zeichen mit RadioButton dargestellt und es hat alles geklappt:
C++/CLI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
private: System::Void cmdberechnen_Click(System::Object^  sender, System::EventArgs^  e) {
             Single zahl1, zahl2, ergebnis = 0;
             Boolean divDurchNull = false;
             zahl1=Convert::ToSingle(txt1->Text);
             zahl2=Convert::ToSingle(txt2->Text);
            if (radio1->Checked == true)
                ergebnis = zahl1 + zahl2;
            if (radio2->Checked == true)
                ergebnis = zahl1 - zahl2;
            if (radio3->Checked == true)
                ergebnis = zahl1 * zahl2;
            if (radio4->Checked == true)
                ergebnis = zahl1 / zahl2;

             if (comboBox1->SelectedItem == true){
                 if (zahl2 == 0)
                     divDurchNull = true;
                 else
                    ergebnis = zahl1 / zahl2;
             }
             if (divDurchNull == true)
                 label2->Text = "Nicht Deklariert";
             else
                 label2->Text = Convert::ToString(ergebnis);


         }
C++/CLI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
private: System::Void cmdberechnen_Click(System::Object^ sender, System::EventArgs^ e) {
Single zahl1, zahl2, ergebnis = 0;
Boolean divDurchNull = false;
zahl1=Convert::ToSingle(txt1->Text);
zahl2=Convert::ToSingle(txt2->Text);
if (radio1->Checked == true)
ergebnis = zahl1 + zahl2;
if (radio2->Checked == true)
ergebnis = zahl1 - zahl2;
if (radio3->Checked == true)
ergebnis = zahl1 * zahl2;
if (radio4->Checked == true)
ergebnis = zahl1 / zahl2;

if (comboBox1->SelectedItem == true){
if (zahl2 == 0)
divDurchNull = true;
else
ergebnis = zahl1 / zahl2;
}
if (divDurchNull == true)
label2->Text = "Nicht Deklariert";
else
label2->Text = Convert::ToString(ergebnis);


}
C++/CLI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
private: System::Void cmdberechnen_Click(System::Object^  sender, System::EventArgs^  e) {
             Single zahl1, zahl2, ergebnis = 0;
             Boolean divDurchNull = false;
             zahl1=Convert::ToSingle(txt1->Text);
             zahl2=Convert::ToSingle(txt2->Text);
            if (radio1->Checked == true)
                ergebnis = zahl1 + zahl2;
            if (radio2->Checked == true)
                ergebnis = zahl1 - zahl2;
            if (radio3->Checked == true)
                ergebnis = zahl1 * zahl2;
            if (radio4->Checked == true)
                ergebnis = zahl1 / zahl2;

             if (comboBox1->SelectedItem == true){
                 if (zahl2 == 0)
                     divDurchNull = true;
                 else
                    ergebnis = zahl1 / zahl2;
             }
             if (divDurchNull == true)
                 label2->Text = "Nicht Deklariert";
             else
                 label2->Text = Convert::ToString(ergebnis);


         }


kann mir eventuell einer einen Tipp geben wie ich die Zeichen aus der ComboBox zum Berechnen nehmen kann?
Doug_HH
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.09.2007
Beiträge: 493
Beitrag Doug_HH Mitglied 21:21:40 22.02.2011   Titel:              Zitieren

Ich würde das über eine "switch-case Anweisung" machen.
Dieser Vorschlag ist noch Ausbaufähig...


C++/CLI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Single zahl1, zahl2, ergebnis = 0;
Boolean divDurchNull = false;
zahl1=Convert::ToSingle(txt1->Text);
zahl2=Convert::ToSingle(txt2->Text);
               
    switch (Convert::ToChar(comboBox1->Text))
    {
        case '+':
        ergebnis = zahl1 + zahl2;
           break;

        case '-':
        ergebnis = zahl1 - zahl2;
           break;

        case '/':
        ergebnis = zahl1 / zahl2;
           break;

        case '*':
        ergebnis = zahl1 * zahl2;
           break;

        default:
           break;
     }

       label1->Text = ergebnis.ToString();
C++/CLI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Single zahl1, zahl2, ergebnis = 0;
Boolean divDurchNull = false;
zahl1=Convert::ToSingle(txt1->Text);
zahl2=Convert::ToSingle(txt2->Text);

switch (Convert::ToChar(comboBox1->Text))
{
case '+':
ergebnis = zahl1 + zahl2;
break;

case '-':
ergebnis = zahl1 - zahl2;
break;

case '/':
ergebnis = zahl1 / zahl2;
break;

case '*':
ergebnis = zahl1 * zahl2;
break;

default:
break;
}

label1->Text = ergebnis.ToString();
C++/CLI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Single zahl1, zahl2, ergebnis = 0;
Boolean divDurchNull = false;
zahl1=Convert::ToSingle(txt1->Text);
zahl2=Convert::ToSingle(txt2->Text);
               
    switch (Convert::ToChar(comboBox1->Text))
    {
        case '+':
        ergebnis = zahl1 + zahl2;
           break;

        case '-':
        ergebnis = zahl1 - zahl2;
           break;

        case '/':
        ergebnis = zahl1 / zahl2;
           break;

        case '*':
        ergebnis = zahl1 * zahl2;
           break;

        default:
           break;
     }

       label1->Text = ergebnis.ToString();

_________________
The next time you think you are perfect, try walking on water.
www.rb-softarticle.com
lumma87
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.12.2010
Beiträge: 7
Beitrag lumma87 Mitglied 21:27:11 22.02.2011   Titel:              Zitieren

Danke für die schnelle Antwort!

Damit funktioniert es auf jeden Fall schon mal!
lumma87
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.12.2010
Beiträge: 7
Beitrag lumma87 Mitglied 21:37:57 22.02.2011   Titel:              Zitieren

Ich habe es jetzt mal so probiert, aber es klappt nicht!
kann mir jemand sagen wo der fehler ist?
C++/CLI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
private: System::Void cmdberechnen_Click(System::Object^  sender, System::EventArgs^  e) {
             Single zahl1, zahl2, ergebnis = 0;
             Boolean divDurchNull = false;
             zahl1=Convert::ToSingle(txt1->Text);
             zahl2=Convert::ToSingle(txt2->Text);
            if (comboBox1->SelectedIndex=0)
                ergebnis = zahl1 + zahl2;
            if (comboBox1->SelectedIndex=1)
                ergebnis = zahl1 - zahl2;
            if (comboBox1->SelectedIndex=2)
                ergebnis = zahl1 * zahl2;
            if (comboBox1->SelectedIndex=3)
                ergebnis = zahl1 / zahl2;

             if (comboBox1->SelectedIndex=3){
                 if (zahl2 == 0)
                     divDurchNull = true;
                 else
                    ergebnis = zahl1 / zahl2;
             }
             if (divDurchNull == true)
                 label2->Text = "Nicht Deklariert";
             else
                 label2->Text = Convert::ToString(ergebnis);


         }
C++/CLI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
private: System::Void cmdberechnen_Click(System::Object^ sender, System::EventArgs^ e) {
Single zahl1, zahl2, ergebnis = 0;
Boolean divDurchNull = false;
zahl1=Convert::ToSingle(txt1->Text);
zahl2=Convert::ToSingle(txt2->Text);
if (comboBox1->SelectedIndex=0)
ergebnis = zahl1 + zahl2;
if (comboBox1->SelectedIndex=1)
ergebnis = zahl1 - zahl2;
if (comboBox1->SelectedIndex=2)
ergebnis = zahl1 * zahl2;
if (comboBox1->SelectedIndex=3)
ergebnis = zahl1 / zahl2;

if (comboBox1->SelectedIndex=3){
if (zahl2 == 0)
divDurchNull = true;
else
ergebnis = zahl1 / zahl2;
}
if (divDurchNull == true)
label2->Text = "Nicht Deklariert";
else
label2->Text = Convert::ToString(ergebnis);


}
C++/CLI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
private: System::Void cmdberechnen_Click(System::Object^  sender, System::EventArgs^  e) {
             Single zahl1, zahl2, ergebnis = 0;
             Boolean divDurchNull = false;
             zahl1=Convert::ToSingle(txt1->Text);
             zahl2=Convert::ToSingle(txt2->Text);
            if (comboBox1->SelectedIndex=0)
                ergebnis = zahl1 + zahl2;
            if (comboBox1->SelectedIndex=1)
                ergebnis = zahl1 - zahl2;
            if (comboBox1->SelectedIndex=2)
                ergebnis = zahl1 * zahl2;
            if (comboBox1->SelectedIndex=3)
                ergebnis = zahl1 / zahl2;

             if (comboBox1->SelectedIndex=3){
                 if (zahl2 == 0)
                     divDurchNull = true;
                 else
                    ergebnis = zahl1 / zahl2;
             }
             if (divDurchNull == true)
                 label2->Text = "Nicht Deklariert";
             else
                 label2->Text = Convert::ToString(ergebnis);


         }



Fehler 1 error C2451: Bedingter Ausdruck des Typs 'void' nicht zulässig
theta
Mitglied

Benutzerprofil
Anmeldungsdatum: 26.09.2008
Beiträge: 3814
Beitrag theta Mitglied 21:41:24 22.02.2011   Titel:              Zitieren

Vergleiche sind mit ==.
Zuweisungen sind mit =.
lumma87
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.12.2010
Beiträge: 7
Beitrag lumma87 Mitglied 21:57:34 22.02.2011   Titel:              Zitieren

Ohh man... Wenn man seine AUgen nicht aufmacht :eek: ...

Danke schön
lumma87
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.12.2010
Beiträge: 7
Beitrag lumma87 Mitglied 22:06:44 22.02.2011   Titel:              Zitieren

Ich habe noch mal eine kleine frage!

Ich habe ne Aufgabe dort soll nach dem Betätigen von einem Button ein Label von der Position 0 nach 200 wandern:

Ich habe folgendes erstellt:

label1->Top = label1->Top + 2;

so wandert das label aber immer nur 2 nach unten bei betätigen des button!
Wie bekomme ich es hin das nach einmal betätigen das Label komplett wandert?

Danke
Doug_HH
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.09.2007
Beiträge: 493
Beitrag Doug_HH Mitglied 23:25:07 22.02.2011   Titel:              Zitieren

Da solltest Du ein neues Thread anfangen.

Wenn Du es über eine Schleife machst, siehst Du das wandern nicht.
Also würde ich es über einen Timer machen.
Sieht nach einer Schulaufgabe aus!?

Man kann sowas auch so schreiben...

C++/CLI:
label1->Top += 2;
C++/CLI:
label1->Top += 2;
C++/CLI:
label1->Top += 2;



Gruß

Doug_HH

Edit: Code auf kurze Schreibweise geändert.

_________________
The next time you think you are perfect, try walking on water.
www.rb-softarticle.com


Zuletzt bearbeitet von Doug_HH am 23:27:50 22.02.2011, insgesamt 1-mal bearbeitet
Stare
Unregistrierter




Beitrag Stare Unregistrierter 15:09:50 20.01.2012   Titel:              Zitieren

Und wie kann man das jetzt wandern lassen? Habe nämlich das selbe problem und ich stehe hier extrem auf dem Schlauch
µ
Mitglied

Benutzerprofil
Anmeldungsdatum: 14.06.2001
Beiträge: 1551
Beitrag µ Mitglied 15:20:38 20.01.2012   Titel:              Zitieren

Mit einem Timer! Steht doch da oben.
C/C++ Forum :: C++/CLI mit .NET ::  kleiner Taschenrechner  
Gehen Sie zu Seite 1, 2  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.