[C++] Edytowanie tekstu w konsoli
Ostatnio zmodyfikowano 2015-06-30 09:03
Sheppardo Temat założony przez niniejszego użytkownika |
[C++] Edytowanie tekstu w konsoli » 2015-06-29 21:01:29 Załóżmy, że mam program który wczytuje kody pocztowe. Włączam go, w konsoli wypisuje się _ _ - _ _ _ . Przykładowo mój kod pocztowy to 00-000. Klikam 0 i pierwszy znak '_' znika a pojawia się '0'. Tutaj dwie sytuacje: 1. Po kliknięciu zera zatwierdzam enterem i wpisuję następny znak. 2. Po kliknięciu zera nie ma potrzeby zatwierdzania enterem, piszę po prostu kolejne zero. Jeszcze jedno, to wszystko ma się zapisać w tablicy lub stringu (od biedy int też może być). Jak będzie wyglądać kod źródłowy takiego programu? |
|
notabigthreat |
» 2015-06-30 00:08:33 #include <iostream> #include <string> #include <conio.h> using namespace std;
string PobierzKod() { string kod = "__-___"; const unsigned int rozmiar = kod.size(); for( unsigned int i = 0; i < rozmiar; ++i ) { if( kod[ i ] == '-' ) continue; cout << kod; for( unsigned int j = rozmiar - i; j; --j ) cout << '\b'; while( !isdigit( kod[ i ] = _getch() ) ) ; for( unsigned int j = i; j; --j ) cout << '\b'; } cout << kod << "\n"; return kod; }
int main() { cout << "Podaj kod pocztowy:\n"; string kod = PobierzKod(); cout << "twoj kod: " << kod << "\n"; }
Zakładam Windows. |
|
Sheppardo Temat założony przez niniejszego użytkownika |
» 2015-06-30 09:03:29 Dziękuję bardzo :) nigdzie nie mogłem tego znaleźć, a szukałem parę dni :) |
|
« 1 » |