brauche Hilfe bei switch Anweisung!



  • Hallo,
    ich habe ein Programm mit Visual C++ geschrieben wo eine switch Anweisung in der Main Funktion vorkommt. Nun möchte ich die Main Funktion in einzelne Funktionen aufschlüsseln.
    Bei der "Eingabe" habe ich keine Probleme aber wenn ich den switch Teil als eigenständige Funktion herausgliedern will bekomme ich immer einen Fehler. Wie genau sieht die Deklaration bzw. die Aufruffunktion für eine switch Anweisung aus, wenn ich eine char Variable suche?
    Ein weiteres Problem besteht darin das ich in der switch Anweisung 2 weitere kleine Funktionen aufrufen will, wo das Programm immer sagt nicht deklarierter Bezeichner.

    Als Beispiel:

    switch(Art)
    {
    case 'L':
    case 'l':
    linear(a,n);
    break;
    case 'D':
    case 'd':
    degressiv(a,n);
    break;
    default:
    cout << "Ihre Auswahl ist ungueltig!" << endl;
    }

    Ich hoffe es kann mir jemand helfen.
    Danke schon mal!



  • switch(Art)
    {
        case 'L':
        case 'l':
            linear(a,n);
            break;
        case 'D':
        case 'd':
            degressiv(a,n);
            break;
        default:
            cout << "Ihre Auswahl ist ungueltig!" << endl;
    }
    

    das sieht eig syntaktisch richtig aus, sofern es die funktion linear und degressiv gibt und die vairablen alle stimmen und existieren...



  • Ja das ist jetzt ein Ausschnitt aus der main Funktion. Mein Anliegen ist jetzt diese switch Anweisung als extra Funktion zu deklarieren, und da scheitert es bei mir. Ich hatte es so versucht:

    Deklaration:
    void auswahl(char);

    extra Funktion:
    void auswahl(char Art)
    {

    switch(Art)
    {
    case 'L':
    case 'l':
    linear(a,n);
    break;
    case 'D':
    case 'd':
    degressiv(a,n);
    break;
    default:
    cout << "Ihre Auswahl ist ungueltig!" << endl;
    }
    }

    und die wie müssen die Funktionsnamen lauten, wenn ich die Funktion so wie hier in der switch Anweisung schreiben will (alle ohne Rückgabewert aber mit Ausgabe)?
    void linear(float &a, int &n) ??
    void degressiv(float &a, int &n) ??



  • Dein Problem dürfte vor allem sein, daß du dort die Variablen a und n verwenden willst, die in der main() zwar bekannt sind, in deiner Auswahl-Funktion allerdings nicht. Zur Not mußt du die Werte als Parameter weitergeben, damit sie dort verwendet werden können.

    PS: Dir ist schon klar, daß man es mit der Aufteilung von Funktionen auch übertreiben kann.

    PPS: sfds


Anmelden zum Antworten