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ăspunsuri la întrebare
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: