Skocz do zawartości

[C++]Operator >>, obsługa entera.


Gość

Rekomendowane odpowiedzi

Witam serdecznie :)

 

Napisałem sobie metodą z przeciążeniem operatora strumieniowego:

GrDziekanska & GrDziekanska::operator >>(std::istream &stream) {stream >> NazwaKierunku >> Wydzial >> RokStudiow >> Semestr >> Nr; Oznaczenie+=Wydzial+'/'+NazwaKierunku+'/'+'R'+itos(RokStudiow)+"/S"+itos(Semestr)+"/G"+itos(Nr); return *this;}

 

Ale mimo poprawnego działania kodu, nie uzyskałem oczekiwanego efektu.

 

Czy jest możliwość uzyskania, żeby podczas wpisywania grupy dziekańskiej do tabeli, naciśnięcie klawisza ENTER lub TAB powodowało nie przejście do nowego wiersza lub wstawienie standardowego tabulatora poziomego, ale wywołanie funkcji GoToXY(x+15, y)?

 

Próbowałem to osiągnąć przez użycie getch():

tab = getch();
if(tab == 9)
    O->GoToXY(O->GetX()+15, O->GetY());

Ale niestety, nie działa w trakcie, gdy metoda z operatorem jest wywołana.

 

Proszę o pomoc i pozdrawiam :)

Odnośnik do komentarza
Udostępnij na innych stronach

Bodajże input stream również rozdzielany jest poprzez spacje, tj.

int a, b, c;
cin>> a >> b >> c;
cout<<"a = "<< a<< "\n"<<"b = "<< b<< "\n"<<"c = "<< c<< "\n";
// #>10 20 30
// a = 10
// b = 20
// c = 30

 

istream jest rozdzielany przez spacje, to się zgadza, ale pracuję w tabeli na wzór excela, tylko pod konsolą, i chciałbym zrobić obsługę klawisza TAB. Próbowałem z ReadConsoleInput, ale też nie działało.

 

Jakieś jeszcze pomysły?

Odnośnik do komentarza
Udostępnij na innych stronach

Spróbuj manualnie pobierać znaki z klawiatury np. przez getchar aby rozpoznawać pojedyncze znaki.

 

Rozwiązałem to po chamsku, sczytując z klawiatury poszczególne komórki tabeli, a po sczytaniu, tworząc obiekt. Omijam sczytywanie z jednego strumienia w ten sposób. Po każdym odczycie z klawiatury zatwierdzonego enterem, przeskakuje do następnej komórki.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...