Ajutaţimă vărog mult.să se rezolve punctul a şi b.rog mult!desigur dau coroana
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <iomanip>
#include <fstream>
#include <vector>
#include <climits>
int main()
{
std::vector<std::string> listaDenumire;
std::fstream fisier;
std::string denumire;
double pret, pretMinim = INT_MAX;
fisier.open("produse_alimentare.txt", std::fstream::in);
if (fisier.is_open()) {
std::cout << "Produse existente în fișierul de date:" << std::endl;
while (fisier.peek() && ! fisier.eof()) {
std::getline(fisier, denumire, ';');
fisier >> pret;
fisier.get();
std::cout << denumire << ": " << pret << " RON" << std::endl;
}
fisier.close();
}
fisier.open("produse_alimentare.txt", std::fstream::out | std::fstream::app);
if (fisier.is_open()) {
std::cout << "Produse de adăugat în fișierul de date (denumire goală pentru terminare):" << std::endl;
do {
std::cout << "Denumire: ";
std::getline(std::cin, denumire);
if (! denumire.empty()) {
std::cout << "Preț: ";
std::cin >> pret;
std::cin.get();
fisier << denumire << ";" << pret << std::endl;
}
} while (! denumire.empty());
fisier.close();
}
fisier.open("produse_alimentare.txt", std::fstream::in);
if (fisier.is_open()) {
std::cout << "Produsele cu cel mai mic preț:" << std::endl;
while (fisier.peek() && ! fisier.eof()) {
std::getline(fisier, denumire, ';');
fisier >> pret;
fisier.get();
if (pretMinim > pret) {
pretMinim = pret;
listaDenumire.clear();
}
if (pretMinim == pret) {
listaDenumire.push_back(denumire);
}
}
fisier.close();
}
for (int i = 0; i < listaDenumire.size(); i++) {
std::cout << listaDenumire[i] << ": " << std::setprecision(2) << pretMinim << " RON" << std::endl;
}
}
Explicație:
Programul stochează datele în fișierul produse_alimentare.txt, fiecare produs pe rând separat cu denumire și preţ separate cu „;”.
La fiecare rulare programul face 3 chestii:
- Listează conţinutul existent al fișierului de date
- Salvează în fișier produse noi introduse de utilizator
- Parcurge conţinutul actualizat al fișierului de date și pentru cel mai mic preţ găsit reţine toate denumirile într-un vector, a cărui conţinut afișează la sfârșit