[Anfängerfrage] Keine Zahl sondern Buchstaben zur Funktionsauswahl...
-
Also ich bin totaler anfänger in C++ nund habe am heutigen nachmittag mein erstes vollständig allein gestaltetes C++ Programm geschrieben
nun meine Frage, wie mache ich es, dass ich nicht 1 oder 2 zum auswählen der Funktionen nehmen muss sondern halt Celsius oder Fahrenheit oder einfach irgend eine andere Textfolge aus Buchstaben... hoffe ihr könnt mir helfen..
mfg malla#include <iostream> #include <conio.h> using namespace std; int main() { loop: cout << "Bitte Waehlen sie den zu konvertierenden Wert!\n"; cout << "Fuer Fahrenheit schreiben sie bitte 1.\n"; cout << "Fuer Celsius schreiben sie bitte 2.\n"; wahl: int Wahl; cin >> Wahl ; if (Wahl == 1) // Wenn 1 eingegeben wird Funktion zum Konvertieren von Celsius in Fahrenheit aufgerufen { cout << "Bitte geben sie die Temperatur in Fahrenheit an:"; float EingabeFahrenheit; cin >> EingabeFahrenheit; cout << "\n\n"; float AusgabeCelsius; AusgabeCelsius = ((EingabeFahrenheit - 32) * 5) / 9; cout << "Die Temperatur in Celsius betraegt:" << AusgabeCelsius << "\n"; cout << "Nocheinmal eine Temperatur Berechnen ? 1 fuer Ja und 2 fuer Nein:\n\n"; int NochmalFrage; cin >> NochmalFrage; if (NochmalFrage == 1) goto loop; if (NochmalFrage == 2) cout << "Danke, dass sie meinen Rechner genutzt haben :) !\n"; goto end; } else if (Wahl == 2) {cout << "Bitte geben sie die Temperatur in Celsius an: "; float EingabeCelsius; cin >> EingabeCelsius; cout << "\n\n"; float AusgabeFahrenheit; float Faktor = 5 / 9; AusgabeFahrenheit = 32 + 9 * EingabeCelsius / 5; cout << "Die Temperatur in Fahrenheit:" ; cout << AusgabeFahrenheit <<"\n\n"; cout << "Nocheinmal eine Temperatur Berechnen ? 1 fuer Ja und 2 fuer Nein:"; int NochmalFrage; cin >> NochmalFrage; cout << "\n\n"; if (NochmalFrage == 1) goto loop; if (NochmalFrage == 2) cout << "Danke, dass sie meinen Rechner genutzt haben :) !\n"; goto end; } else cout << " Bitte geben sie entweder 1 oder 2 ein: \n"; goto wahl; end: return 0; getch (); }
-
std::string temp; cin>>temp; if(temp == "irgendwas") { // blaaa }
-
hmm das hatte ich auch schoneinmal versucht.. bekomme aber folgende Compilerfehler:
error C2446: '==' : Keine Konvertierung von 'char *' in 'int'
error C2040: '==' : 'int' unterscheidet sich von 'char [11]' in Bezug auf die Anzahl vorgenommener Dereferenzierungen
-
Du musst natürlich den Typ von "wahl" ändern, sofern das nicht geschehen ist.
Also so:std::string wahl; // Das darf kein int mehr sein!
-
Und in was muss ich das ändern in char ?
Hab noch nich all zuviel ahnung hab erst vor 5 tagen damit angefangen.....

-
also, zuerst einmal musst du den header für die stringklasse einbinden
#include <string>und dann einfach
//statt: int Wahl; string Wahl; cin >> Wahl ; if (Wahl == "irgendwas") { //etc.
-
Aber das steht doch da. Du musst den Typ aller Variablen ändern, die für die Eingabe benötigt werden (z. B. Wahl), und zwar nach std::string.
-
Ohh
jetzt leutets.. DANKE
das mit dem string war mir nich ganz klar.. aber jetzt hats geklickt

-
Achja, du musst auch noch...
#include <string>...einbinden. Hab ich vergessen.

-
Jo nach dem string includen funzt mein erstes proggi endlich richtig
danke ihr beiden.... kann euch nur weiter empfehlen