Kalkulator- Wyłapywanie enterów

Odpowiedz Nowy wątek
2011-08-28 21:37
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:

char ch;
cin>>ch;
if (ch == enter)   //tutaj nie wiem więc napisałem enter
    cout << "ha-ha\n";
edytowany 1x, ostatnio: MakeMeHappy, 2011-08-28 21:38

Pozostało 580 znaków

2011-08-28 21:48
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!

Pozostało 580 znaków

2011-08-28 21:54
0

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

Ja bym to zrobił tak:

 if (cin.get() == '\n') {
     //KOD
 } 
edytowany 12x, ostatnio: piternet, 2011-08-28 22:00
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? ;) - stfu 2011-08-28 22:01
@up: trochę nie po polsku ostatnie zdanie, za późna już godzina dla mnie.. - stfu 2011-08-28 22:02

Pozostało 580 znaków

2011-08-29 09:24
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)


░█░█░█░█░█░█░█░█░█░█░█░
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. - Zjarek 2011-08-29 11:32
to po to się robi komentarze w kodzie. najlepiej w ogóle by było zrobić stałą ENTER - krwq 2011-08-29 12:06

Pozostało 580 znaków

2011-08-31 11:23
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, 2011-08-31 14:48

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0