[C++] Błędny warunek w pętli do...while
Ostatnio zmodyfikowano 2012-11-20 19:46
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 #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; }
|
|
crash |
» 2012-11-20 19:46:56 int Trojkat( int y, int h ) { double w = 0.5 * y * h; return w; }
int Trojkat... double w int Trojkat <- return double...int Stozek( int h, double r ) { double s = 3.14 * r * r * h / 3; return s; }
j.w. 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. |
|
1 « 2 » |