Eine Funktion einbinden



  • Also ich habe z.B. diese Funktion:

    double eingabe_one()   {
    
    	cout<<"Bitte 1.Zahl eingeben:"<<endl;
      double zahl1;
      cin>>zahl1;
      return zahl1;
    }
    

    diese Funktion soll jetzt in "main" erscheinen unter einer Bedingung:

    int main()  {
    
    //Operation a wo die Eingabe der zahl benötigt wird | die Funktion soll also erst in der Operation a ausführbar sein und das vllt auch noch in Operation c,d,e,f,g...
    
    //operation b wo die Eingabe der zahl nicht benötigt wird
    

    wie gestalte ich so ein Programm ? 😕
    ______________________________
    mfg
    Summernoon



  • oO einfach ne switch-case-Konstruktion?!



  • "oO einfach ne switch-case-Konstruktion?!"

    Wie sieht denn sowas aus (an meinem beispiel) ?

    Wäre nett wenn mir jemand helfen könnte.



  • nja ist jetzt aber nur nen ganz simpler code ... sollte man nicht unbedingt so machen weil du bei der falsch Eingabe evt. Probleme bekommst ...

    #include <iostream>
    
    void input(double&, const std::size_t&);
    
    int main()
    {
        std::cout << "Test V0.1" << std::endl;
        std::cout << "(a) Test 1" << std::endl;
        std::cout << "(b) Test 2" << std::endl;
        std::cout << "(c) Test 3" << std::endl;
        std::cout << "-> " << std::flush;
        char in = 'a';
        std::cin >> in;
        switch(in)
        {
        case 'a':
            {
                double in_one;
                input(in_one, 1);
                double in_two;
                input(in_two, 2);
                std::cout << (in_one * in_two) << std::endl;
             } break;
        case 'b':
            {
                double in_one;
                input(in_one, 1);
                double in_two;
                input(in_two, 2);
                std::cout << (in_one / in_two) << std::endl;
             } break;
        case 'c':
            {
                double in_one;
                input(in_one, 0);
                std::cout << in_one << std::endl;
            } break;
        default: 
            std::cout << "Falsche Eingabe!" << std::endl;
            break;
        }
    }
    
    void input(double& in, const std::size_t& num)
    {
       in = 0.0;
       if (num == 0)
           std::cout << "Bitte geben Sie eine Zahl ein: " << std::flush;
       else
           std::cout << "Bitte geben Sie die " << num << ". Zahl ein: " << std::flush;
       std::cin >> in;
    }
    

    Das ist aber seeehr primitiv und kann stark verbessert werden!


Anmelden zum Antworten