Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class Vleznica {
- protected:
- char natprevar[50];
- int ocena;
- public:
- Vleznica(char *n, int c)
- {
- strcpy(natprevar, n);
- ocena=c;
- }
- virtual float cena()=0;
- char *getNatprevar(){return natprevar;}
- virtual ~Vleznica(){}
- };
- class VleznicaSedenje : public Vleznica {
- private:
- int blok, red;
- public:
- VleznicaSedenje(char *n, int c, int b, int r):Vleznica(n,c)
- {
- blok = b;
- red = r;
- }
- float cena(){
- if(red<8) return (ocena*0.4)+ocena;
- else if (red>=8&&red <=15) return ocena + (ocena*0.2);
- else
- return ocena;
- }
- };
- class VleznicaStoenje : public Vleznica {
- private:
- char tribina;
- public:
- VleznicaStoenje(char *n, int c, char t):Vleznica(n,c)
- {
- tribina=t;
- }
- float cena(){
- if(tribina == 'S')
- return ocena+(ocena*0.3);
- else
- return ocena;
- }
- };
- void najmalaCena(Vleznica **vleznici, int broj){
- int temp = 0;
- float min = vleznici[0] -> cena();
- for(int i = 0 ; i < broj; i++){
- if (vleznici[i] -> cena() < min){
- min = vleznici[i] -> cena();
- temp = i;}
- }
- cout<<vleznici[temp] -> getNatprevar() << endl;
- cout<<vleznici[temp] -> cena() << endl;
- }
- int main() {
- int n;
- cin >> n;
- Vleznica** vleznici = new Vleznica*[n];
- for(int i = 0; i < n; ++i) {
- char ime[30];
- float osnovnaCena;
- cin >> ime >> osnovnaCena;
- if(i % 2) {
- int blok, red;
- cin >> blok >> red;
- vleznici[i] = new VleznicaSedenje(ime, osnovnaCena, blok, red);
- } else {
- char tribina;
- cin >> tribina;
- vleznici[i] = new VleznicaStoenje(ime, osnovnaCena, tribina);
- }
- }
- najmalaCena(vleznici, n);
- for(int i = 0; i < n; ++i) {
- delete vleznici[i];
- }
- delete [] vleznici;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment