hilfe für Anfänger
-
Hallo, ich habe folgendes Problem...
ich muss mit Switch folgende Aufgabe lösen (aber ohne am Ende das Ganze mit default zu machen:
wenn die Buchstaben a, b, oder c eingeben werden (bzw. die Großbuchstaben), dann soll erscheinen, das es sich um den jeweiligen Buchstaben handelt (e.g. DAs ist Buchstabe a). wird ein anderer Buchstabe eingegeben, dann soll erscheinen: "Diesen Buchstaben kenne ich nicht"
Kann mir jemand helfen?Danke schon im voraus.
-
Kann mir jemand helfen?
wenn du deinen Ansatz zeigst gern
-
hiler schrieb:
Kann mir jemand helfen?
Klar.
Aber wo ist die Frage?
-
So grob:
char buchstabe; bool unbekannt = true; /* ... */ switch(buchstabe) { case 'a': case 'A': unbekannt = false; /* ... */ break; case 'b': case 'B': unbekannt = false; /* ... */ break; case 'c': case 'C': unbekannt = false; /* ... */ break; } if(unbekannt) { /* ... */ }
-
er hat doch gesagt ohne default....
-
Ops aber ich habs editiert
-
wenns nun eh schon gesagt wurde ..
wie wäre es hiermit zBchar input;// wenn du auch testen willst ob man mehr als //nur ein char eingegeben hat nimm einfach std::string std::cout<<"input ->"; std::cin>>input; switch(std::tolower(input)){ case 'a': std::cout<<" it was an a\n";return 0; case 'b': std::cout<<" it was an b\n";return 0; case 'c': std::cout<<" it was an c\n";return 0; }; std::cout<<"it was another one...\n";
also return 0
wenns in der main ist ...wenn es in einer Funktion ist natürlich entsprechend des Rückgabewertes wenn die ganze Sachen aber weiter gehen sollte könnte man auch einfachinput=std::tolower(input); switch(input){ case 'a': std::cout<<" it was an a\n";break; case 'b': std::cout<<" it was an b\n";break; case 'c': std::cout<<" it was an c\n";break; }; if(input>'c' || input < 'a') std::cout<<"it was another one...\n";
-
#include <iostream>
using namespace std;int main(){
char Buchstabe;
cout << "bitte Buchstaben eingeben";
cin >> Buchstabe;
switch(Buchstabe){
case 'a':
case 'A':
cout << "Buchstabe A";
break;
//dann so bis C weiter
if(!('a','b','c','A','B','C')){
cout << "Kenne ich nciht";
}
return 0;
}Bitte nicht in C abrutschen, dann bin ich total am ENde
-
hiler schrieb:
#include <iostream>
using namespace std;int main(){
char Buchstabe;
cout << "bitte Buchstaben eingeben";
cin >> Buchstabe;
switch(Buchstabe){
case 'a':
case 'A':
cout << "Buchstabe A";
break;
//dann so bis C weiter
if(!('a','b','c','A','B','C')){
cout << "Kenne ich nciht";
}
return 0;
}Bitte nicht in C abrutschen, dann bin ich total am ENde
Hallo,
das ist doch schonmal ein Anfang.Jetzt erstmal Code-tags benutzen und dann noch ein if reinhauen. Dann sieht das ungefähr so aus:
#include <iostream> using namespace std; // die Funktion tolower(char) wandelt den übergebenen Buchstaben (sofern dieser groß ist) in einen // Kleinbuchstaben um. Ich würde diese Funktion zu Hilfe ziehen, da du so Schreibarbeit sparst und es ändert ja nichts an der Funktionalität... int main() { char Buchstabe; cout << "bitte Buchstaben eingeben"; cin >> Buchstabe; switch(tolower(Buchstabe)) { case 'a': cout << "Buchstabe A"; break; // weiter bis c: } // wenn nicht a, b, c, A, B, C if(tolower(Buchstabe) != 'a' && tolower(Buchstabe) != 'b' && tolower(Buchstabe != 'c')) cout << "\n Kenne ich nicht.\n"; return 0; }
Caipi
-
tja Caipi... sind wa ja fast gleichdenkende Menschen @mein post
gg immerhin einer Meinung ^^
-
shapeless schrieb:
tja Caipi... sind wa ja fast gleichdenkende Menschen @mein post
gg immerhin einer Meinung ^^Ups... Deinen Post hab ich irgendwie 'überlesen'. Zudem ist dein Lösungsvorschlag bzg der if auch noch viel eleganter... - Sorry.
Caipi
-
So z.B:
#include <iostream> #include <string> int main() { char eingabe; std::cout << "Eingabe: "; std::cin >> eingabe; bool gefunden = false; switch(tolower(eingabe)) { case 'a': std::cout << "Das war ein A"; gefunden = true; break; case 'b': std::cout << "Das war ein B"; gefunden = true; break; case 'c': std::cout << "Das war ein C"; gefunden = true; break; } if(!gefunden) { std::cout << "Diesen Buchstaben kenn ich nicht!"; } }
-
Caipi schrieb:
shapeless schrieb:
tja Caipi... sind wa ja fast gleichdenkende Menschen @mein post
gg immerhin einer Meinung ^^Ups... Deinen Post hab ich irgendwie 'überlesen'. Zudem ist dein Lösungsvorschlag bzg der if auch noch viel eleganter... - Sorry.
Caipilach ach was .. no prob