Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <vector>
- using namespace std;
- struct Pair
- {
- double first;
- double second;
- Pair(double a, double b) //konstruktr
- {
- first = a;
- second = b;
- }
- };
- void SaveToFile(const string filename, vector<double> w)
- {
- ofstream file; //Tworzymy obiekt klasy ofstream. ('o', bo od 'out', czyli wyjście danych z programu do pliku.)
- file.open(filename.c_str()); //filename.c_str(), czyli konwertowanie stringa na tablicę charów bo metoda 'open'
- // chce mieć jako argument podaną tablicę charów (const char*), a nie const string.
- if (file.good())
- {
- for (int i = 0; i < w.size(); i++)
- {
- file << w[i] << "\n"; //Zapisywanie danych do pliku identycznie jak wypisywanie danych w konsoli.
- }
- cout << "Zapisano do pliku.\n";
- file.close();
- }
- }
- void ReadFromFile1(const string filename)
- {
- ifstream file; //'i', bo 'in', czyli wejście danych z pliku do programu
- file.open(filename.c_str());
- if (file.good())
- {
- cout << "Odczyt z pliku:\n";
- for (int i = 0; i < 3; i++)
- {
- string temp;
- file >> temp; //Wczytanie kolejnego słowa z pliku do zmiennej 'temp'.
- cout << i + 1 << " - " << temp << "\n";
- }
- file.close();
- }
- }
- void SaveToFile2(const string filename, vector<Pair> w)
- {
- ofstream file; //Tworzymy obiekt klasy ofstream. ('o', bo od 'out', czyli wyjście danych z programu do pliku.)
- file.open(filename.c_str()); //filename.c_str(), czyli konwertowanie stringa na tablicę charów bo metoda 'open' chce
- // mieć jako argument podaną tablicę charów (const char*), a nie const string.
- if (file.good())
- {
- for (int i = 0; i < w.size(); i++)
- {
- file << w[i].first << " " << w[i].second << "\n"; //Zapisywanie danych do pliku identycznie jak wypisywanie danych w konsoli.
- }
- cout << "Zapisano do pliku.\n";
- file.close();
- }
- }
- void ReadFromFile2(const string filename)
- {
- ifstream file; //'i', bo 'in', czyli wejście danych z pliku do programu
- file.open(filename.c_str());
- if (file.good())
- {
- cout << "Odczyt z pliku:\n";
- for (int i = 0; i < 3; i++)
- {
- string t_first, t_second;
- file >> t_first; //Wczytanie kolejnego słowa z pliku do zmiennej 't_first'.
- file >> t_second; //Wczytanie kolejnego słowa z pliku do zmiennej 't_second'.
- cout << "Para nr " << i + 1 << ": " << t_first << ", " << t_second << "\n";
- }
- file.close();
- }
- }
- int main()
- {
- //Zadanie 1
- const string filename1 = "f1.txt"; //stała typu string przechowująca nazwę pliku
- vector<double> w{};
- cout << "Podaj 3 liczby:\n";
- for (int i = 1; i <= 3; i++)
- {
- double temp;
- cout << i << ".: "; cin >> temp;
- w.push_back(temp);
- }
- SaveToFile(filename1, w);
- ReadFromFile1(filename1);
- cout << endl;
- //Zadanie 2 i 3
- const string filename2 = "f2.txt";
- vector<Pair> w2{};
- cout << "Podaj 3 pary liczb:\n";
- for (int i = 1; i <= 3; i++)
- {
- double t_first, t_second;
- cout << i << ".:\ta) ";
- cin >> t_first; // '\t' to po prostu tabulator
- cout << "\tb) ";
- cin >> t_second;
- w2.push_back(Pair(t_first, t_second));
- }
- SaveToFile2(filename2, w2);
- ReadFromFile2(filename2);
- cout << endl;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement