BlackMark
Lt. Commander
- Registriert
- Juni 2007
- Beiträge
- 1.346
"_getch()" gibt zwar ein "int" zurück, welches aber einem ASCII-Zeichen entspricht, also einem "char", du darfst also den Rückgabewert nicht einem Array bzw. einem Pointer zuweisen, sondern einem "char" bzw. einem "int".
Ich habe den Code absichtlich als einzelnes Zeichen geschrieben, denn wenn man das Wort eingibt, dann kann man anhand der Sterne, die die zensierung darstellen, ja erkennen welches Wort man eingegeben hat.
Das wäre doch als einzelnes Zeichen viel sicherer, außerdem nicht so viel Tipparbeit, aber es ist natürlich auch möglich ein Wort einzulesen.
Hier das ganze mit einem Wort, so wie es asdfman auch schon geschrieben hat:
Das ganze wäre mit einem String viel schöner, außerdem sollte man sowieso in C++ mit Strings statt mit Arrays arbeiten, aber du brauchst wohl ein Array, oder?
Gruß
BlackMark
Ich habe den Code absichtlich als einzelnes Zeichen geschrieben, denn wenn man das Wort eingibt, dann kann man anhand der Sterne, die die zensierung darstellen, ja erkennen welches Wort man eingegeben hat.
Das wäre doch als einzelnes Zeichen viel sicherer, außerdem nicht so viel Tipparbeit, aber es ist natürlich auch möglich ein Wort einzulesen.
Hier das ganze mit einem Wort, so wie es asdfman auch schon geschrieben hat:
Code:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
char strChoice[30];
char cInput;
int iCounter = 0;
cout << "Choose: ";
cInput = _getch();
while( (int)cInput != 13 ) // ASCII 13 = ENTER
{
cout << "*";
strChoice[iCounter] = cInput;
cInput = _getch();
iCounter++;
}
strChoice[iCounter] = '\0'; // Overwrite last character ( ENTER )
if( !strcmp(strChoice, "Rock") || !strcmp(strChoice, "rock") )
{
cout << endl << "You have chosen \'Rock\'" << endl;
}
else if( !strcmp(strChoice, "Paper") || !strcmp(strChoice, "paper") )
{
cout << endl << "You have chosen \'Paper\'" << endl;
}
else if( !strcmp(strChoice, "Scissors") || !strcmp(strChoice, "scissors") )
{
cout << endl << "You have chosen \'Scissors\'" << endl;
}
else
{
cout << endl << "ERROR - Incorrect input!" << endl;
}
cout << endl << "Press any key to exit . . . ";
_getch();
return 0;
}
Gruß
BlackMark
Zuletzt bearbeitet: