Dintr-un file se citesc 2 numere. Realizati suma si produsul acestor numere prin intermediul pointerilor. Rezultatul se va afisa in acelasi fisier txt.
In c++
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <fstream>
using std::cout, std::cin, std::endl;
int main()
{
int *primulNumar = new int, *alDoileaNumar = new int, *sumaNr = new int, *prodNr = new int;
std::ifstream ifstream("date.in");
if (!ifstream.good())
exit(EXIT_FAILURE);
ifstream >> (*primulNumar) >> (*alDoileaNumar);
cout << "Numerele citite sunt: " << *primulNumar << " " << *alDoileaNumar << endl;
*sumaNr = *primulNumar + *alDoileaNumar;
*prodNr = *primulNumar * *alDoileaNumar;
cout << "Suma numerelor este " << *sumaNr << " iar produsul lor este " << *prodNr << endl;
std::ofstream ofstream("date.in", std::ios_base::app);
if (!ofstream.good())
exit(EXIT_FAILURE);
ofstream << "\n" << *sumaNr << " " << *prodNr << "\n";
delete primulNumar;
delete alDoileaNumar;
delete sumaNr;
delete prodNr;
ifstream.close();
ofstream.close();
return 0;
}
Explicație:
- Ai 4 pointeri, 2 pentru cele două numere, unu pentru sumă iar celălalt pentru produs.
- Aloci spațiu pentru fiecare-n parte.
- Citești cele două numere folosind un ifstream și le salvezi în interiorul celor 2 pointeri.
- Aduni cele două numere și le salvezi în pointerul pentru sumă, la fel și pentru înmulțire.
- După te folosești de un ofstream ca să scrii rezultatul sumei și produsului în același fișier, pe altă linie.
- La final închizi ifstreamul, ofstreamul și eliberezi memoria alocată.
Fișierul să-l denumești date.in și de ex scrii 10 20 pe prima linie, să fie-n același folder cu executabilul creat după ce compilezi .cpp-ul, dacă e în alt folder trebuie să-i specifici locația fișierului .txt în:
- std::ifstream ifstream("date.in");
și
- std::ofstream ofstream("date.in", std::ios_base::app);