Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.97 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. struct los
  7. {
  8.     int numer;
  9.     int liczba[6];
  10. };
  11.  
  12. int main(void)
  13. {
  14.  
  15.     ifstream pliko; //plik otwarty
  16.     ofstream plikz; //plik ma byc binarny
  17.  
  18.     pliko.open("wyniki.txt");
  19.     plikz.open("losowanie.bin", fstream::binary | fstream::trunc); //binary to binarny pli, trunc czysci zawartosc przed otwarciem i dopiero zapisuje
  20.  
  21.     if(!pliko.good())
  22.     {
  23.         cout<<"nie otwarto pliku wejscia";
  24.         return -1;
  25.     }
  26.  
  27.  
  28.      if(!plikz.good())
  29.     {
  30.         cout<<"nie otwarto pliku binarnego";
  31.  
  32.         //zamyka plik otwarty tez by potem nie bylo przypalu
  33.         if(pliko.is_open())
  34.         {
  35.             pliko.close();
  36.         }
  37.  
  38.         return -1;
  39.     }
  40.  
  41.     los los_konkretny;
  42.  
  43.  
  44.     int numer_losowania;
  45.     int tablica_liczb_wylosowanych[6];
  46.  
  47.     //ignoruj 4 linijki - zignoruj 256 znakow (tak sobie losowo zalozylismy bo wiecej nie ma w lini)
  48.     //az do momentu trafienia na znak konca lini
  49.     pliko.ignore(256, '\n');
  50.     pliko.ignore(256, '\n');
  51.     pliko.ignore(256, '\n');
  52.     pliko.ignore(256, '\n');
  53.  
  54.         string tekst;
  55.  
  56.  
  57.     while(!pliko.eof())
  58.     {
  59.         //najpierw |>>numer_losu>> | >>data>> dzien tygodnia>> |>>
  60.         pliko>>tekst>>los_konkretny.numer>>tekst>>tekst>>tekst>>tekst;
  61.  
  62.         //teraz czytamy 6 numerow lotka
  63.  
  64.         for(int i=0; i<6; i++)
  65.         {
  66.             pliko>>los_konkretny.liczba[i];
  67.             pliko>>tekst; // po kazdym losie jest | musimy wczytac
  68.         }
  69.  
  70.         plikz.write(reinterpret_cast<char*> (&los_konkretny), sizeof(los) ); //interpretujemy to jako lacuch znakow, rozmiar zrzutu rozmiaru struktury
  71.  
  72.  
  73.         // wyswietlanie
  74.         cout<< los_konkretny.numer<<" :   ";
  75.          for(int i=0; i<6; i++)
  76.         {
  77.             cout<<los_konkretny.liczba[i];
  78.             cout<<" ";
  79.         }
  80.         cout<<endl;
  81.  
  82.     } //koniec while czytania i zapisu pliku
  83.  
  84.  
  85.     pliko.close();
  86.     plikz.close();
  87.  
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement