2019-10-12 17:48:46 +02:00
|
|
|
#include <cstdlib>
|
|
|
|
#include <iostream>
|
|
|
|
#include <string>
|
|
|
|
#include <time.h>
|
|
|
|
#include <windows.h>
|
|
|
|
#include <winbase.h>
|
|
|
|
#include <cmath>
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
/*class data {
|
|
|
|
private:
|
|
|
|
int dzien;
|
|
|
|
int miesiac ;
|
|
|
|
int rok;
|
|
|
|
|
|
|
|
public:
|
|
|
|
data (int dzien, int miesiac, int rok) {
|
|
|
|
this->dzien = dzien;
|
|
|
|
this->miesiac = miesiac;
|
|
|
|
this->rok = rok;
|
|
|
|
}
|
|
|
|
data () {
|
|
|
|
this->dzien =0;
|
|
|
|
this->miesiac = 0;
|
|
|
|
this-> rok =0;
|
|
|
|
}
|
|
|
|
void WypiszDate ();
|
|
|
|
};*/
|
|
|
|
|
|
|
|
class produkt {
|
|
|
|
private:
|
|
|
|
int id;
|
|
|
|
string nazwa;
|
|
|
|
float cena;
|
|
|
|
int ilosc;
|
|
|
|
//data dat;
|
|
|
|
public:
|
|
|
|
produkt (int id, string nazwa, float cena, int ilosc) {
|
|
|
|
this->id = id;
|
|
|
|
this->nazwa = nazwa;
|
|
|
|
this->cena = cena;
|
|
|
|
this->ilosc = ilosc;
|
|
|
|
// this->dat = dat;
|
|
|
|
}
|
|
|
|
|
|
|
|
int getId(){
|
|
|
|
return id;
|
|
|
|
}
|
|
|
|
|
|
|
|
int getIle(){
|
|
|
|
return ilosc;
|
|
|
|
}
|
|
|
|
|
|
|
|
void setIle(){
|
|
|
|
this->ilosc=10;
|
|
|
|
}
|
|
|
|
|
|
|
|
string getNazwa(){
|
|
|
|
return nazwa;
|
|
|
|
}
|
|
|
|
|
|
|
|
float getCena(){
|
|
|
|
return cena;
|
|
|
|
}
|
|
|
|
|
|
|
|
void WypiszInformacje ();
|
|
|
|
|
|
|
|
void Kup();
|
|
|
|
};
|
|
|
|
|
|
|
|
/*void data::WypiszDate() {
|
|
|
|
cout << "data: " << dzien << "-"<< miesiac<<"-"<<rok<< endl;
|
|
|
|
};*/
|
|
|
|
|
|
|
|
void produkt::WypiszInformacje() {
|
|
|
|
cout << "nazwa produktu: " << nazwa << endl;
|
|
|
|
cout << "cena: " << cena << endl;
|
|
|
|
cout << "ilosc: " <<ilosc <<endl;
|
|
|
|
//cout << "data waznosci: " << dat->WypiszDate() << endl;
|
|
|
|
cout << "---------" << endl;
|
|
|
|
};
|
|
|
|
|
|
|
|
void produkt::Kup() {
|
|
|
|
this->ilosc=this->ilosc-1;
|
|
|
|
}
|
|
|
|
|
|
|
|
int main()
|
|
|
|
{
|
|
|
|
//data d1 = new data (11, 12, 2021);
|
|
|
|
produkt *p1 = new produkt(1, "KIT KAT",2.5, 2);
|
|
|
|
produkt *p2 = new produkt(2, "MARS", 2, 10 );
|
|
|
|
produkt *p3 = new produkt(3, "BOUNTY", 3, 3);
|
|
|
|
produkt *p4 = new produkt(4, "KINDER BUENO", 2.5, 4);
|
|
|
|
produkt *p5 = new produkt(5, "WW", 2 , 10);
|
|
|
|
produkt *p6 = new produkt(6, "MILKY WAY", 1.5, 5);
|
|
|
|
produkt *p7 = new produkt(7, "7-DAYS", 4, 8);
|
|
|
|
produkt *p8 = new produkt(8, "TWIX", 2, 10 );
|
|
|
|
produkt *p9 = new produkt(9, "PRINCE POLO", 1.5, 9);
|
|
|
|
|
|
|
|
produkt *tab[9] = {p1, p2, p3, p4, p5, p6, p7, p8, p9};
|
|
|
|
|
|
|
|
while (true){
|
|
|
|
cout<< "AUTOMAT"<<endl<<endl;
|
|
|
|
cout<< "MOZLIWE NOMINALY: 10 gr (0.1), 20 gr (0.2), 50 gr (0.5), 1 zl, 2 zl, 5zl"<<endl<<endl;
|
|
|
|
for (int i=0; i<9; i++){
|
|
|
|
cout<<tab[i]->getId()<< " "<<tab[i]->getNazwa()<<" "<< tab[i]->getCena()<<" zl"<<endl;
|
|
|
|
}
|
|
|
|
cout<<endl;
|
|
|
|
cout<<"podaj numer produktu: ";
|
|
|
|
int n;
|
|
|
|
cin>>n;
|
|
|
|
while (true){
|
|
|
|
if (n!=1 and n!=2 and n!=3 and n!=4 and n!=5 and n!=6 and n!=7 and n!=8 and n!=9){
|
|
|
|
cout<<"bledna wartosc, podaj ponownie: ";
|
|
|
|
cin>>n;
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
cout<<"oczekiwana zaplata: "<<tab[n-1]->getCena()<<endl;
|
|
|
|
float zaplata=0;
|
|
|
|
float m;
|
|
|
|
cout<<"wprowadz pierwsza monete: ";
|
|
|
|
while (zaplata<tab[n-1]->getCena()){
|
|
|
|
cin>>m;
|
|
|
|
if (m!=0.1 and m!=0.2 and m!=0.5 and m!=1 and m!=2 and m!=5){
|
|
|
|
cout<<"bledy nominal, wprowadz nowa monete: ";
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
zaplata=zaplata+m;
|
|
|
|
if (zaplata<tab[n-1]->getCena()){
|
|
|
|
cout<<"wprowadz kolejna monete: ";
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
cout<<"reszta: ";
|
|
|
|
if ((zaplata-tab[n-1]->getCena())<0.09){
|
|
|
|
cout<<"0"<<endl;
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
cout<<zaplata-tab[n-1]->getCena()<<endl;
|
|
|
|
}
|
|
|
|
tab[n-1]->Kup();
|
|
|
|
if (tab[n-1]->getIle()<1){
|
|
|
|
cout<<"BRAK PRODUKTU NR: "<< n << " " <<tab[n-1]->getNazwa()<<endl;
|
|
|
|
cout<<"WEZWANO MAGAZYN, CZEKAM NA UZUPELNIENIE..."<<endl;
|
|
|
|
for (int j=0; j<10; j++){
|
|
|
|
cout<<"PROSZE CZEKAC: "<<10-j<< endl;
|
|
|
|
Sleep(1000);
|
|
|
|
}
|
|
|
|
tab[n-1]->setIle();
|
|
|
|
cout<<"UZUPELNIONO"<<endl;
|
|
|
|
}
|
|
|
|
|
|
|
|
Sleep(5000);
|
|
|
|
system( "cls" );
|
|
|
|
}
|
|
|
|
|
|
|
|
delete p1;
|
|
|
|
delete p2;
|
|
|
|
delete p3;
|
|
|
|
delete p4;
|
|
|
|
delete p5;
|
|
|
|
delete p6;
|
|
|
|
delete p7;
|
|
|
|
delete p8;
|
|
|
|
delete p9;
|
|
|
|
delete tab;
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|