Advertisement
Guest User

Untitled

a guest
Apr 4th, 2014
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.95 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <ctime>
  4. #include <clocale>
  5. #include <cstdio>
  6. #include <string.h>
  7.  
  8. using namespace std;
  9.  
  10.  
  11.  
  12. class Lista
  13. {
  14.     private:
  15.  
  16.     char czas[64];
  17.  
  18.        struct zdarzenie
  19.     {
  20.         int godzina;
  21.         int data;
  22.  
  23.         zdarzenie *nastepne;
  24.         zdarzenie()
  25.         {
  26.             nastepne = 0;
  27.         }
  28.     };
  29.  
  30.     public:
  31.  
  32.     zdarzenie *pierwsze;
  33.     //metody
  34.     void dodaj_zdarzenie (int godzina,int data);
  35.     void usun_zdarzenie (int nr);
  36.     void wyswietl_liste();
  37.     void wyswietl_liste_od(int nr); //tej funkcji jeszcze nie ma
  38.     void wczytaj();
  39.     void zapisz_w_pliku();
  40.     const char* fczas();
  41.  
  42.     //konstruktor
  43.     Lista();
  44.  
  45. };
  46.  
  47.  
  48. const char* Lista :: fczas()
  49. {
  50.  time_t rawtime;
  51.   struct tm * timeinfo;
  52.   char czas [80];
  53.  
  54.   time (&rawtime);
  55.   timeinfo = localtime (&rawtime);
  56.  
  57.   strftime (czas,80,"%H%M%d%m%y",timeinfo);
  58.   puts (czas);
  59. //cout <<buffer;
  60.  
  61.  
  62.  
  63.  
  64.  
  65. }
  66. Lista::Lista()
  67. {
  68.     pierwsze=0;
  69.  
  70. }
  71. void Lista ::zapisz_w_pliku()
  72. {
  73.  
  74. ofstream plik;// tutaj musisz sobie uwotrzyc plik recznie odpowiednio z rozszerzeniem jakie chcesz moze byc txt przykladowo
  75.  
  76. plik.open( "terminarz.txt" );
  77.  
  78. if( plik.good()==  true )
  79. {
  80.     cout << "uzyskano dostep do pliku !"<<endl;
  81. }
  82. else
  83. cout << " dostep do pliku zostal zabroniony !" <<endl;
  84.  
  85. zdarzenie *temp = pierwsze;
  86.  
  87.  
  88.     // przewijamy wskazniki na nastepne elementy
  89.     while (temp)
  90.     {
  91. plik << temp->godzina<<",";
  92. plik << temp->data<<"\n";
  93. temp=temp->nastepne;
  94.  plik.flush();
  95.  
  96.     }
  97.  
  98. plik.close();
  99. }
  100. void wczytaj()
  101. {
  102.     ifstream plik;
  103.     plik.open("terminarz.txt");
  104. }
  105.  
  106. void Lista::dodaj_zdarzenie(int godzina,int data)
  107. {
  108.     zdarzenie *nowe =new zdarzenie;
  109.  
  110.     nowe->data=data;
  111.     nowe->godzina=godzina;
  112.  
  113.  
  114.  
  115.  
  116.       if(  zdarzenie *temp = pierwsze)
  117. {
  118.  
  119.  
  120.         while (temp->nastepne)
  121.         {
  122.  
  123.             temp = temp->nastepne;
  124.         }
  125.  
  126.         temp->nastepne = nowe;
  127.         nowe->nastepne = 0;         }
  128.  
  129. else {
  130.  
  131.         pierwsze = nowe;
  132.     }
  133.  
  134. }
  135.  
  136. void Lista::wyswietl_liste()
  137. {
  138.  
  139.     zdarzenie *temp = pierwsze;
  140.  
  141.  
  142.  
  143.     while (temp)
  144.     {
  145.         cout << "godzina: " << temp->godzina << " data: " << temp->data << endl;
  146.         temp=temp->nastepne;
  147.     }
  148. }
  149.  
  150.  
  151. void Lista::usun_zdarzenie(int nr)
  152. {
  153.     if(nr==1)
  154.     {
  155.     zdarzenie *temp = pierwsze;
  156.     pierwsze = temp->nastepne;
  157.  
  158.     }
  159. if ( nr>= 2)
  160. {
  161.  
  162. int j =1;
  163.  
  164.  
  165. zdarzenie *temp = pierwsze;
  166.  
  167. while ( temp )
  168. {
  169.     if ( (j +1 )==nr) break;
  170.  
  171.     temp = temp->nastepne;
  172.     j++;
  173. }
  174. if (temp -> nastepne -> nastepne ==0)
  175.     temp ->nastepne = 0;
  176.  
  177. else
  178.     temp->nastepne = temp ->nastepne ->nastepne;
  179. }
  180.  
  181. }
  182.  
  183.  
  184.  
  185. int main()
  186. {
  187.  
  188. Lista a;
  189. Lista b;
  190.  
  191. a.fczas();
  192. a.dodaj_zdarzenie(9,564); //przykladowa niedopracowana godzina i data
  193. a.dodaj_zdarzenie(6,576);
  194. a.dodaj_zdarzenie(12,57273);
  195. a.wyswietl_liste();
  196. a.usun_zdarzenie(2);
  197. a.wyswietl_liste();
  198. a.zapisz_w_pliku();
  199.  
  200.  
  201. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement