Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <fstream>
- using namespace std;
- class obsluga_pliku
- {
- string file_path;
- public:
- fstream plik;
- void file_open();
- void file_close();
- obsluga_pliku(string);
- };
- void obsluga_pliku::file_open()
- {
- this->plik.open(file_path.c_str(), ios_base::in | ios_base::app);
- }
- void obsluga_pliku::file_close()
- {
- this->plik.close();
- }
- obsluga_pliku::obsluga_pliku(string path)
- {
- this->file_path = path + ".txt";
- }
- int main()
- {
- // wybieranie plikow i utworzenie
- // obslugujacych je obiektow
- string filepath1, filepath2;
- std::cout<<"Podaj nazwe pliku pierwszego:\n> ";
- std::cin>>filepath1;
- std::cout<<"Podaj nazwe pliku drugiego:\n> ";
- std::cin>>filepath2;
- std::cout<<"\n";
- obsluga_pliku plik1(filepath1), plik2(filepath2);
- plik1.file_open();
- plik2.file_open();
- // zmienne aktualnej linii i licznika
- int linia = 0;
- int rozne = 0;
- string str1, str2;
- int p1 = 0, p2 = 0;
- // porownywanie plikow
- // 1. czy maja rowna liczbe linijek
- while(getline(plik1.plik, str1))
- p1++;
- while(getline(plik2.plik, str2))
- p2++;
- std::cout<<"Plik1: "<<p1<<" linijek;\n";
- std::cout<<"Plik2: "<<p2<<" linijek;\n\n";
- plik1.file_close();
- plik2.file_close();
- plik1.file_open();
- plik2.file_open();
- // 2. ktore linijki sa rozne
- std::cout<<"Linie rozne (sprawdzone zostanie ";
- std::cout<<(p1>p2?p2:p1)<<" pierwszych linijek):\n\n";
- while(getline(plik1.plik, str1) && getline(plik2.plik, str2))
- {
- linia++;
- if(str1!=str2)
- {
- rozne++;
- std::cout<<"Linijka "<<linia<<": \n";
- std::cout<<"F1: |"<<str1<<"|\n";
- std::cout<<"F2: |"<<str2<<"|\n\n";
- }
- }
- if(rozne==0)
- std::cout<<"Wszystkie sprawdzone linie byly identyczne.\n\n";
- else
- std::cout<<"Znaleziono "<<rozne<<" nieidentycznych linijek.\n\n";
- // konczenie pracy programu
- std::cout<<"Kliknij trzykrotnie dowolny klawisz aby zamknac program.\n";
- int index = 0;
- while(index < 3)
- {
- getch();
- index++;
- }
- plik1.file_close();
- plik2.file_close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement