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

Pomoc w rozwiazaniu Ćw. 12.6

Ostatnio zmodyfikowano 2010-02-28 17:48
Autor Wiadomość
shadix93
Temat założony przez niniejszego użytkownika
Pomoc w rozwiazaniu Ćw. 12.6
» 2010-02-27 23:32:40
Problem polega na tym, że nie wiem jak wtracic Zdanie " Nie podano cyfry, sprobuj ponownie: "

Zadanie zrobione troche inaczej:

C/C++
#include <iostream>
#include <ddtconsole.h>
#include <ctime>
using namespace std;
using namespace ddt::console;
int main()
{
    poczatek:
    clrscr();
    char powrot[] = "Aby powrocic do menu nacisnij \"m/M\"";
    const short l_z = 5; //LICZBA ZNAKOW.........
    const short l_m = 12; //LICZBA MENU........ na wszelki wypadek 7.
    char nazwa_1[] = "SMIETNICZEK";
    char text_1[] = "Wybrales/las \"Sztuczka\"";
    char text_2[] = "Wybrales/las \"Kalkulator\"";
    char text_3[] = "Wybrales/las \"Ciekawostka\"";
    char text_4[] = "Wybrales/las \"Pauza\"";
    char kropka[] = ". ";
    char wybor_1[] = "CZEGO SOBIE ZCZYSZ ?";
    int wybor_2;
    char kreski[] = "-----------------------------";
    char sztuczka_0[] = "Przyda sie kalkulator !";
    char sztuczka_1[] = "Pomysl sobie liczbe od  10 do 77 i pomnoz ja przez 3.";
    char sztuczka_2[] = "Dodaj do wyniku super magiczne 9.";
    char sztuczka_3[] = "Wynik pomnoz znowu przez 3.";
    char sztuczka_4[] = "Do wyniku dodaj liczbe, ktora pomyslales/las.";
    char sztuczka_5[] = "Podaj dwie pierwsze cyfry wyniu: ";
    char sztuczka_6[] = "Podaj ostatnia liczbe wyniku: ";
    char sztuczka_7[] = "Wynik wynosi ";
    char sztuczka_8[] = "A liczba, ktora pomyslales/las to ";
    int wyn_sztu_1; //Dwie pierwsze liczby wyniku...................
    int wyn_sztu_2; //Ostatnia liczba wyniku..............................
    char kal_0[] = "Podaj liczbe a: ";
    char kal_1[] = "Podaj liczbe b: ";
    char kal_2[] = "Wybierz jedna z opcji";
    char kal_3[] = "Wynik to: ";
    char options_1[] = "Wybrales/las DODAWANIE";
    char options_2[] = "Wybrales/las ODEJMOWANIE";
    char options_3[] = "Wybrales/las MNOZENIE";
    char options_4[] = "Wybrale/las DZIELENIE";
    char ciekaw_1[] = "Czy wiesz ze ......";
    char ciekaw_2[] = "Niemozliwe jest polizanie wlasnego lokcia?";
    char ciekaw_3[] = "Gdy mocno kichasz mozesz zlamac sobie zebra?";
    char ciekaw_4[] = "Gdy kichasz z otwartymi oczyma galki oczne moga zostac wypchniete?";
    char ciekaw_5[] = "Budowa ciala swini uniemozliwia jej spojrzenie w niebo?";
    char ciekaw_6[] = "50% ludności na świecie nigdy nie otrzymala ani nie wykonala telefonu?";
    char ciekaw_7[] = "Szczury i konie nie moga wymiotowac?";
    char ciekaw_8[] = "Zalozenie sluchawek tylko na jedna godzine powoduje wzrost ilosci bakterii w Twoim uchu o 700%?";
    char ciekaw_9[] = "Zapalniczke wynaleziono wczesniej niz zapalki?";
    char ciekaw_10[] = "Kwakanie kaczki nie powoduje echa i nikt nie wie dlaczego?";
    char pauza_1[] = "Udajesz sie na spoczynek panie ? [T/N]";
    char pauza_2[] = "Na ile minut uciekasz panie ?";
    char pauza_3[] = "Dobrze :-)";
    char pauza_4[] = "Panie \"SMIETNICZEK\" wzywa !!!";
    char end_1[] = "Program zakonczy dzialasnie za: ";
    gotoxy( 30, 4 );
    textcolor( 4 );
    cout << nazwa_1 << endl;
    void wherex( void );
    void clrscr( void );
    textcolor( 11 );
    char tab1[ l_z ][ l_m ] = {
        { 'S', 'z', 't', 'u', 'c', 'z', 'k', 'a', 0 },
        { 'K', 'a', 'l', 'k', 'u', 'l', 'a', 't', 'o', 'r', 0 },
        { 'C', 'i', 'e', 'k', 'a', 'w', 'o', 's', 't', 'k', 'a', 0 },
        { 'P', 'a', 'u', 'z', 'a', 0 },
        { 'K', 'o', 'n', 'i', 'e', 'c', 0 },
    };
    int tab2[ l_z ] = { 1, 2, 3, 4, 5 };
    gotoxy( 30, 6 );
    cout << tab2[ 0 ] << kropka << tab1[ 0 ] << endl;
    gotoxy( 30, 7 );
    cout << tab2[ 1 ] << kropka << tab1[ 1 ] << endl;
    gotoxy( 30, 8 );
    cout << tab2[ 2 ] << kropka << tab1[ 2 ] << endl;
    gotoxy( 30, 9 );
    cout << tab2[ 3 ] << kropka << tab1[ 3 ] << endl;
    gotoxy( 30, 10 );
    cout << tab2[ 4 ] << kropka << tab1[ 4 ] << endl;
    void wherex( void );
    cout << endl;
    cout << wybor_1 << endl;
    cout << endl;
    cin >> wybor_2;
    cout << kreski << endl;
    switch( wybor_2 )
    {
    case 1:
        {
            textcolor( 10 );
            cout << text_1 << endl;
            cout << kreski << endl;
            cout << sztuczka_0 << endl;
            cout << endl;
            cout << sztuczka_1 << endl;
            cout << sztuczka_2 << endl;
            cout << sztuczka_3 << endl;
            cout << sztuczka_4 << endl;
            cout << sztuczka_5 << endl;
            cin >> wyn_sztu_1;
            cout << sztuczka_6 << endl;
            cin >> wyn_sztu_2;
            cout << sztuczka_7 << wyn_sztu_1 << wyn_sztu_2 << endl;
            cout << sztuczka_8 << wyn_sztu_1 - 2 << endl;
            cout << endl;
            cout << powrot << endl;
            cout << endl;
            char s; //Powrót do menu...................
            cin >> s;
            if(( s == 'm' ) or( s == 'M' ) )
            {
                getchar();
                goto poczatek;
                break;
            }
        }
    case 2:
        {
            textcolor( 8 );
            cout << text_2 << endl;
            cout << endl;
            cout << kal_0;
            float x;
            float y;
            cin >> x;
            cout << kal_1;
            cin >> y;
            cout << kreski << endl;
            cout << kal_2 << endl;
            char tab3[ l_z ][ l_m ] = {
                { 'D', 'O', 'D', 'A', 'W', 'A', 'N', 'I', 'E', 0 },
                { 'O', 'D', 'E', 'J', 'M', 'O', 'W', 'A', 'N', 'I', 'E', 0 },
                { 'M', 'N', 'O', 'Z', 'E', 'N', 'I', 'E', 0 },
                { 'D', 'Z', 'I', 'E', 'L', 'E', 'N', 'I', 'E', 0 },
            };
            cout << tab2[ 0 ] << kropka << tab3[ 0 ] << endl;
            cout << tab2[ 1 ] << kropka << tab3[ 1 ] << endl;
            cout << tab2[ 2 ] << kropka << tab3[ 2 ] << endl;
            cout << tab2[ 3 ] << kropka << tab3[ 3 ] << endl;
            cout << kreski << endl;
            int wybor_3;
            cin >> wybor_3;
            switch( wybor_3 )
            {
                char P;
            case 1:
                {
                    cout << options_1 << endl;
                    cout << kreski << endl;
                    cout << kal_3 << x + y << endl;
                    cout << kreski << endl;
                    cout << powrot << endl;
                    cin >> P;
                    if(( P == 'm' ) or( P == 'M' ) )
                    {
                        getchar();
                        goto poczatek;
                        break;
                    }
                }
            case 2:
                {
                    cout << options_2 << endl;
                    cout << kreski << endl;
                    cout << kal_3 << x - y << endl;
                    cout << kreski << endl;
                    cout << powrot << endl;
                    cin >> P;
                    if(( P == 'm' ) or( P == 'M' ) )
                    {
                        getchar();
                        goto poczatek;
                        break;
                    }
                }
            case 3:
                {
                    cout << options_3 << endl;
                    cout << kreski << endl;
                    cout << kal_3 << x * y << endl;
                    cout << kreski << endl;
                    cout << powrot << endl;
                    cin >> P;
                    if(( P == 'm' ) or( P == 'M' ) )
                    {
                        getchar();
                        goto poczatek;
                        break;
                    }
                }
            case 4:
                {
                    cout << options_4 << endl;
                    cout << kreski << endl;
                    cout << kal_3 << x / y << endl;
                    cout << kreski << endl;
                    cout << powrot << endl;
                    cin >> P;
                    if(( P == 'm' ) or( P == 'M' ) )
                    {
                        getchar();
                        goto poczatek;
                        break;
                    }
                }
            }
        }
    case 3:
        {
            textcolor( 14 );
            cout << text_3 << endl;
            cout << kreski << endl;
            cout << ciekaw_1 << endl;
            cout << kreski << endl;
            getchar();
            cout << ciekaw_2 << endl;
            getchar();
            cout << ciekaw_3 << endl;
            getchar();
            cout << ciekaw_4 << endl;
            getchar();
            cout << ciekaw_5 << endl;
            getchar();
            cout << ciekaw_6 << endl;
            getchar();
            cout << ciekaw_7 << endl;
            getchar();
            cout << ciekaw_8 << endl;
            getchar();
            cout << ciekaw_9 << endl;
            getchar();
            cout << ciekaw_10 << endl;
            cout << kreski << endl;
            cout << powrot << endl;
            char C;
            cin >> C;
            if(( C == 'm' ) or( C == 'M' ) )
            {
                getchar();
                goto poczatek;
                break;
            }
        }
    case 4:
        {
            textcolor( 15 );
            cout << text_4 << endl;
            cout << kreski << endl;
            cout << pauza_1 << endl;
            char tak_nie;
            cin >> tak_nie;
            cout << kreski << endl;
            if(( tak_nie == 't' ) or( tak_nie == 'T' ) )
            {
                cout << pauza_2 << endl;
                float minuty;
                cin >> minuty;
                clock_t koniec =( minuty * 60 ) * CLOCKS_PER_SEC;
                clock_t start = clock();
                cout << pauza_3 << "\a" << endl;
                while( clock() - start < koniec )
                    ;
               
                cout << pauza_4 << "\a" << endl;
                cout << kreski << endl;
                cout << powrot << endl;
                char A;
                cin >> A;
                if(( A == 'm' ) or( A == 'M' ) )
                {
                    getchar();
                    goto poczatek;
                }
            } else(( tak_nie == 'n' ) or( tak_nie == 'N' ) );
           
            {
                getchar();
                goto poczatek;
            }
            break;
        }
    case 5:
        {
            textcolor( 2 );
            for( int f = 5; f > 0; f-- ) {
                clock_t start = clock(), koniec = 1 * CLOCKS_PER_SEC;
                cout << end_1 << f << endl;
                while( clock() - start < koniec );
               
            }
            break;
        }
    }
    return( 0 );
}

PO MOJEMU ;p MAM NADZIEJE ZE SIE PODOBA I POMOZCIE :(

 //Edit
 Wiem..:) nie ma to jak utrudnic sobie zycie ;P ;)Ale chyba jak na poczatkujacego :)
P-14284
WunM
» 2010-02-27 23:39:44
MAM NADZIEJE ZE IE PODOBA I POMOZCIE

OT: Mnie się IE nie podoba...

A tak na poważnie to powiedz coś więcej o swoim problemie niż:

Problem polega na tym, że nie wiem jak wtracic Zdanie " Nie podano cyfry, sprobuj ponownie: "
P-14285
shadix93
Temat założony przez niniejszego użytkownika
» 2010-02-27 23:42:38
hmm... podczas gdy naciskam przycisk bądź inna liczbe to wyświetla mi zdanie, które nakazuje wybranie liczby jeszcze raz.
P-14286
Geno
» 2010-02-27 23:53:09
zrobimy tak.
Najpierw pozbądź się goto.
Zastosuje pętle while, oraz użyj zamiast goto takiego czegoś jak continue albo break.
Jeśli nie wiesz co to jest to poczytaj.
Jak ktoś to ładnie napisał "goto ujawnia że jesteś kiepskim programistą".
Nie warto uczyć się goto bo i tak tego nie warto używać.

Co do twojego programu to jeszcze go nie przeczytałem, ale zaraz to zrobie
P-14287
shadix93
Temat założony przez niniejszego użytkownika
» 2010-02-27 23:59:39
Ehh... Widocznie jestem slaby........:(  A jak na razie funkcja goto jest dla mnie pojetna :)
P-14288
Geno
» 2010-02-28 00:04:45
nieno, nie jest źle, zaraz pare spraw dopisze.
Sam miałem problemy nawet z dodawaniem kiedyś.
A teraz poczekaj chwile, sprawdze twoje dzieło
P-14289
Geno
» 2010-02-28 00:07:43
a co do goto. To wygląda tak. Jeśli za często tego będziesz używać może się zdarzyć że się zamotasz i sam nie będziesz wiedział co zrobić.

PRzykład:


int a,b;
początek:
cin >> a >> b;
cout << a + b << endl;
goto początek;

można zastąpić:

int a,b;
while (true)
{
cin >> a >> b;
cout << a+b << endl;
}

Nie musisz latać z linii do linii tylko wykonujesz zadania w takim kółku
P-14290
shadix93
Temat założony przez niniejszego użytkownika
» 2010-02-28 00:25:29
nie wiem... chyba przyzwyczailem sie do goto. :)
P-14291
« 1 » 2 3
  Strona 1 z 3 Następna strona