Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Edytowanie tekstu w konsoli

Ostatnio zmodyfikowano 2015-06-30 09:03
Autor Wiadomość
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?
P-134168
notabigthreat
» 2015-06-30 00:08:33
C/C++
#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;
       
        //cofamy kursor do pierwszego miejsca, gdzie dalej jest '_'
        for( unsigned int j = rozmiar - i; j; --j )
             cout << '\b';
       
        while( !isdigit( kod[ i ] = _getch() ) )
            ; //tak, pusta instrukcja
       
        //cofamy kursor na poczatek linijki
        for( unsigned int j = i; j; --j )
             cout << '\b';
       
    }
    //to jest jeszcze czesc kodu,
    //cofalismy kursor, a to go przywroci
    cout << kod << "\n";
   
    return kod;
}
//////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    cout << "Podaj kod pocztowy:\n";
    string kod = PobierzKod();
    cout << "twoj kod: " << kod << "\n";
}
//////////////////////////////////////////////////////////////////////////////////////////
Zakładam Windows.
P-134175
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 :)
P-134179
« 1 »
  Strona 1 z 1