cin funktioniert nach ENTER nicht



  • ich habe angefangen ein kleines Programm zu schreiben, welches mir die Temperatur in Fahrenheit oder Celsius ausgeben soll. Sobald ich bei der Auswahl für c oder f ENTER drücke wird das Programm durchlaufen und ich kann keine Temperatur mehr eigeben. Woran kann das liegen?

    double fahr, celsius;
      double c, f;
    
      cout<< "Bitte geben Sie c für Celsius und f für Fahrenheit ein"<<endl;
      cin>>c;
    
      if (c=c){
    
        cout << "Geben Sie die Temperatur in Fahrenheit an: ";
        cin >> fahr;
    
        celsius = (5.0/9.0) * (fahr-32);     
    
        cout<<"Die Temperatur betraegt: " << celsius<<endl;
        }
    
        else if (c=f){cout<<"Fahrenheit kommt noch"<<endl;} ;
    

    Danke



  • cin>>c;
    

    Ist falsch du musst entweder einen char oder einen string erstellen (wenn du C++/CLI schreibst) ungefähr so:

    double fahr, celsius;
    char c;
    
    cout<< "Bitte geben Sie c für Celsius und f für Fahrenheit ein"<<endl;
    cin>>c;
    
      if (c='c'){
    
        cout << "Geben Sie die Temperatur in Fahrenheit an: ";
        cin >> fahr;
    
        celsius = (5.0/9.0) * (fahr-32);    
    
        cout<<"Die Temperatur betraegt: " << celsius<<endl;
        }
    
        else if (c='f'){cout<<"Fahrenheit kommt noch"<<endl;} ;
    


  • Ok vielen Dank es funzt. Benutze c++



  • Helfender Frager schrieb:

    cin>>c;
    

    Ist falsch du musst entweder einen char oder einen string erstellen (wenn du C++/CLI schreibst) ungefähr so:

    double fahr, celsius;
    char c;
     
    cout<< "Bitte geben Sie c für Celsius und f für Fahrenheit ein"<<endl;
    cin>>c;
     
      if (c='c'){
    
        cout << "Geben Sie die Temperatur in Fahrenheit an: ";
        cin >> fahr;
       
        celsius = (5.0/9.0) * (fahr-32);    
       
        cout<<"Die Temperatur betraegt: " << celsius<<endl;
        }
       
        else if (c='f'){cout<<"Fahrenheit kommt noch"<<endl;} ;
    

    Sorr Wegem Doppelpost

    double fahr, celsius;
    char c;
    
    cout<< "Bitte geben Sie c für Celsius und f für Fahrenheit ein"<<endl;
    cin>>c;
    
      if (c=='c'){
    
        cout << "Geben Sie die Temperatur in Fahrenheit an: ";
        cin >> fahr;
    
        celsius = (5.0/9.0) * (fahr-32);    
    
        cout<<"Die Temperatur betraegt: " << celsius<<endl;
        }
    
        else if (c=='f'){
         cout<<"Fahrenheit kommt noch"<<endl;
        } ;
    


  • Kannst du gedanken lesen? Habe eben auch bemerkt, dass es immer auf die Erste Schlefe springt. Hier für die anderen mal schnell meinen fertigen Code:

    double fahr, celsius;
      char c, f;
    
      cout<< "Bitte geben Sie c fuer Celsius und f fuer Fahrenheit ein"<<endl;
      cin>>c;
    
      if (c=='c'){
    
        cout << "Geben Sie die Temperatur in Fahrenheit an: ";
        cin >> fahr;
    
        celsius = (5.0/9.0) * (fahr-32);     
    
        cout<<"Die Temperatur betraegt: " << celsius<<endl;
        }
    
        else if (c=='f'){cout<<"Geben Sie die Temperatur in Celsius an: "<<endl; ;
    
        cin >> celsius;
    
        fahr = (celsius/(5.0/9.0)+32);
    
        cout<<"Die Temperatur betraegt: " << fahr<<endl;
    }
        else if (c){cout<<"Sie haben nicht c oder f gedrueckt"<<endl;}
    }
    

    Danke nochmal



  • Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum C++ verschoben.

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

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten