Sunteți pe pagina 1din 10

Universitatea de Stat din Moldova

Facultatea tiine Economice

Departamentul Contabilitate i Informatic Economic

Gurdi Gheorghe

Lucru individual
la disciplina Instrumente software pentru afaceri
STUDIU DE CAZ
Determinarea celor mai bune rezultate
obinute la diferite probe sportive

Conductor tiinific: Valentina Tru, lector universitar


Autorul: Gurdi Gheorghe

Chiinu - 2016

Studiu de caz
5. La o competiie sportiv de diferite probe={denumire, data, ora, arena}, au participat
persoane ={nume, prenume, inaltime, greutate, tara} din mai multe ri. Fiecare participant
are greutatea={kilogram, gram} i poate participa numai la una dintre probele sportive
propuse. S se determine cele mai buna rezultate sportive obinute la diferite probe.
Rezultatele sportive pot fi estimate n diferite uniti, cum ar fi {minute, secunde, sutimi}, etc.
Soluie propus:
#include <iostream>
using namespace std;
class Probe{
string denumire;
string data;
string ora;
string arena;
int id;
public:
Probe(){};
Probe(int identificator, char *den, char *d, char *o, char *a)
{id=identificator;
denumire=den;
data=d;
ora=o;
arena=a; }
void initiere(int identificator,char *den, char *d, char *o, char *a)
{ id=identificator;
denumire=den;
data=d;
ora=o;
arena=a;}
void initiere()
{
cout<<"\n\n------ Proba ------";
cout<<"\n Denumire: "; getline(cin, denumire);
cout<<"\n Data: "; getline(cin, data);
cout<<"\n Ora: "; getline(cin, ora);
cout<<"\n Arena: "; getline(cin, arena); }
void afisare()
{
cout<<"\n\n----- Proba -----";
cout<<"\n ID: "<<id;
cout<<"\n Denumire: "<<denumire;
cout<<"\n Data: " <<data;
cout<<"\n Ora: " <<ora;

cout<<"\n Arena: " <<arena;


cout<<"\n"; }
Probe(Probe &p)
{
id=p.id;
denumire=p.denumire;
data=p.data;
ora=p.ora;
arena=p.arena;}
int get_id()
{return id; }};
class Greutatea{
int kilogram;
int gram;
public:
Greutatea(){};
Greutatea(int kilo, int gr){
kilogram=kilo;
gram=gr;}
void initiere(int kilo, int gr)
{ kilogram=kilo;
gram=gr;
}
void initiere()
{
cout<<"\n Greutatea participantului ";
cout<<"\n Kilograme: ";cin>>kilogram;
cout<<"\n Grame: ";cin>>gram; }
void afisare()
{
//cout<<"\n Greutatea participantului ";
cout<<"\n Kilograme: "<<kilogram;
cout<<"\n Grame: "<<gram;
cout<<"\n";}
Greutatea(Greutatea &g)
{
kilogram=g.kilogram;
gram=g.gram; }
int operator ==(Greutatea g)
{
if((kilogram==g.kilogram)&&(gram==g.gram)) return 1;
else return 0; }};
class Persoana{

string nume;
string prenume;
float inaltime;
Greutatea greutate;
string tara;
public:
Persoana(){};
Persoana(char *n, char *p, float inalt, Greutatea greu, char *t)
{
nume=n;
prenume=p;
inaltime=inalt;
greutate=greu;
tara=t; }
void initiere(char *n, char *p, float inalt, Greutatea greu, char *t)
{
nume=n;
prenume=p;
inaltime=inalt;
greutate=greu;
tara=t; }
void initiere()
{
cout<<"\n Detalii participant";
cout<<"\n Nume: ";getline(cin,nume);
cout<<"\n Prenume: ";getline(cin, prenume);
cout<<"\n Inaltime: ";cin>>inaltime;
cout<<"\n Greutate: ";greutate.initiere();
cout<<"\n Tara: ";getline(cin, tara);
}
void afisare()
{
cout<<"\n ---Detalii participant---";
cout<<"\n Nume: "<<nume;
cout<<"\n Prenume: "<<prenume;
cout<<"\n Inaltime: "<<inaltime;
cout<<"\n Greutate: ";greutate.afisare();
cout<<"\n Tara: "<<tara;
cout<<"\n";}
Persoana(Persoana &p)
{
nume=p.nume;
prenume=p.prenume;
inaltime=p.inaltime;

greutate=p.greutate;
tara=p.tara; }
int operator ==(Persoana p)
{
if((nume==p.nume)&&(prenume==p.prenume)&&(inaltime==p.inaltime)&&(greutate==p.gr
eutate)&&(tara==p.tara)) return 1;
else return 0;}};
class Rezultate{
int minute;
int secunde;
int sutimi;
public:
Rezultate(){};
Rezultate(int m, int sec, int sut)
{
minute=m;
secunde=sec;
sutimi=sut;}
void initiere(int m, int sec, int sut)
{
minute=m;
secunde=sec;
sutimi=sut;}
void initiere()
{
cout<<"\n ---Rezultatele probei---";
cout<<"\n Minute: ";cin>>minute;
cout<<"\n Secunde: ";cin>>secunde;
cout<<"\n Sutimi: ";cin>>sutimi;
}
void afisare() {
cout<<"\n ---Rezultatele probei---";
cout<<"\n Minute: "<<minute;
cout<<"\n Secunde: "<<secunde;
cout<<"\n Sutimi: "<<sutimi;
cout<<"\n";}
Rezultate(Rezultate &r)
{
minute=r.minute;
secunde=r.secunde;
sutimi=r.sutimi; }
int get_minute()
{return minute;}

int get_secunde()
{return secunde; }
int get_sutimi()
{return sutimi; }};
class Panou_rezultate{
Probe pr;
Persoana pers;
Rezultate rezult;
public:
Panou_rezultate(){};
Panou_rezultate(Probe p, Persoana per, Rezultate rez)
{pr=p;
pers=per;
rezult=rez; }
void initiere(Probe p, Persoana per, Rezultate rez)
{ pr=p;
pers=per;
rezult=rez; }
void initiere(){
pr.initiere();
pers.initiere();
rezult.initiere(); }
void afisare()
{ pr.afisare();
pers.afisare();
rezult.afisare(); }
int participat(Persoana p)
{ if(pers==p) return 1;
else return 0; }
Rezultate get_rezultat(){
return rezult;}
Probe get_proba()
{ return pr; }} ;
int main()
{
Probe pr[100];
pr[0].initiere(0,"100 m","08.12.2016","10.00","Stadionul Dinamo");
pr[1].initiere(1,"200 m","08.12.2016","10.15","Stadionul Dinamo");
pr[2].initiere(2,"400 m","08.12.2016","10.35","Stadionul Dinamo");
pr[3].initiere(3,"800 m","08.12.2016","11.00","Stadionul Dinamo");
pr[4].initiere(4,"1500 m","08.12.2016","11.30","Stadionul Dinamo");
pr[5].initiere(5,"5000 m","08.12.2016","12.00","Stadionul Dinamo");

pr[6].initiere(6,"1000 m","08.12.2016","13.00","Stadionul Dinamo");


int ipr=7;
Greutatea greu[100];
greu[0].initiere(65,2);
greu[1].initiere(68,8);
greu[2].initiere(65,7);
greu[3].initiere(71,4);
greu[4].initiere(77,3);
greu[5].initiere(69,9);
greu[6].initiere(66,2);
greu[7].initiere(72,5);
greu[8].initiere(77,1);
greu[9].initiere(70,8);
greu[10].initiere(80,5);
greu[11].initiere(81,1);
greu[12].initiere(83,5);
greu[13].initiere(69,9);
int igreu=13;
Persoana pers[100];
pers[0].initiere("Petrescu","Ionica",1.70,greu[0],"Romania");
pers[1].initiere("Marinescu","Vasile",1.74,greu[1],"Moldova");
pers[2].initiere("Ivanovski","Ivan",1.72,greu[2],"Rusia");
pers[3].initiere("Popovici","Pavel",1.81,greu[3],"Ucraina");
pers[4].initiere("Robu","Robert",1.92,greu[4],"Belarus");
pers[5].initiere("Pita","Grigore",1.66,greu[5],"Moldova");
pers[6].initiere("Movila","Anatol",1.68,greu[6],"Romania");
pers[7].initiere("Popescu","Valentin",1.71,greu[7],"Romania");
pers[8].initiere("Radu","Mihail",1.72,greu[8],"Romania");
pers[9].initiere("Raicu","Anton",1.70,greu[9],"Romania");
pers[10].initiere("Arama","Virgil",1.75,greu[10],"Romania");
pers[11].initiere("Nicu","Irinel",1.74,greu[11],"Romania");
pers[12].initiere("Marcu","Matei",1.80,greu[12],"Romania");
pers[13].initiere("Ardei","Anatol",1.88,greu[13],"Romania");
int ipers=13;
Rezultate rez[100];
rez[0].initiere(0,9,58);
rez[1].initiere(0,10,23);
rez[2].initiere(0,19,58);
rez[3].initiere(0,19,32);
rez[4].initiere(0,43,28);
rez[5].initiere(0,43,40);

rez[6].initiere(1,40,50);
rez[7].initiere(1,41,18);
rez[8].initiere(3,26,12);
rez[9].initiere(3,29,58);
rez[10].initiere(13,43,13);
rez[11].initiere(13,44,41);
rez[12].initiere(26,17,53);
rez[13].initiere(26,18,18);
int irez=13;
Panou_rezultate panou[100];
panou[0].initiere(pr[0],pers[0],rez[0]);
panou[1].initiere(pr[0],pers[1],rez[1]);
panou[2].initiere(pr[1],pers[2],rez[2]);
panou[3].initiere(pr[1],pers[3],rez[3]);
panou[4].initiere(pr[2],pers[4],rez[4]);
panou[5].initiere(pr[2],pers[5],rez[5]);
panou[6].initiere(pr[3],pers[6],rez[6]);
panou[7].initiere(pr[3],pers[7],rez[7]);
panou[8].initiere(pr[4],pers[8],rez[8]);
panou[9].initiere(pr[4],pers[9],rez[9]);
panou[10].initiere(pr[5],pers[10],rez[10]);
panou[11].initiere(pr[5],pers[11],rez[11]);
panou[12].initiere(pr[6],pers[12],rez[12]);
panou[13].initiere(pr[6],pers[13],rez[13]);
int ipanou=14;
int i,j,k;
Rezultate minim;
int nrpr, nrpers, nrrez, op, eoj;
for(eoj=1;eoj;)
{
//meniul de afisare
cout<<"-------MENIU-------\n";
cout<<"1 - Inregistrarea probei \n";
cout<<"2 - Inregistrarea persoanei participante \n";
cout<<"3 - Inregistrarea greutatii persoanei \n";
cout<<"4 - Inregistrarea rezultatului probei \n";
cout<<"5 - Inregistrarea rezultatului pentru panou \n";
cout<<"6 - Afisarea probelor \n";
cout<<"7 - Afisarea persoanelor participante \n";
cout<<"8 - Afisarea rezultatelor \n";
cout<<"9 - Afisarea celor mai bune rezultate \n";
cout<<"0 - Iesire \n";
cout<<"\nSelecteaza un numar din meniu \n";

cin>>op;
cin.ignore();
bool a_participat=false;
switch(op)
{case 0:
return 0;//iesirea
case 1:
pr[ipr].initiere();
ipr++;
break;
case 2:
pers[ipers].initiere();
ipers++;
break;
case 3:
greu[igreu].initiere();
igreu++;
break;
case 4:
rez[irez].initiere();
irez++;
break;
case 5: cout<<"\n Numar proba: ";
cin>>nrpr;
cin.ignore();
cout<<"\n Numar participant: ";
cin>>nrpers;
cin.ignore();
cout<<"\n Numar rezultat: ";
cin>>nrrez;
cin.ignore();
for(i=0;i<ipers;i++)
for (j=0; j<ipanou;j++)
if(panou[j].participat(pers[i]))
a_participat=true;
if(a_participat)
cout<<"\n Persoana data a participat deja la o proba\n ";
else
panou[++ipanou].initiere(pr[nrpr],pers[nrpers],rez[nrrez]);
break;
case 6: for(i=0;i<ipr;i++)
pr[i].afisare();
break;
case 7: for(i=0;i<ipers;i++)

pers[i].afisare();
break;
case 8: for(i=0;i<ipanou;i++)
panou[i].afisare();
break;
case 9: for(i=0;i<ipr;i++)
{
Rezultate min;
min.initiere(1000,0,0);
for(j=0;j<ipanou;j++)
{
if(panou[j].get_proba().get_id()==i)
if(panou[j].get_rezultat().get_minute()<min.get_minute())
min=panou[j].get_rezultat();
else
if((panou[j].get_rezultat().get_minute()==min.get_minute())&&(panou[j].get_rezultat().get_s
ecunde()<min.get_secunde()))
min=panou[j].get_rezultat();
else
if((panou[j].get_rezultat().get_minute()==min.get_minute())&&(panou[j].get_rezultat().get_s
ecunde()==min.get_secunde())&&(panou[j].get_rezultat().get_sutimi()<min.get_sutimi()))
min=panou[j].get_rezultat();
}
cout<<"Pentru proba "<<i<<" cel mai bun rezultat este: ";
min.afisare();
}
break;
default:
cout<<"\n Operatie incorecta\n";
break;
}
}
return 0;
}

S-ar putea să vă placă și

  • Etica Li
    Etica Li
    Document15 pagini
    Etica Li
    Cristina Pasat
    Încă nu există evaluări
  • 5.dileme de Etica Ale Comunicarii
    5.dileme de Etica Ale Comunicarii
    Document1 pagină
    5.dileme de Etica Ale Comunicarii
    Cristina Pasat
    Încă nu există evaluări
  • Prolog
    Prolog
    Document10 pagini
    Prolog
    Cristina Pasat
    100% (1)
  • SGBD
    SGBD
    Document1 pagină
    SGBD
    Cristina Pasat
    Încă nu există evaluări
  • Etapele Realizării Site
    Etapele Realizării Site
    Document8 pagini
    Etapele Realizării Site
    Cristina Pasat
    Încă nu există evaluări
  • Licenta PV
    Licenta PV
    Document50 pagini
    Licenta PV
    Cristina Pasat
    Încă nu există evaluări
  • Note de Curs ASF
    Note de Curs ASF
    Document35 pagini
    Note de Curs ASF
    Cristina Pasat
    Încă nu există evaluări
  • Li SGBD 3
    Li SGBD 3
    Document7 pagini
    Li SGBD 3
    Cristina Pasat
    Încă nu există evaluări
  • Pentru Lucrul Individual
    Pentru Lucrul Individual
    Document21 pagini
    Pentru Lucrul Individual
    Cristina Pasat
    Încă nu există evaluări
  • Uniuni
    Uniuni
    Document4 pagini
    Uniuni
    Cristina Pasat
    Încă nu există evaluări
  • Previziune 2
    Previziune 2
    Document4 pagini
    Previziune 2
    Cristina Pasat
    Încă nu există evaluări
  • Access 2000
    Access 2000
    Document426 pagini
    Access 2000
    Codreanu Petru
    Încă nu există evaluări
  • Structur I
    Structur I
    Document5 pagini
    Structur I
    Cristina Pasat
    Încă nu există evaluări
  • Finante T1...
    Finante T1...
    Document8 pagini
    Finante T1...
    Cristina Pasat
    Încă nu există evaluări
  • Management
    Management
    Document5 pagini
    Management
    Cristina Pasat
    Încă nu există evaluări
  • Li SI
    Li SI
    Document14 pagini
    Li SI
    Cristina Pasat
    Încă nu există evaluări
  • Proces Decizional
    Proces Decizional
    Document4 pagini
    Proces Decizional
    Cristina Pasat
    Încă nu există evaluări
  • Lucrare de Laborator Nr.2
    Lucrare de Laborator Nr.2
    Document10 pagini
    Lucrare de Laborator Nr.2
    Cristina Pasat
    Încă nu există evaluări
  • Politica Finna
    Politica Finna
    Document2 pagini
    Politica Finna
    Cristina Pasat
    Încă nu există evaluări
  • 1.statis. CA Stiinta
    1.statis. CA Stiinta
    Document1 pagină
    1.statis. CA Stiinta
    Cristina Pasat
    Încă nu există evaluări
  • 2.observ Statis
    2.observ Statis
    Document2 pagini
    2.observ Statis
    Cristina Pasat
    Încă nu există evaluări
  • Orar II 2015
    Orar II 2015
    Document6 pagini
    Orar II 2015
    Cristina Pasat
    Încă nu există evaluări
  • Drept
    Drept
    Document5 pagini
    Drept
    Cristina Pasat
    Încă nu există evaluări
  • Cerere Camin
    Cerere Camin
    Document1 pagină
    Cerere Camin
    Cristina Pasat
    Încă nu există evaluări
  • Cerere Camin
    Cerere Camin
    Document1 pagină
    Cerere Camin
    Cristina Pasat
    Încă nu există evaluări
  • Marketing
    Marketing
    Document10 pagini
    Marketing
    Cristina Pasat
    Încă nu există evaluări
  • Problematica Lumii Contemporane
    Problematica Lumii Contemporane
    Document1 pagină
    Problematica Lumii Contemporane
    Cristina Pasat
    Încă nu există evaluări
  • New Microsoft
    New Microsoft
    Document8 pagini
    New Microsoft
    Cristina Pasat
    Încă nu există evaluări
  • Документ1
    Документ1
    Document4 pagini
    Документ1
    Cristina Pasat
    Încă nu există evaluări