Ponizej krotki trzyplikowy programik korzystajacy z klas, może ktoś wskazać w nim miejsca, które są do poprawy, chodzi mi o styl, rozwiązania, składnie itd., żeby to bardziej profesjonalnie wyglądało, o tym że powinienem użyć vector
zamiast tablicy Sprzedawca wiem.
//main.cpp
#include <iostream>
#include "sales.h"
using namespace std;
int main()
{
Sales Sprzedawca[5];
char znak;
string nazwisko;
double sprzedaz[4];
for(int i=0;i<5;i++)
{
cout<<"wpisz pusty (1), wpisz nazwisko i pusta sprzedaz(2), wpisz nazwisko wypelnij sprzedaz(3)"<<endl;
cin>>znak;
switch(znak)
{
case '1':
{
Sprzedawca[i]=Sales();
break;
}
case '2':
{
cout<<"podaj nazwisko"<<endl;
cin.ignore();
getline(cin,nazwisko);
Sprzedawca[i]=Sales(nazwisko);
break;
}
case '3':
{
cout<<"podaj nazwisko"<<endl;
cin.ignore();
getline(cin,nazwisko);
for(int i=0;i<4;i++)
{
cout<<"podaj sprzedaz za "<<i+1<<"kwartal"<<endl;
cin>>sprzedaz[i];
}
Sprzedawca[i]=Sales(nazwisko,sprzedaz);
}
}
}
for(int i=0;i<5;i++)
Sprzedawca[i].pokaz();
return 0;
}
//sales.h
#include <iostream>
using namespace std;
const int quaters=4;
class Sales
{
string sprzedawca;
double sales[quaters];
double averange;
double maksymal;
double minimal;
public:
Sales();
Sales(string handlarz);
Sales(string handlarz, double sprzedaz[]);
void UstawPola(double tablicaSprzedazy[]);
void pokaz();
};
//sales.cpp
#include <iostream>
#include "sales.h"
using namespace std;
Sales::Sales()
{
sprzedawca="brak";
for(int i=0;i<4;i++)
sales[i]=0;
maksymal=0;
minimal=0;
averange=0;
}
Sales::Sales(string handlarz)
{
sprzedawca=handlarz;
for(int i=0;i<4;i++)
sales[i]=0;
maksymal=0;
minimal=0;
averange=0;
}
Sales::Sales(string handlarz, double sprzedaz[])
{
sprzedawca=handlarz;
for (int i=0;i<4;i++)
sales[i]=sprzedaz[i];
Sales::UstawPola(sprzedaz);
}
void Sales::UstawPola(double tablicaSprzedazy[])
{
double maks, mini, srednia;
maks=tablicaSprzedazy[0];
mini=tablicaSprzedazy[0];
srednia=0;
for(int i=0;i<4;i++)
{
if(maks<tablicaSprzedazy[i])
maks=tablicaSprzedazy[i];
if(mini>tablicaSprzedazy[i])
maks=tablicaSprzedazy[i];
srednia=srednia+tablicaSprzedazy[i];
}
averange=srednia/4;
maksymal=maks;
minimal=mini;
}
void Sales::pokaz()
{
cout<<"sprzedawca o nazwisku "<<sprzedawca<<" sprzedal:"<<endl;
cout<<"sprzedaz w Ikw: "<<sales[0]<<endl;
cout<<"sprzedaz w IIkw: "<<sales[1]<<endl;
cout<<"sprzedaz w IIIkw: "<<sales[2]<<endl;
cout<<"sprzedaz w IVkw: "<<sales[3]<<endl;
cout<<"najlepszy kwartal wynik: "<<maksymal<<endl;
cout<<"najgorszy kwartal wynik: "<<minimal<<endl;
cout<<"srednio na kwartal: "<<averange<<endl;
}