Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <fstream>
- using namespace std;
- /*
- Z pliku binarnego zawierajacego dane skopiuj do drugiego pliku
- tylko te osoby ktorych nazwisko zaczyna sie na litere K lub P
- i ktorych wiek jest wiekszy niz srednia wieku wszystkich osob
- */
- typedef struct osoba
- {
- char nazwisko[30];
- int wiek;
- }osoba;
- void funkcja(char* sciezka1, char* sciezka2)
- {
- char zawartosc[1024];
- int ile=0;
- int suma=0;
- int wiek;
- float srednia=0;
- ifstream plik1;
- plik1.open(sciezka1, ios::binary);
- if(plik1.fail())
- {
- cout<<"blad"<<endl;
- exit(0);
- }
- ofstream plik2;
- plik2.open(sciezka2);
- while(plik1.read((char*)&zawartosc, sizeof(zawartosc)))
- {
- ile++;
- suma+=zawartosc.wiek;
- }
- srednia=suma/ile;
- for(int i=0; i<ile; i++)
- {
- if(zawartosc[0] == 'K' || zawartosc[0] == 'P')
- {
- plik2<<zawartosc[i];
- }
- if(zawartosc.wiek > srednia)
- {
- plik2<<zawartosc[i];
- }
- }
- plik1.close();
- plik2.close();
- }
- int main()
- {
- char* sciezka1="plik1.bin";
- char* sciezka2="plik2.txt";
- funkcja(sciezka1, sciezka2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement