Advertisement
Guest User

Untitled

a guest
Jan 24th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <sstream>
  4. #include <cstdlib>
  5. #include <cstring>
  6. #include <string>
  7.  
  8. using namespace std;
  9.  
  10. struct ksiazki{
  11. char autor[30];
  12. char tytul[30];
  13. float cena;
  14. int rok;
  15. };
  16.  
  17. int main()
  18. {
  19. string::size_type sz;
  20. ifstream plik("dane.txt");
  21. string line, zmienna;
  22. float cena;
  23. ksiazki ks[5];
  24. int i=0;
  25. if(plik.good()){
  26. while(!plik.eof()){
  27. getline(plik, line);
  28. istringstream ss(line);
  29. string tok;
  30. getline(ss, tok, ';');
  31. stringstream StringToChar;
  32. StringToChar<<tok;
  33. StringToChar>>ks[i].autor;
  34. getline(ss, tok, ';');
  35. tok.copy(ks[i].tytul, 30);
  36. getline(ss, tok, ';');
  37. stringstream StringToFloat;
  38. StringToFloat<<tok;
  39. StringToFloat>>ks[i].cena;
  40. getline(ss, tok, ';');
  41. stringstream StringToInt;
  42. StringToInt<<tok;
  43. StringToInt>>ks[i].rok;
  44. cout<<ks[i].autor<<" "<<ks[i].tytul<<" "<<ks[i].cena<<" "<<ks[i].rok<<endl;
  45. i++;
  46. }
  47. }
  48. plik.close();
  49. for(int j=0; j<5; j++){
  50. for(int k=0; k<i-1; k++){
  51. if(ks[k].cena>ks[k+1].cena){
  52. swap(ks[k],ks[k+1]);
  53. }
  54. }
  55. }
  56.  
  57. cout<<endl<<endl;
  58. ofstream zapis("wyniki.dat", ios::binary);
  59. if(zapis.good()){
  60. for(int j=0; j<i; j++){
  61. cout<<ks[j].autor<<" "<<ks[j].tytul<<" "<<ks[j].cena<<" "<<ks[j].rok<<endl;
  62. zapis.write((char *) &ks[i], sizeof (ksiazki));
  63. }
  64. }
  65. return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement