Advertisement
Guest User

dlajureczka

a guest
Jan 18th, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <vector>
  5.  
  6. using namespace std;
  7.  
  8. struct Pair
  9. {
  10. double first;
  11. double second;
  12.  
  13. Pair(double a, double b) //konstruktr
  14. {
  15. first = a;
  16. second = b;
  17. }
  18. };
  19.  
  20.  
  21. void SaveToFile(const string filename, vector<double> w)
  22. {
  23. ofstream file; //Tworzymy obiekt klasy ofstream. ('o', bo od 'out', czyli wyjście danych z programu do pliku.)
  24. file.open(filename.c_str()); //filename.c_str(), czyli konwertowanie stringa na tablicę charów bo metoda 'open'
  25. // chce mieć jako argument podaną tablicę charów (const char*), a nie const string.
  26. if (file.good())
  27. {
  28. for (int i = 0; i < w.size(); i++)
  29. {
  30. file << w[i] << "\n"; //Zapisywanie danych do pliku identycznie jak wypisywanie danych w konsoli.
  31. }
  32.  
  33. cout << "Zapisano do pliku.\n";
  34. file.close();
  35. }
  36. }
  37.  
  38.  
  39. void ReadFromFile1(const string filename)
  40. {
  41. ifstream file; //'i', bo 'in', czyli wejście danych z pliku do programu
  42. file.open(filename.c_str());
  43.  
  44. if (file.good())
  45. {
  46. cout << "Odczyt z pliku:\n";
  47. for (int i = 0; i < 3; i++)
  48. {
  49. string temp;
  50. file >> temp; //Wczytanie kolejnego słowa z pliku do zmiennej 'temp'.
  51. cout << i + 1 << " - " << temp << "\n";
  52. }
  53. file.close();
  54. }
  55. }
  56.  
  57.  
  58. void SaveToFile2(const string filename, vector<Pair> w)
  59. {
  60. ofstream file; //Tworzymy obiekt klasy ofstream. ('o', bo od 'out', czyli wyjście danych z programu do pliku.)
  61. file.open(filename.c_str()); //filename.c_str(), czyli konwertowanie stringa na tablicę charów bo metoda 'open' chce
  62. // mieć jako argument podaną tablicę charów (const char*), a nie const string.
  63. if (file.good())
  64. {
  65. for (int i = 0; i < w.size(); i++)
  66. {
  67. file << w[i].first << " " << w[i].second << "\n"; //Zapisywanie danych do pliku identycznie jak wypisywanie danych w konsoli.
  68. }
  69.  
  70. cout << "Zapisano do pliku.\n";
  71. file.close();
  72. }
  73. }
  74.  
  75.  
  76. void ReadFromFile2(const string filename)
  77. {
  78. ifstream file; //'i', bo 'in', czyli wejście danych z pliku do programu
  79. file.open(filename.c_str());
  80.  
  81. if (file.good())
  82. {
  83. cout << "Odczyt z pliku:\n";
  84. for (int i = 0; i < 3; i++)
  85. {
  86. string t_first, t_second;
  87. file >> t_first; //Wczytanie kolejnego słowa z pliku do zmiennej 't_first'.
  88. file >> t_second; //Wczytanie kolejnego słowa z pliku do zmiennej 't_second'.
  89. cout << "Para nr " << i + 1 << ": " << t_first << ", " << t_second << "\n";
  90. }
  91. file.close();
  92. }
  93. }
  94.  
  95. int main()
  96. {
  97. //Zadanie 1
  98.  
  99. const string filename1 = "f1.txt"; //stała typu string przechowująca nazwę pliku
  100. vector<double> w{};
  101.  
  102. cout << "Podaj 3 liczby:\n";
  103. for (int i = 1; i <= 3; i++)
  104. {
  105. double temp;
  106. cout << i << ".: "; cin >> temp;
  107. w.push_back(temp);
  108. }
  109. SaveToFile(filename1, w);
  110. ReadFromFile1(filename1);
  111. cout << endl;
  112.  
  113. //Zadanie 2 i 3
  114.  
  115. const string filename2 = "f2.txt";
  116. vector<Pair> w2{};
  117. cout << "Podaj 3 pary liczb:\n";
  118. for (int i = 1; i <= 3; i++)
  119. {
  120. double t_first, t_second;
  121. cout << i << ".:\ta) ";
  122. cin >> t_first; // '\t' to po prostu tabulator
  123. cout << "\tb) ";
  124. cin >> t_second;
  125. w2.push_back(Pair(t_first, t_second));
  126. }
  127. SaveToFile2(filename2, w2);
  128. ReadFromFile2(filename2);
  129.  
  130. cout << endl;
  131. system("pause");
  132. return 0;
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement