Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <sstream>
- #include <cstdlib>
- #include <cstring>
- #include <string>
- using namespace std;
- struct ksiazki{
- char autor[30];
- char tytul[30];
- float cena;
- int rok;
- };
- int main()
- {
- string::size_type sz;
- ifstream plik("dane.txt");
- string line, zmienna;
- float cena;
- ksiazki ks[5];
- int i=0;
- if(plik.good()){
- while(!plik.eof()){
- getline(plik, line);
- istringstream ss(line);
- string tok;
- getline(ss, tok, ';');
- stringstream StringToChar;
- StringToChar<<tok;
- StringToChar>>ks[i].autor;
- getline(ss, tok, ';');
- tok.copy(ks[i].tytul, 30);
- getline(ss, tok, ';');
- stringstream StringToFloat;
- StringToFloat<<tok;
- StringToFloat>>ks[i].cena;
- getline(ss, tok, ';');
- stringstream StringToInt;
- StringToInt<<tok;
- StringToInt>>ks[i].rok;
- cout<<ks[i].autor<<" "<<ks[i].tytul<<" "<<ks[i].cena<<" "<<ks[i].rok<<endl;
- i++;
- }
- }
- plik.close();
- for(int j=0; j<5; j++){
- for(int k=0; k<i-1; k++){
- if(ks[k].cena>ks[k+1].cena){
- swap(ks[k],ks[k+1]);
- }
- }
- }
- cout<<endl<<endl;
- ofstream zapis("wyniki.dat", ios::binary);
- if(zapis.good()){
- for(int j=0; j<i; j++){
- cout<<ks[j].autor<<" "<<ks[j].tytul<<" "<<ks[j].cena<<" "<<ks[j].rok<<endl;
- zapis.write((char *) &ks[i], sizeof (ksiazki));
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement