PHP Forum - Coding Board
Juni 19, 2018, 11:23:24 *
Willkommen Gast. Bitte einloggen oder registrieren.

Einloggen mit Benutzername, Passwort und Sitzungslänge
News:
 
   Übersicht   Hilfe Suche Einloggen Registrieren  
Seiten: [1]
  Drucken  
Autor Thema: Hilfe bei default in switch  (Gelesen 156 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
huebkov
Jr. Member
**
Beiträge: 51



Profil anzeigen E-Mail
« am: März 22, 2009, 12:25:21 »

CODE]#include <iostream>

using namespace std;

int main()
{

    float zahl_1;
    float zahl_2;
    float zahl_3;
    char funktion;

    do
    {

    system(&quot;CLS&quot;);

    cout << &quot;Verfuegbare Funktionen: + - * /&quot; << endl << endl;

    cout << &quot;Bitte waehlen sie die Rechenfunktion: &quot;;
    cin >> funktion;

    cout << &quot;Bitte erste Zahl eingeben: &quot;;
    cin >> zahl_1;

    cout << &quot;Bitte zweite Zahl eingeben: &quot;;
    cin >> zahl_2;

   switch (funktion)
   {

    case '1':
        zahl_3 = zahl_1 + zahl_2;
        cout << &quot;Das Ergebnis ist: &quot; << zahl_3 << endl;
        system(&quot;PAUSE&quot;);
        break;
    case '2':
        zahl_3 = zahl_1 - zahl_2;
        cout << &quot;Das Ergebnis ist: &quot; << zahl_3 << endl;
        system(&quot;PAUSE&quot;);
        break;
    case '3':
        zahl_3 = zahl_1 * zahl_2;
        cout << &quot;Das Ergebnis ist: &quot; << zahl_3 << endl;
        system(&quot;PAUSE&quot;);
        break;
    case '4':
        zahl_3 = zahl_1 / zahl_2;
        cout << &quot;Das Ergebnis ist: &quot; << zahl_3 << endl;
        system(&quot;PAUSE&quot;);
        break;
    default:
        cout << &quot;Nur die Funktionen +, -, * und / zugelassen!&quot;;

   }

   } while(1);

    return 0;

}
[/CODE
Code:
#include <iostream>

using namespace std;

int main()
{

    float zahl_1;
    float zahl_2;
    float zahl_3;
    char funktion;

    do
    {

    system(&quot;CLS&quot;);

    cout << &quot;Verfuegbare Funktionen: + - * /&quot; << endl << endl;

    cout << &quot;Bitte waehlen sie die Rechenfunktion: &quot;;
    cin >> funktion;

    cout << &quot;Bitte erste Zahl eingeben: &quot;;
    cin >> zahl_1;

    cout << &quot;Bitte zweite Zahl eingeben: &quot;;
    cin >> zahl_2;

   switch (funktion)
   {

    case '1':
        zahl_3 = zahl_1 + zahl_2;
        cout << &quot;Das Ergebnis ist: &quot; << zahl_3 << endl;
        system(&quot;PAUSE&quot;);
        break;
    case '2':
        zahl_3 = zahl_1 - zahl_2;
        cout << &quot;Das Ergebnis ist: &quot; << zahl_3 << endl;
        system(&quot;PAUSE&quot;);
        break;
    case '3':
        zahl_3 = zahl_1 * zahl_2;
        cout << &quot;Das Ergebnis ist: &quot; << zahl_3 << endl;
        system(&quot;PAUSE&quot;);
        break;
    case '4':
        zahl_3 = zahl_1 / zahl_2;
        cout << &quot;Das Ergebnis ist: &quot; << zahl_3 << endl;
        system(&quot;PAUSE&quot;);
        break;
    default:
        cout << &quot;Nur die Funktionen +, -, * und / zugelassen!&quot;;

   }

   } while(1);

    return 0;

}
Gespeichert

Klaatu
Ex-Teammember
Full Member
***
Beiträge: 104



Profil anzeigen E-Mail
« Antworten #1 am: März 22, 2009, 01:13:38 »

Das ist kein richtiges C++ L&#228;chelnd Nach dem Standard muss jede Variable aufjedenfall einen Wert haben. Zudem finde ich deinen Lösungsweg nicht so besonders, hab mal den Source von dir schnell umgeschrieben:
ok... Den Datentyp 'char' sollte man im richtigen C++ Programmieren nicht mehr benutzen, glaub ich Smiley

Code:
#include <iostream>
#include <windows.h>

using namespace std;

int main()
{

    float zahl_1=0.0;
    float zahl_2=0.0;
    char funktion;

    while(VK_F8){

if(VK_F8){
    system(&quot;CLS&quot;);
    cout << &quot;Verfuegbare Funktionen: + - * /&quot; << endl << endl;
    cout << &quot;Bitte waehlen sie die Rechenfunktion: &quot;;
    cin >> funktion;
    funktion =funktion=='+'?'+':(funktion=='-'?'-':(funktion=='*'?'*':'\0'));
    if(funktion=='\0'){cout <<&quot;Nur die Funktionen +, -, * und / zugelassen!&quot;;Sleep(2000);break;
}
    cout << &quot;Bitte erste Zahl eingeben: &quot;;
    cin >> zahl_1;
    cout << &quot;Bitte zweite Zahl eingeben: &quot;;
    cin >> zahl_2;

    cout << &quot;Das Ergebnis ist: &quot; <<
   (int)(funktion=='+'
   ?(zahl_1+zahl_2)
   :(funktion=='-'?(zahl_1-zahl_2)
   :(funktion=='*'?(zahl_1*zahl_2)
   :(funktion=='/'?(zahl_1/zahl_2)
   :-1)))) << endl;
    system(&quot;PAUSE&quot;);}Sleep(1);}
return 0;
}
« Letzte Änderung: März 22, 2009, 11:32:19 von Klaatu » Gespeichert

huebkov
Jr. Member
**
Beiträge: 51



Profil anzeigen E-Mail
« Antworten #2 am: März 22, 2009, 09:18:35 »

Ok, danke, ich arbeite mich ma ein, gerade aber keine Zeit.
Trotzdem danke für deine Hilfe...
Gespeichert

k0rxxx
Newbie
*
Beiträge: 12


Profil anzeigen E-Mail
« Antworten #3 am: März 22, 2009, 11:08:57 »

c++, "standard" & windows.h widerspricht sich selbst finde ich ;]
Gespeichert

"Ich häng ne Discokugel in deine Familiengruft und grabe deine Mutter aus ... mein neuer Lieblingspuff"
slimline
Newbie
*
Beiträge: 25



Profil anzeigen E-Mail
« Antworten #4 am: März 27, 2009, 02:49:29 »

Ich finde auch das windows.h in so einem kleinen Programm nichts zu suchen hat.
@huebkov:
Versuche immer system(); Aufrufe zu vermeiden.
Zitat
Gespeichert

Debuggers don't remove bugs, they only show them in slow motion.
[SIGPIC]http://img182.imageshack.us/img182/812/archuserbar2jz6.png[/SIGPIC]
Seiten: [1]
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | New Look by Nolt Prüfe XHTML 1.0 Prüfe CSS