#include <iostream>
#include <vector>
using namespace std;
class Przyjmowanie_zamowien
{
string danie;
int czas_przygotowania;
int cena;
public:
Przyjmowanie_zamowien(string nazwa="brak", int czas=0, int koszt=0)
:danie(nazwa), czas_przygotowania(czas), cena(koszt) {}
// Przyjmowanie_zamowien & operator=(Przyjmowanie_zamowien &);
friend ostream & operator << (ostream & ekran, Przyjmowanie_zamowien &p);
friend istream & operator >>(istream & ekran, Przyjmowanie_zamowien &p);
};
/*Przyjmowanie_zamowien & Przyjmowanie_zamowien::operator=(Przyjmowanie_zamowien &)
{}*/
class Interfejs
{
Przyjmowanie_zamowien wsk;
vector<Przyjmowanie_zamowien> MyVector;
int a;
public:
void Dodaj_element();
void Wyswietl_Tablice();
Interfejs(): a(5)
{
while( a != 0)
{
cout <<"Wczytanie danych 1"<<endl;
cout <<"Wypisanie dancyh 2" <<endl;
cout << "Zamkniecie aplikacji 0" <<endl;
if(cin >>a)
{
switch(a)
{
case 1:
Dodaj_element();
break;
case 2:
Wyswietl_Tablice();
break;
case 0:
cout <<"Zamykamy...";
break;
default:
cout <<"Nie znam takiego numeru";
break;
}
}
else
{
cin.clear();
while(cin.get() !='\n') {}
a=5;
cerr <<"Podales nie poprawne dane" <<endl;
}
}
}
};
void Interfejs::Dodaj_element()
{
cin >>wsk;
MyVector.push_back(wsk);
}
void Interfejs::Wyswietl_Tablice()
{
for(int i=0; i< MyVector.size(); i++ )
{
cout << MyVector[i];
}
}
ostream & operator <<(ostream & ekran, Przyjmowanie_zamowien &p)
{
ekran << "Nazwa dania " <<p.danie <<" czas przygotowania "
<<p.czas_przygotowania << " jego cena: " << p.cena<<endl<<endl;
return ekran;
}
istream & operator >>(istream & ekran, Przyjmowanie_zamowien &p)
{
int b =1;
while( b!=0)
{
cout <<"Podaj nazwe dania, czas i koszt"<<endl;
if(ekran >> p.danie>>p.cena>> p.czas_przygotowania)
{
return ekran;
}
else
{
ekran.clear();
while(ekran.get()!='\n') {}
cerr <<"Podales niepoprawne dane"<<endl;
b=1;
}
}
}
int main()
{
Interfejs p;
return 0;
}
Witam, stworzyłem taką aplikacje w celach edukacyjnych. Chciałbym zasięgnąć opinii bardziej doświadczonych kolegów. Co można zrobić lepiej, co zrobiłem źle.