105 lines
2.9 KiB
C++
105 lines
2.9 KiB
C++
/*
|
|
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 <iostream>
|
|
#include <cmath>
|
|
|
|
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<figury>(wybor) - TO RZUTOWANIE (KONWERSJA) TYPU INT NA FIGURY.
|
|
//Uzywamy static_cast by bezpiecznie przeksztalcic liczbe na konkretna wartosc wyliczeniowa figury
|
|
|
|
switch (static_cast<figury>(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;
|
|
}
|