Sterowanie w c++
Ostatnio zmodyfikowano 2008-12-28 00:23
wujas Temat założony przez niniejszego użytkownika |
Sterowanie w c++ » 2008-12-27 22:38:09 Czesc nie smiejcie sie z tego posta jestem poczatkujacym programista i naprawde chce sie uczyc jezyka c++ jednak nie wszyskto potrafie zrozumiec. Chciałbym nawiazac do pierwszego kursu c++ do lekcji XIX. Struktury danych Mam na mysli ostatni przyklad ta fajna ksiazke telefoniczna troche nad tym siedze staram sie zrozumiec jak te funkjce sa poukladane itd wiekszosc rozumie mam tylko problem z zrozumieniem kodu ktory odpowiada za sterowanie pomiedzy wierszami tzw jak dodasz wpis to wpis na ktorym jestes ma inny kolor i chcialbym wiedziec jak to dziala ze np moge sie poruszac miedzy tymi wpisami.Rozumie biblioteke <conio.h> , funkce getch() i klawisze dopisane jednak nie potrafie znalesc zwiazku miedzy funkcjami void WyswietlListeOsob(OsobaST tablica[],int iloscElelemtow,int zaznaczElement,int wyswietlOdElementu); a kodem case 72://strzałka w górę pozycja-=1; break; case 80://strzałka w dół pozycja+=1;
poprostu nie umie znalesc zwiazku miedzy zaznaczElemnt a pozycja :).
Moglibyscie np napisac prosty program ktory pokazuje liczby o 1 do 5 przkladowo i zeby mozna bylo mniedzy nimi sie poruszac a na tym ktorym jestesmy byl innego koloru? Mysle ze to by mi pomoglo zrozumiec to.
Przepraszam za glupi post ale jak mowia kto pyta nie bladzi :) |
|
lynx |
» 2008-12-27 23:06:29 Nie patrzyłem na kod, ale z chęcią mogę wytłumaczyć Ci jak to działa. :) Najpierw jest wczytywany znak do zmiennej, następnie analizujemy go i sprawdzamy jego wartość. Jeżeli zawiera on kod strzałki w górę lub w dół, edytowana jest zmienna odpowiadająca za podkreślenie(zaznaczenia) odpowiedniego tekstu (pozycja). Edytowana jest w sposób: pozycja = pozycja + 1;
pozycja = pozycja - 1;
tak, aby nie doprowadzić do nagłego przeskoku podkreślania (zaznaczenia) o dużą liczbę. :) Następnie wyświetlane są opcje, a jedna z nich jest podkreślona względem liczby będącej w pozycja. Mam nadzieję, że teraz to rozumiesz. Pozdrawiam, Piotrek. :) |
|
wujas Temat założony przez niniejszego użytkownika |
» 2008-12-27 23:25:49 Wiesz co chyba zaczynam rozumieć o co chodzi. Musze jeszcze przy tym posiedzieć ewentualnie napisze pozniej co udalo mi sie wykombinowac:) Dzieki serdecznie za pomoc. |
|
wujas Temat założony przez niniejszego użytkownika |
» 2008-12-28 00:23:33 udalo sie zrozumialem an dowod tego wklejam kod :P nic specjalnego ale dla mnei to duzy krok :) #include<iostream> #include<conio.h> #include "console.ddt" using namespace std; using namespace ddt::console;
void lista( int zaznacz ); void info() { gotoxy( 1, 25 ); cout << "[GORA/DOL] Poruszanie sie po liscie "; cout << "[ESC] Wyjscie "; return; } int main() { bool koniec = false; int pozycja = 0; while( koniec != true ) { textcolor( 7 ); textbackground( 0 ); clrscr(); lista( pozycja ); info(); unsigned char znak = getch(); switch( znak ) { case 224: znak = getch(); switch( znak ) { case 72: pozycja -= 1; break; case 80: pozycja += 1; break; } znak = 0; break; case 27: koniec = true; break; } } return( 0 ); } void lista( int zaznacz ) { for( int i = 1; i <= 5; i++ ) { if( i == zaznacz ) { textbackground( 12 ); textcolor( 14 ); } else { textbackground( 0 ); textcolor( 7 ); } cout << i << endl; } return; } |
|
« 1 » |