Zahlenwert einlesen ohne Echo am Bildschirm



  • Danke für die schnelle Antwort Joomoo!

    Leider kapier ich noch nicht ganz wie das funktionieren soll!
    Hab zum leichteren Verstehen mal meinen Source reingegeben!
    #include<iostream.h>
    #include<math.h>
    #include<conio.h>

    void main (void)
    {
    double d_leg1,d_leg2,d_hypothenuse;
    double d_s1,d_s2;

    cout<<"Dieses Programm wird die groesse der Hypothenuse und das Phytagoras'sche Triple errechnen und ausgeben!"<<endl;
    cout<<"Bitte geben sie die Werte fuer die groesse der Katheten ein!"<<endl;
    cout<<"Bitte geben sie den Wert der groesseren Kathete als erstes ein!"<<endl;
    cin>>d_leg1;
    cout<<"Bitte geben sie nun den Wert der kleineren Kathete ein!"<<endl;
    cin>>d_leg2;

    if (d_leg1 > d_leg2)

    {
    d_s1=pow(d_leg1,2)-pow(d_leg2,2);
    d_s2=d_leg1*d_leg2*2;
    d_hypothenuse=sqrt(pow(d_leg1,2)+pow(d_leg2,2));
    cout<<"Das Phytagoras'sche Triple lautet:["<<d_leg2<<" "<<d_leg1<<" "<<d_hypothenuse<<"]"<<endl;
    cout<<"Kleine Kathete: "<<d_leg2<<endl;
    cout<<"Grosse Kathete: "<<d_leg1<<endl;
    cout<<"Hypothenuse: "<<d_hypothenuse<<endl;
    }
    else

    cout<<"Sie muessen die groessere Kathete als erstes eingeben!"<<endl;

    }

    Ich möchte es irgendwie schaffen beim einlesen der zwei Katheten kein Echo am Bildschirm zu haben, sondern die Werte "direkt" in die Variable zu speichern!

    Vielleicht kannst du es mir anhand meines Beispiels erklären!

    Danke



  • da ist der befehl pgetin(); ganz nützlich.



  • Erst einmal ist es int main()
    nicht void main()
    außerdem müsste dies denn an deinem Compiler liegen, denn bei mir gibt er kein Echo aus.
    Welchen Compieler hast du denn??



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Microsoft VC++ 6.0



  • #include <iostream>
    #include <cmath>
    
    int main ()
    {
        double d_leg1, d_leg2, d_hypothenuse;
        double d_s1, d_s2;
    
        std::cout << "Dieses Programm wird die groesse der Hypothenuse und das Phytagoras'sche Triple errechnen und ausgeben!\n"
                  << "Bitte geben sie die Werte fuer die groesse der Katheten ein!\n"
                  << "Bitte geben sie den Wert der groesseren Kathete als erstes ein!" << std::endl;
        std::cin >> d_leg1;
        std::cout << "Bitte geben sie nun den Wert der kleineren Kathete ein!" << std::endl;
        std::cin >> d_leg2;
    
        if (d_leg1 > d_leg2)
        {
            d_s1 = std::pow (d_leg1, 2) - std::pow (d_leg2, 2);
            d_s2 = d_leg1 * d_leg2 * 2;
            d_hypothenuse = std::sqrt (std::pow (d_leg1, 2) + std::pow (d_leg2, 2));
            std::cout << "Das Phytagoras'sche Triple lautet:[" 
                      << d_leg2 << ' ' << d_leg1 << ' ' << d_hypothenuse << "]\n"
                      << "Kleine Kathete: " << d_leg2 << '\n'
                      << "Grosse Kathete: " << d_leg1 << '\n'
                      << "Hypothenuse: " << d_hypothenuse << std::endl;
        }
        else
            std::cout << "Sie muessen die groessere Kathete als erstes eingeben!" << std::endl;
        return 0;
    }
    

    Ah, schon viel besser 😉



  • Was meint ihr jetzt eigentlich mit echo? Ich dachte jetzt, das ma die Zahl eingibt, ohne das man sie sieht, aber anscheinend gehts um was anderes oder?

    mfg.



  • Hallo!
    Noch einmal zu meiner Ursprünglichen Frage bitte.
    Kann man in einer C++ Konsolenanwendung eine Zahl (int) ohne Echo einlesen?



  • Hallo joomoo!
    Genau das stell ich mir auch vor!
    Zahl eingeben ohne das man sie am Bildschirm sieht!



  • Folgender Code funktioniert bei mir:

    #include <iostream>
    #include <conio.h>
    
    void GetInt(int &b)
    {
        char a = ' ';
        std::string temp;
        while(a != 13)
        {
            a = getch();
            if(a != 13 && a >= '0' && a <= '9')
            {
                temp.push_back(a);
            }
        }
        b = atoi(temp.c_str());
    }
    
    int main(int argc, char *argv[])
    {
        int Zahl;
        GetInt(Zahl);
        std::cout << Zahl << std::endl;
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    mfg.



  • ...



  • Platy schrieb:

    Erst einmal ist es int main()
    nicht void main()
    außerdem müsste dies denn an deinem Compiler liegen, denn bei mir gibt er kein Echo aus.
    Welchen Compieler hast du denn??

    void main(){} geht auch braucht nur keinen rueckgabewert
    💡 🕶 💡



  • <noname> schrieb:

    void main(){} geht auch braucht nur keinen rueckgabewert
    💡 🕶 💡

    bis zu dem tag, an dem noname einen standard compiler bekam, einen schönen neuen.. und plötzlich liefen alle seine schönen programme nicht mehr und der schmerz war groß 😉


Anmelden zum Antworten