buchstaben eingebe tuts nicht !!!
-
hallo
ich will eine buchstaben abfrage mchen . kann aber nurint pass; cin>>pass; if (pass==) { cout<<" döner "; Sleep(5000); } { cout<<" error "; Sleep(5000); }
wie bekomme ich das hihn aber nicht so komplizirt mit * und so sondern einfch nur die abrage
-
dumm schrieb:
hallo
ich will eine buchstaben abfrage mchen . kann aber nurwelchen buschtabe willstn abfragen ?
-
Meinst du sowas?
#include <stdio.h> int main() { int c; c=getchar(); switch(c) { case 'a': printf("a eingegeben!\n"); break; case 'b': printf("b eingegeben!\n"); break; default: printf("etwas anderes eingegeben!\n"); break; } fflush(stdin); getchar(); //damit man was sieht... return 0; }
-
_matze schrieb:
/* ... */ fflush(stdin);
Das Verhalten von
fflush( )
ist für Eingabeströme nicht definiert und somit nicht zulässig. Lieber so lange lesen, bis nichts mehr drinnsteht:int ch; while( ( ( ch = getchar( ) ) != '\n' ) && ( ch != EOF ) );
greetz, Swordfish
-
genau das wollte ich verhindern ! 1000 antworten und alles übels komplizirt
ich verh danch meist nix mehr
-
naja
#include <cstdlib> #include <iostream> using namespace std; #include <stdio.h> int main() { int c; c=getchar(); switch(c) { case 'a': printf("a eingegeben!\n"); break; case 'b': printf("b eingegeben!\n"); break; default: printf("etwas anderes eingegeben!\n"); break; } fflush(stdin); getchar(); return 0; }
tuts aber ich will jetzt mal ein text eingeben
(ein passwortfeld für arme
)
-
Halte dich lieber an die Lösung von Swordfish, die ist standardkonform. Meine Lösung mit fflush(stdin) funktioniert nur mit dem VS-Compiler (wusste ich nicht).
-
dumm schrieb:
#include <cstdlib> #include <iostream> using namespace std; #include <stdio.h> /* in C++ sollte das <cstdio> sein. Aber warum verwendest Du nicht std::cout & co? */ /* ... */ return 0; /* kannst Du weglassen, da die main immer 0 zurückgibt, wenn sie nichts zurückgibt */ }
Sieht doch schonmal nicht so schlecht aus
dumm schrieb:
tuts aber ich will jetzt mal ein text eingeben
Bitte überlege Dir genau was du machen willst, such Dir die Zutaten zusammen und Informiere Dich über die Gebrauchsanweisungen der Einzelteile (...weiche Eier maximal 3 Minuten kochen!).
Dann wirst Du auf ein Problem stoßen. Ja, ich bin nebenberuflich Hellseher
Und genau dann kommst Du bitte zu uns zurück, sagst uns, was Du versucht hast (=Code), was Du von deinem Code erwartest, und was stattdessen passiert. Dann kann man Dir helfen.
greetz, Swordfish
PS: Aja, wenn man den Code auch noch einrückt, ist's lesbarer.
-
nunn das
while( ( ( ch = getchar( ) ) != '\n' ) && ( ch != EOF ) );
ist komplizirt für mich
ich möchte ja jetzt ein word abfragen und wenn es falsch ist dann ist es halt falsch
-
avh ivh habs jetzt so
#include <cstdlib> #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> using namespace std; char Passwort[] = { "geheim" }; int main() { char abfrage[6]; printf("Passwort: "); scanf("%s",&abfrage[0]); if((strcmp(Passwort, abfrage)) == 0) printf("Passwort okey \n"); else printf("Passwort error\n"); Sleep(5000); return 0; }
-
Zum Bleistift:
Dein Programm:
int c = std::getchar( );
Ich (User): "asölfks\n"
Eingabepuffer: "sölfks\n" (<- will keiner haben, also:
Dein Programm:int ch; do { ch = std::getchar( ); } while( ( ch != '\n' ) && ( ch != EOF ) ); // also solange nicht das Newline am Ende gelesen wurde und noch etwas drinn ist (!End Of File).
Eingabepuffer ist leer.
Ich hoffe das war besser verständlich.
greetz, Swordfish