Pp9

z2

Pp9
Mar 12th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. // Pliki.cpp : Defines the entry point for the console application.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6. #include <fstream>
  7. #include <string>
  8.  
  9. using namespace std;
  10.  
  11. int _tmain(int argc, _TCHAR* argv[])
  12. {
  13. string nazwa, imie, nazwisko;
  14. float max, skutecznosc;
  15. int wiek;
  16. cout << "Podaj nazwe pliku: " << endl;
  17. cin >> nazwa;
  18. ifstream ifs; //Otworzenie pliku do wczytywania danych
  19. ifs.open(nazwa);
  20. if (ifs.good() == false) //Petla, która sprawdza czy plik jest otworzony
  21. {
  22. cout << "Nie otworzono zadnego pliku!";
  23. exit(0);
  24. }
  25. max = -2000;
  26. while (!ifs.eof()) //Petla wyszukująca największą skuteczność
  27. {
  28. ifs >> imie >> nazwisko >> wiek >> skutecznosc;
  29. if (skutecznosc > max) max = skutecznosc;
  30. }
  31. ifs.close();
  32.  
  33. ifs.open(nazwa); //Powtorne otworzenie pliku (by znalezc osoby z najwieksza skutecznoscia)
  34.  
  35. ofstream ofs; //Otworzenie pliku do zapisu
  36. nazwa.replace(nazwa.rfind(".txt"), 4, ".max.txt");
  37. ofs.open(nazwa);
  38. while (!ifs.eof()) //Petla, ktora znajduje osoby z wymaganymi cechami
  39. {
  40. ifs >> imie >> nazwisko >> wiek >> skutecznosc;
  41. if (skutecznosc == max && imie.length()>3 && nazwisko.length()>3 && nazwisko[nazwisko.length() - 1] == 'i' && nazwisko[nazwisko.length() - 2] == 'k' && nazwisko[nazwisko.length() - 3] == 's')
  42. { //osoby spelniajaec wymagania sa zapisywane do pliku
  43. for (int i = 1; i < (imie.length() - 3); i++) imie[i] = '*';
  44. for (int i = 1; i < (nazwisko.length() - 3); i++) nazwisko[i] = '*';
  45. ofs << imie << " " << nazwisko << " " << wiek << endl;
  46. }
  47. }
  48. ofs.close();
  49. ifs.close();
  50.  
  51.  
  52. return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment