Swk Temat założony przez niniejszego użytkownika |
Powrot do menu wyboru » 2017-11-20 14:46:50 Cześć, jak zrobić,aby po wykonaniu jakiegoś case program wyczyścił ekran i wyswietlił jescze raz menu od nowa?? #include <stdio.h> #include <stdlib.h>
void pauza() { printf( "\n...nacisnij klawisz by kontynuowac..." ); fflush( stdin ); getch(); }
void wypisanie( void ) { printf( "\nTrzy i pol najwazniejszych zadady pracy ze wskaznikami:\n\n" ); printf( "\n\n1. Deklaracja wskaznika: typ *nazwa_zmiennej_wskaznikowej" ); printf( "\n np: wskaznik na float o nazwie wsk_p deklaruje sie float *wsk_p" ); printf( "\n np: wskaznik na int o nazwie i_p deklarije sie int *i_p\n" ); pauza(); printf( "\n\n2. *nazwa_zmiennej_wskaznikowej oznacza zawartosc komorki," ); printf( "\n wskazywanej przez wskaznik," ); printf( "\n np: *i_p to zawartosc komorki wskazywanej przez i_p\n" ); pauza(); printf( "\n\n3. i_p oznacza adres, przechowywany przez wskaznik, np. 01AF:14E2\n" ); pauza(); printf( "\n\n\xAB. & pozwala okreslic adres zmiennej:" ); printf( "\n np: &i pozwala okreslic w ktorej komorce pamieci jest i\n" ); pauza(); printf( "\n\n Najczestszym bledem studentow jest przekonanie, ze w deklaracji" ); printf( "\n int *i_p; typ zmiennej to int, a jej nazwa to *i_p - a tak nie jest" ); printf( "\n typ zmiennej to int * a nazwa zmiennej to i_p\n" ); printf( "\n" ); printf( "\nNacisnij klawisz by wrocic do menu" ); getch(); }
void przyklad( void ) { int * i_p; int i; float x; float * wsk_p; printf( "\n Przyklad programu, operujacego na wskaznikach" ); printf( "\n\nMamy zmienne: int i oraz float x, nadajemy im wartosci." ); printf( "\nPodaj wartosc zmiennej i (calkowita): " ); scanf( "%d", & i ); printf( "\nPodaj wartosc zmiennej x (rzeczywista): " ); scanf( "%f", & x ); printf( "\nPodane wartosci to %d oraz %.2f", i, x ); pauza(); printf( "\n\nSprawdzimy pod jakimi adresami sa te zmienne" ); printf( "\nZmienna i jest pod adersem %p, zmienna x pod adresem %p", & i, & x ); pauza(); printf( "\n\nNadamy wartosci tych adresow zmiennym wskaznikowym i_p oraz wsk_p" ); printf( "\nza pomoca operacji i_p=&i oraz wsk_p=&x" ); i_p = & i; wsk_p = & x; pauza(); printf( "\n\nWypiszemy teraz wartosci zmiennych wskaznikowych " ); printf( "\noraz zawartosc komorek, na ktore wskazuja" ); printf( "\n\nZmienna i_p ma wartosc %p, zmienna wsk_p ma wartosc %p", i_p, wsk_p ); pauza(); printf( "\n\nWartosc wyrazenia *i_p (zawartosc komorki, na ktora wskazuje i_p) to %d", * i_p ); pauza(); printf( "\n\nWartosc wyrazenia *wsk_p (zawartosc komorki, na ktora wskazuje wsk_p) to %.2f", * wsk_p ); pauza(); printf( "\n\nWartosc wyrazenia *i_p powinna byc taka sama jak wartosc zmiennej i" ); printf( "\nponiewaz ustawilismy wskaznik i_p by wskazywal komorke, w ktorej jest i" ); pauza(); printf( "\n\nTak samo powinno byc z *wsk_p i x" ); printf( "\nNacisnij klawisz by wrocic do menu" ); getch(); }
char menu() { char wybor; int a; printf( "%c", 201 ); for( a = 0; a <= 44; a++ ) { printf( "%c", 205 ); } printf( "%c\n", 187 ); printf( "%c", 186 ); printf( " Przyklad programu wykorzystujacy menu" ); printf( " %c\n", 186 ); printf( "%c", 200 ); for( a = 0; a <= 44; a++ ) { printf( "%c", 205 ); } printf( "%c", 188 ); puts( "" ); printf( "%c Wybierz: %c\n", 186, 186 ); printf( "%c %c\n", 186, 186 ); printf( "%c w - wypisanie 3 i 1/2 zasad %c\n", 186, 186 ); printf( "%c p - przyklad programu %c\n", 186, 186 ); printf( "%c k - koniec pracy %c\n", 186, 186 ); printf( "%c %c\n", 186, 186 ); printf( "===============================================\n" ); printf( "Twoj Wybor:" ); scanf( "%c", & wybor ); return wybor; }
void main( void ) { switch( menu() ) { case 'w': printf( "Wypisuje 3 i 1/2 zasad" ); wypisanie(); break; case 'p': printf( "Podaje przyklad programu" ); przyklad(); break; case 'k': exit; break; default: printf( "Podales zla litere" ); break; } return( 0 ); }
|
|
latajacaryba |
» 2017-11-20 15:05:09 do { switch( znak ) { } } while( znak != 'e' )
|
|
Anim |
» 2017-11-20 15:09:01 Nie przeglądałem całego programu, ale na pewno w mainie musisz mieć pętlę... Poczytaj o pętlach w Kursie
EDIT: spóźniłem się :) @latajacaryba wygrał :) |
|
Swk Temat założony przez niniejszego użytkownika |
» 2017-11-20 15:56:22 ok a jak czyscic ekran po kazdym wykonaniu petli? |
|
Saran |
» 2017-11-20 19:03:01 Możesz na przykład wypisać 30 enterów, aby znaki nowej linii zasłoniły stary ekran. |
|
« 1 » |