Kalkulator- Wyłapywanie enterów

MM
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 13 lat
  • Postów:65
0

Cześć. Napisałem kalkulator z pomocą książki i mam tutaj zadanie którego nie umiem zrobić. Mianowicie mam wyłapać kiedy użytkownik kliknie klawisz enter i coś zrobić. Można powiedzieć że będzie to coś w stylu:

Kopiuj
char ch;
cin>>ch;
if (ch == enter)   //tutaj nie wiem więc napisałem enter
    cout << "ha-ha\n";
edytowany 1x, ostatnio: MakeMeHappy
ST
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 11 lat
0

A jak wczytujesz inne znaki, liczby itp. z konsoli to jaki klawisz naciskasz, żeby to się do zmiennej w twoim programie zapisało? I czy wtedy się enter zapisuje? ;)


Pozdro & poćwicz!
piternet
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 5 lat
  • Postów:162
0

Cin ignoruje białe znaki, więc nie wczytasz nim entera raczej :)

Ja bym to zrobił tak:

Kopiuj
 if (cin.get() == '\n') {
     //KOD
 } 
edytowany 12x, ostatnio: piternet
ST
Przecież napisał, że "coś w tym stylu", a nie że tak. Poza tym od zawsze myślałem, że ten dział ma służyć pomocy, a nie gotowcom. Jaki z tego będziesz miał pożytek, że teraz dałeś rozwiązanie? Że za chwilę przyleci następnym razem i znów niewinnie poprosi o kod? ;)
ST
@up: trochę nie po polsku ostatnie zdanie, za późna już godzina dla mnie..
KR
  • Rejestracja:ponad 15 lat
  • Ostatnio:2 miesiące
  • Postów:2514
0

jak chodzi tylko o enter to możesz użyć:
http://www.cplusplus.com/reference/iostream/istream/getline/
ta funkcja po prostu poczeka na naciśnięcie entera.

jeśli program ma się zatrzymać i zaczekać na dowolny klawisz i w momencie jego naciśnięcia sprawdzić czy wpisane słowo jest enterem to na windowsie możesz użyć do tego funkcji:
getch() z biblioteki conio.h

char c = getch(); <-- po tym c przechowuje naciśnięty klawisz. w przypadku entera jest to chyba 13 (albo 10)


░█░█░█░█░█░█░█░█░█░█░█░
ZJ
W przypadku znaku nowej linii to jest to '\n'. O ile 10 będzie też w ASCII prawidłowe, to pisanie w ten sposób jest złym stylem (nie każdy musi pamiętać kody ASCII). Dodatkowo potem nie zawsze może być wiadomo, o co ci właściwie chodziło w tym kodzie.
KR
to po to się robi komentarze w kodzie. najlepiej w ogóle by było zrobić stałą ENTER
MM
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 13 lat
  • Postów:65
1

EDIT : Sorry za kłopot, wystarczyło użyć mózgu żeby rozwiązać ten problem :P. Dzięki za pomoc

edytowany 1x, ostatnio: MakeMeHappy

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.