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

[C++] Kod się zapętla

Ostatnio zmodyfikowano 2012-11-28 01:22
Autor Wiadomość
kynol
Temat założony przez niniejszego użytkownika
[C++] Kod się zapętla
» 2012-11-27 23:18:10
Witam mam problem. Zwracajcie uwage tylko na CASE 1! bo reszty nie zmienialem... Daje kod. Pytanie : Czemu sie nie zapetla, co jest zle?:/
C/C++
#include <cstdlib>
#include <iostream>
using namespace std;

int main()
{
    int wybor, a;
    bool zabezpieczenie_liczby, zabezpieczenie;
    cout << "\tWybierz dzialanie: " << endl;
    cout << "1 - Post-inkrementacja\n2 - Pre-inkrementacja\n3 - Post-dekrementacja\n4 - Pre-dekrementacja" << endl;
    do
    {
        cout << "Musisz podac tylko liczbe z zakresu od 1 - 4!" << endl;
        cout << "Wybierasz dzialanie nr: ";
        cin.clear();
        cin.sync();
        cin >> wybor;
        zabezpieczenie = cin.good();
        if( zabezpieczenie == true );
        else
             cout << "Program nie akceptuje znakow badz liter!" << endl;
       
    } while(( wybor <= 0 ) ||( wybor >= 5 ) );
   
    switch( wybor )
    {
    case 1:
        {
            cout << "Wybrales Post-inkrementacje" << endl;
            cout << "Podaj liczbe= ";
            do
            {
                zabezpieczenie_liczby = cin.good();
                cin.clear();
                cin.sync();
                cin >> a;
                if( a == zabezpieczenie_liczby )
                {
                    cout << "Wynik post-inkrementacji to: " << a++ << endl;
                    cout << "Liczba po przejsciu post-inkrementacji: " << a << endl;
                }
                else
                {
                    do
                    {
                        cout << "Program nie akceptuje znakow badz liter!" << endl;
                        cout << "Podaj liczbe= ";
                        cin.clear();
                        cin.sync();
                        cin >> a;
                    } while( a == zabezpieczenie_liczby );
                   
                }
            } while( a == zabezpieczenie_liczby );
           
        }
        break;
    case 2:
        {
            cout << "Wybrales Pre-inkrementacje" << endl;
            do
            {
                cout << "Podaj liczbe= ";
                cin.clear();
                cin.sync();
                cin >> a;
                zabezpieczenie_liczby = cin.good();
                if( zabezpieczenie_liczby == true );
                else
                     cout << "Program nie akceptuje znakow badz liter!" << endl;
               
            } while( a < 0 );
           
            cout << "Wynik pre-inkrementacji to: " << ++a << endl;
        }
        break;
    case 3:
        {
            cout << "Wybrales Post-dekrementacje" << endl;
            do
            {
                cout << "Podaj liczbe= ";
                cin.clear();
                cin.sync();
                cin >> a;
                zabezpieczenie_liczby = cin.good();
                if( zabezpieczenie_liczby == true );
                else
                     cout << "Program nie akceptuje znakow badz liter!" << endl;
               
            } while( a < 0 );
           
            cout << "Wynik post-dekrementacji to: " << a-- << endl;
            cout << "Liczba po przejsciu post-dekrementacji: " << a << endl;
        }
        break;
    case 4:
        {
            cout << "Wybrales Pro-dekrementacje" << endl;
            do
            {
                cout << "Podaj liczbe= ";
                cin.clear();
                cin.sync();
                cin >> a;
                zabezpieczenie_liczby = cin.good();
                if( zabezpieczenie_liczby == true );
                else
                     cout << "Program nie akceptuje znakow badz liter!" << endl;
               
            } while( a < 0 );
           
            cout << "Wynik pro-dekrementacji to: " << --a << endl;
        }
        break;
    }
    system( "PAUSE" );
    return 0;
}
P-70028
kynol
Temat założony przez niniejszego użytkownika
» 2012-11-28 01:22:05
Problem rozwiazany. Daje kod
C/C++
#include <cstdlib>
#include <iostream>
using namespace std;

int main()
{
    int wybor, a;
    bool zabezpieczenie_liczby, zabezpieczenie;
    cout << "Program demonstrujacy:" << endl;
    cout << "Post-inkrementacje, Pre-dekrementacje, Post-dekrementacje, Pre-inkrementacje" << endl;
    cout << "\n\n\n";
    cout << "\tWybierz dzialanie: " << endl;
    cout << "1. Post-inkrementacja\n2. Pre-inkrementacja\n3. Post-dekrementacja\n4. Pre-dekrementacja" << endl;
    do
    {
        cout << "Musisz podac tylko liczbe z zakresu od 1 - 4!" << endl;
        cout << "Wybierasz dzialanie nr: ";
        cin.clear();
        cin.sync();
        cin >> wybor;
        zabezpieczenie = cin.good();
        if( zabezpieczenie == true );
        else
             cout << "Program nie akceptuje znakow badz liter!" << endl;
       
    } while(( wybor <= 0 ) ||( wybor >= 5 ) );
   
    switch( wybor )
    {
    case 1:
        {
            cout << "Wybrales Post-inkrementacje" << endl;
            cout << "Podaj liczbe= ";
            cin >> a;
            zabezpieczenie_liczby = cin.good();
            if( !zabezpieczenie_liczby )
            {
                do
                {
                    cout << "Program nie akceptuje znakow badz liter!" << endl;
                    cout << "Podaj jeszcze raz liczbe= ";
                    cin.clear();
                    cin.sync();
                    cin >> a;
                    zabezpieczenie_liczby = cin.good();
                } while( !zabezpieczenie_liczby );
               
            }
            cout << "\tPodana liczba to: " << a++ << endl;
            cout << "\tLiczba po przejsciu post-inkrementacji: " << a << endl;
        }
        break;
    case 2:
        {
            cout << "Wybrales Pre-inkrementacje" << endl;
            cout << "Podaj liczbe= ";
            cin >> a;
            zabezpieczenie_liczby = cin.good();
            if( !zabezpieczenie_liczby )
            {
                do
                {
                    cout << "Program nie akceptuje znakow badz liter!" << endl;
                    cout << "Podaj jeszcze raz liczbe= ";
                    cin.clear();
                    cin.sync();
                    cin >> a;
                    zabezpieczenie_liczby = cin.good();
                } while( !zabezpieczenie_liczby );
               
            }
            cout << "\tLiczba po przejsciu pre-inkrementacji to: " << ++a << endl;
        }
        break;
    case 3:
        {
            cout << "Wybrales Post-dekrementacje" << endl;
            cout << "Podaj liczbe= ";
            cin >> a;
            zabezpieczenie_liczby = cin.good();
            if( !zabezpieczenie_liczby )
            {
                do
                {
                    cout << "Program nie akceptuje znakow badz liter!" << endl;
                    cout << "Podaj jeszcze raz liczbe= ";
                    cin.clear();
                    cin.sync();
                    cin >> a;
                    zabezpieczenie_liczby = cin.good();
                } while( !zabezpieczenie_liczby );
               
            }
            cout << "\tPodana liczba to: " << a-- << endl;
            cout << "\tLiczba po przejsciu post-dekrementacji: " << a << endl;
        }
        break;
    case 4:
        {
            cout << "Wybrales Pro-dekrementacje" << endl;
            cout << "Podaj liczbe= ";
            cin >> a;
            zabezpieczenie_liczby = cin.good();
            if( !zabezpieczenie_liczby )
            {
                do
                {
                    cout << "Program nie akceptuje znakow badz liter!" << endl;
                    cout << "Podaj jeszcze raz liczbe= ";
                    cin.clear();
                    cin.sync();
                    cin >> a;
                    zabezpieczenie_liczby = cin.good();
                } while( !zabezpieczenie_liczby );
               
            }
            cout << "\tLiczba po przejsciu pro-dekrementacji to: " << --a << endl;
        }
        break;
    }
    system( "PAUSE" );
    return 0;
}
P-70034
« 1 »
  Strona 1 z 1