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

Powrot do menu wyboru

Ostatnio zmodyfikowano 2017-11-20 19:03
Autor Wiadomość
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?? 

C/C++
#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 );
}
P-167000
latajacaryba
» 2017-11-20 15:05:09
C/C++
//podawanie znaku
do
{
    switch( znak )
    {
       
       
       
    }
   
} while( znak != 'e' ) // e = exit
P-167001
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ł :)
P-167002
Swk
Temat założony przez niniejszego użytkownika
» 2017-11-20 15:56:22
ok a jak czyscic ekran po kazdym wykonaniu petli?
P-167003
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.
P-167004
« 1 »
  Strona 1 z 1