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

[C++] Błędny warunek w pętli do...while

Ostatnio zmodyfikowano 2012-11-20 19:46
Autor Wiadomość
kynol
Temat założony przez niniejszego użytkownika
» 2012-11-15 23:43:03
Buahaha taki banal a ja tak kombinowalem. xD. Jak oceniasz wykonanie mojego programu? Podaje kod juz po wszystkich modyfikacjach

C/C++
#include <cstdlib>
#include <iostream>

using namespace std;

double Kolo( double r )
{
    double n = 3.14 * r * r;
    return n;
}

double Szescian( double a )
{
    double x = 6 * a * a;
    return x;
}


int Trojkat( int y, int h )
{
    double w = 0.5 * y * h;
    return w;
}

int Trapez( int k, int b, int o )
{
    double t =( k + b ) / 2 * o;
    return t;
}

int Stozek( int h, double r )
{
    double s = 3.14 * r * r * h / 3;
    return s;
}

int Prostokat( int a, int b )
{
    double p = a * b;
    return p;
}

float Ulamki( float licznik, float mianownik )
{
    float ulm =( licznik / mianownik );
    return ulm;
}


int main()
{
    double a, y, h, r, k, b, o;
    float licznik, mianownik;
    int f;
    bool poprawnosc;
   
    cout << "\tProgram obliczajacy pole powierzchni i objetosc podannych ponizej figur \n";
    cout << "Wybierz figure: \n 1 - Szescian \n 2 - Trojkat \n 3 - Kolo \n 4 - Trapez \n 5 - Stozek \n 6 - Prostokat" << endl;
   
    do
    { cout << "\n\tJesli nie podasz liczby z zakresu 1 - 6, program nie przejdzie dalej!" << endl;
        cout << "\nWybierasz figure nr: ";
        cin.clear();
        cin.sync();
        cin >> f;
        poprawnosc = cin.good();
        if( poprawnosc == true );
        else
             cout << "\tProgram nie akceptuje znakow badz liter!";
       
    } while(( f <= 0 ) ||( f >= 7 ) );
   
    switch( f )
    {
    case 1:
        {
            cout << "Wybrales szescian" << endl;
            cout << "Podaj dlugosc bokow a= ";
            cin >> a;
            cout << "Pole powierzchni szescianu wynosi: " << Szescian( a ) << "\n";
            cout << "Objetosc szecianu wynosi: " << a * a * a << "\n";
        }
        break;
    case 2:
        {
            cout << "Wybrales trojkat" << endl;
            cout << "Podaj dlugosc boku a= ";
            cin >> y;
            cout << "Podaj wysokosc trojkata= ";
            cin >> h;
            cout << "Pole powierzchni trojkata wynosi: " << Trojkat( y, h ) << "\n";
            cout << "Objetosc trojkata wynosi: Nie da sie obliczyc objetosci" << "\n";
        }
        break;
    case 3:
        {
            cout << "Wybrales kolo" << endl;
            cout << "Podaj dlugosc promienia= ";
            cin >> r;
            cout << "Pole powierzchni kola wynosi: " << Kolo( r ) << "\n";
            cin.clear();
            cin.sync();
            licznik = 4;
            mianownik = 3;
            cout << "Objetosc kola wynosi: " << Ulamki( licznik, mianownik ) * 3.14 * r * r * r << "\n";
        }
        break;
    case 4:
        {
            cout << "Wybrales trapez" << endl;
            cout << "Podaj dlugosc boku a= ";
            cin >> k;
            cout << "Podaj dlugosc boku b= ";
            cin >> b;
            cout << "Podaj wysokosc trapezu= ";
            cin >> o;
            cout << "Pole powierzchni trapezu wynosi: " << Trapez( k, b, o ) << "\n";
            cout << "Objetosc trapezu wynosi: Nie da sie obliczyc objetosci" << "\n";
        }
        break;
    case 5:
        {
            cout << "Wybrales stozek" << endl;
            cout << "Podaj dlugosc promienia= ";
            cin >> r;
            cout << "Podaj wysokosc = ";
            cin >> h;
            cout << "Pole powierzchni stozka wynosi: " << Stozek( h, r ) << "\n";
            cin.clear();
            cin.sync();
            licznik = 1;
            mianownik = 3;
            cout << "Objetosc stozka wynosi: " << Ulamki( licznik, mianownik ) * 3.14 * r * r * h << "\n";
        }
        break;
    case 6:
        {
            cout << "Wybrales prostokat" << endl;
            cout << "Podaj dlugosc boku a= ";
            cin >> a;
            cout << "Podaj dlugosc boku b= ";
            cin >> b;
            cout << "Pole powierzchni prostokata wynosi: " << Prostokat( a, b ) << "\n";
            cout << "Objetosc prostokata wynosi: Nie da sie obliczyc objetosci" << "\n";
        }
        break;
    }
   
    system( "PAUSE" );
    return 0;
}
P-69353
crash
» 2012-11-20 19:46:56
C/C++
int Trojkat( int y, int h )
{
    double w = 0.5 * y * h;
    return w;
}

int Trojkat...
double w
int Trojkat <- return double...

C/C++
int Stozek( int h, double r )
{
    double s = 3.14 * r * r * h / 3;
    return s;
}

j.w.

C/C++
int Prostokat( int a, int b )
{
    double p = a * b;
    return p;
}

Poczytaj o typach danych, int i double służą do przechowywania innego rodzaju liczb.
P-69628
1 « 2 »
Poprzednia strona Strona 2 z 2