n firme de construcţii participă la o licitaţie pentru a realiza o lucrare. Fiecare are o ofertă
de preţ de lucru/zi şi de durată de execuție (în număr de zile). Să se realizeze o structură
de date ce administrează ofertele firmelor (nume, preț, durata lucrării). Să se afişeze
numele firmei cu cea mai bună ofertă (cea mai ieftină).

Răspuns :

Răspuns:

#include <iostream>

#include <string>

using namespace std;

struct firmă {

string nume;

int preț;

int durată;

};

int main()

{

int n;

firmă firme[255];

cout << "Cate firme participa la licitatie? : "; cin >> n;

// citim o firmă ca să avem valori de inițializare pentru cmb_preț și cmb_firmă

cout << "Numele firmei 1 : "; cin >> firme[0].nume;

cout << "Pretul de lucru al firmei 1 : "; cin >> firme[0].preț;

cout << "Durata de executie a firmei 1 : "; cin >> firme[0].durată;

// acum avem valori de inițializare..

int cmb_preț = firme[0].preț;

string cmb_firmă = firme[0].nume;

for (int counter = 1; counter < n; counter++) { // citim n-1 firme pentru că una a fost citită deja

 cout << "Numele firmei " << counter + 1 << " : "; cin >> firme[counter].nume;

 cout << "Pretul de lucru al firmei " << counter + 1 << " : "; cin >> firme[counter].preț;

 cout << "Durata de executie a firmei " << counter + 1 << " : "; cin >> firme[counter].durată;

 if (firme[counter].preț < cmb_preț) {

  cmb_preț = firme[counter].preț;

  cmb_firmă = firme[counter].nume;

 }

}

cout << "Firma cu cea mai buna oferta este : " << cmb_firmă;

return 0;

}

Explicație: