Variableninitialisierungsproblem



  • Hallo Community,
    Ich wollte hier einen kleinen Taschenrechner programmieren,

    // Mathe.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
    //
    
    #include "stdafx.h"
    #include <iostream>
    #include <conio.h>
    #include <iomanip>
    using std::cout;
    using std::cin;
    using std::endl;
    using std::setprecision;
    double a;
    double b;
    int menuvalue;
    int main()
    {
        system("COLOR 0a");
        while(true)
        {
            cout << "Waehle ein Thema\n";
            cout << " 1 Addition\n";
            cout << " 2 Subtraktion\n";
            cout << " 3 Multipilkation\n";
            cout << " 4 Division\n";
            cout << " 5 Wurzelziehen\n";
            cout << " 6 Potenzieren\n";
            cout << " 7 Exit\n";
            cout << " Wahl:";
            cin >> menuvalue;    
    
            switch (menuvalue)
            {
            case 1:
    
                system("cls");
                cout << "Addition:"<< '\n';
                cout << "Eingabe von a="; 
                cin >> a;
                cout << "Eingabe von b=";
                cin >> b;
                double var1 = a+b;
                cout << "Ergebnis c=" << setprecision(10) << var1;
                getch();
                system("cls");
                break;
    
            case 2:
    
                system("cls");
                cout << "Subtraktion:"<< '\n';
                cout << "Eingabe von a="; 
                cin >> a;
                cout << "Eingabe von b=";
                cin >> b;
                double var2 = a-b;
                cout << "Ergebnis c=" << setprecision(10) << var2;
                getch();
                system("cls");
                break;
    
            case 3:
    
                system("cls");
                cout << "Multiplikation:"<< '\n';
                cout << "Eingabe von a="; 
                cin >> a;
                cout << "Eingabe von b=";
                cin >> b;
                double var3 = a*b;
                cout << "Ergebnis c=" << setprecision(10) << var3;
                getch();
                system("cls");
                break;
    
            case 4:
    
                system("cls");
                cout << "Division:"<< '\n';
                cout << "Eingabe von a="; 
                cin >> a;
                cout << "Eingabe von b=";
                cin >> b;
                double var4 = a/b;
                cout << "Ergebnis c=" << setprecision(10) << var4;
                getch();
                system("cls");
                break;
    
            case 5:
    
                system("cls");
                cout << "Wurzelzieh:"<< '\n';
                cout << "Eingabe von a="; 
                cin >> a;
                cout << "Eingabe von b=";
                cin >> b;
                double var5 = pow(b,1/a);
                cout << "Ergebnis c=" << setprecision(10) << var5;
                getch();
                system("cls");
                break;
    
            case 6:
    
                system("cls");
                cout << "Potenzieren:"<< '\n';
                cout << "Eingabe von a="; 
                cin >> a;
                cout << "Eingabe von b=";
                cin >> b;
                double var6 = pow(a,b);
                cout << "Ergebnis c=" << setprecision(10) << var6;
                getch();
                system("cls");
                break;     
    
            case 7:
                system("cls");
                    exit(0);
                    break;
            }
        }
    
    }
    

    doch beim kompilieren sagt er:
    "Initialisierung von 'var1' durch 'case'-Marke übersprungen
    Siehe Deklaration von 'var1'".
    Und das für 'var1'-'var6'

    Wo liegt der fehler im Quelltext?

    MFG luggas



  • Setz die case Teile in geschweiften klammern dann sollte die Meldung verschwunden sein

    also

    case1:
    {
    ....
    break;
    }
    


  • Danke mach ich sofort. 😋


Anmelden zum Antworten