• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pobieranie jednego znaku

0 głosów
35 wizyt
pytanie zadane 11 stycznia w C i C++ przez użytkownika Revane Początkujący (250 punkty)

Witam, tym razem zmagam się z problemem w którym chciałbym żeby program pobierał tylko i wyłącznie jeden znak i w przypadku gdy zostanie wpisane więcej to informował że należy wpisać tylko jeden. Z cyferkami sobie poradziłem ze znakami gorzej :/ Kodzik wygląda tak :

char znak;

std::cout << "Wpisz jeden znak jakim chcesz napisać figure : ";
std::cin >> znak;

gdzie na wielkosci figury manewr do i while zadzialał to niestety tutaj nie za bardzo 

1 odpowiedź

+1 głos
odpowiedź 6 dni temu przez użytkownika timrh Mądrala (5,860 punkty)
wybrane 6 dni temu przez użytkownika Revane
 
Najlepsza

Możesz użyć _getch() ze standardu C.

#include <cstdio>
#include <conio.h>

char wybor;
wybor = _getch();

 

komentarz 6 dni temu przez użytkownika Revane Początkujący (250 punkty)
dzieki temu gdy wpisze wiecej jak jeden znak to odrzuci ?
komentarz 6 dni temu przez użytkownika timrh Mądrala (5,860 punkty)
sorki, _getch(), nie getchar().

Po kliknięciu klawisza program go wczyta i od razu przejdzie dalej, nie będzie czekać na enter.
komentarz 6 dni temu przez użytkownika timrh Mądrala (5,860 punkty)

A jeśli to ci nie pasuje, to użyj funkcji length():

string wybor;
cin >> wybor;
if(wybor.length() > 1)
 cout << "Wpisano wiecej niż jeden znak\n";

 

komentarz 6 dni temu przez użytkownika unknown Pasjonat (23,900 punkty)
getch nie jest w standardzie C
komentarz 6 dni temu przez użytkownika Revane Początkujący (250 punkty)
Dziękuje za pomoc :3

Podobne pytania

0 głosów
1 odpowiedź 89 wizyt
pytanie zadane 17 grudnia 2015 w C i C++ przez użytkownika Łukasz Wasilewski Gaduła (4,130 punkty)
0 głosów
2 odpowiedzi 42 wizyt
pytanie zadane 14 maja 2016 w C i C++ przez użytkownika szymi666 Bywalec (2,020 punkty)
0 głosów
1 odpowiedź 134 wizyt
pytanie zadane 15 grudnia 2015 w C i C++ przez użytkownika pineapple505 Nowicjusz (120 punkty)
...