/* Enum jest to typ wyliczeniowy Pozwala na zadeklarowanie stałych liczbowych Deklaracja enum występuje przed funkcją main() Wartości enum używamy już potem w funkcji main() enum kończy się średnikiem SCHEMAT enum nazwa { przyklad1 przyklad2 przyklad3 }; USTAWIANIE DOMYSLNYCH WARTOSCI enum nazwa { przyklad0 = 7 //DOMYŚLNA WARTOŚĆ 7 przyklad1 //DOMYSLNA WARTOSC 8 przyklad2 //DOMYSLNA WARTOSC 9 }; ZAD. Zadanie w switchu Przedstawic uzytkownikowi pola jakich figur moga zostac obliczone -Kwadrat o boku a -Prostokat o bokach a, b -Trojkat o boku a i wysokosci h -Pole kola o promienu r Uzytkownik wybiera ktore pole chce policzyc. W zaleznosci od wyboru popros uzytkownika o wprowadzenie odpowiednich danych, sprawdzic czy dlugosci sa liczbami dodatnimi jezeli nie to wyswietl komunikat ze dlugosci bokow musza byc liczbami dodatnimi */ #include #include using namespace std; //DEFINICJA TYPU WYLICZENIOWEGO enum figury { kwadrat = 1, prostokat, trojkat, kolo }; int main() { int wybor; double a, b, h, r; cout << "Wybierz: " << endl; cout << kwadrat << " - Kwadrat\n"; cout << prostokat << " - Prostokat\n"; cout << trojkat << " - Trojkat\n"; cout << kolo << " - Kolo\n"; cout << "Twoj Wybor: "; cin >> wybor; //static_cast(wybor) - TO RZUTOWANIE (KONWERSJA) TYPU INT NA FIGURY. //Uzywamy static_cast by bezpiecznie przeksztalcic liczbe na konkretna wartosc wyliczeniowa figury switch (static_cast(wybor)) { case kwadrat: cout << "Podaj bok kwadratu (a): "; cin >> a; if (a <= 0) { cout << "Dlugosc musi byc dodatnia"; } else { cout << "Pole Kwadratu wynosi = " << a * a; } break; case prostokat: cout << "Podaj boki prostokata (a, b): "; cin >> a >> b; if (a <= 0 || b <= 0) { cout << "Dlugosc musi byc dodatnia"; } else { cout << "Pole Prostokata wynosi = " << a * b; } break; case trojkat: cout << "Podaj bok i wysokosc trojkata (a, h): "; cin >> a >> h; if (a <= 0 || h <= 0) { cout << "Dlugosc musi byc dodatnia"; } else { cout << "Pole trojkata wynosi = " << (a * h)/2; } break; case kolo: cout << "Podaj promien kola (r): "; cin >> r; if (r <= 0) { cout << "Dlugosc musi byc dodatnia"; } else { cout << "Pole Kolesa wynosi = " << M_PI * (r * r); } break; default: cout << "Niepoprawy wybor"; } return 0; }