Advertisement
Guest User

pro3

a guest
Jan 22nd, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. #include <ctime>
  4. #include <cstdlib>
  5. using namespace std;
  6.  
  7. class Zwierzak{
  8. protected:
  9. char imie[50];
  10. public:
  11. int wiek;
  12. int id;
  13. int waga;
  14. char plec[50];
  15. char* dzwiek;
  16. void jedzenie();
  17. void dajdzwiek();
  18. void mowa();
  19. virtual void wypisz()=0;
  20. void setID(int a);
  21. int getID();
  22. virtual void czypech()=0;
  23. void operator!(); //operatory jednoargumentowe
  24. void operator*();
  25. };
  26.  
  27. class Kot : public Zwierzak{
  28. public:
  29. char rasa[50];
  30. char kolor[50];
  31. Kot(char imie2[], char plec2[], int waga2, int wiek2, char rasa2[], char kolor2[]);
  32. void wypisz();
  33. void czypech();
  34. ~Kot();
  35.  
  36. };
  37.  
  38. class Zmija : public Zwierzak{
  39. public:
  40. char kolor[];
  41. Zmija(char imie2[], char plec2[], int waga2, int wiek2, char kolor2[]);
  42. void wypisz();
  43. void czypech();
  44. ~Zmija();
  45. };
  46.  
  47.  
  48. //Zwierzak
  49. int Zwierzak :: getID()
  50. {
  51. return id;
  52. }
  53. void Zwierzak :: setID(int a)
  54. {
  55. id = a;
  56. }
  57. void Zwierzak :: jedzenie()
  58. {
  59. char tab[4];
  60. char s2[]="tak";
  61. char s3[]="nie";
  62. cout<<"Czy nakarmic? (tak/nie)"<<endl;
  63. cin>>tab;
  64. if (strcmp(tab, s2)==0)
  65. {
  66. cout<<"Zwierze wazylo: "<<waga<<endl;
  67. waga++;
  68. cout<<"Teraz wazy: "<<waga<<endl;
  69. }
  70. if (strcmp(tab, s3)==0)
  71. {
  72. cout<<"Zwierze wazylo: "<<waga<<endl;
  73. waga--;
  74. cout<<"Teraz wazy: "<<waga<<endl;
  75. }
  76. }
  77. void Zwierzak :: dajdzwiek()
  78. {
  79. char tab[100];
  80. cout<<"Jaki dzwiek wydaje ten zwierzak?"<<endl;
  81. cin>>tab;
  82. int a;
  83. a = strlen(tab);
  84. dzwiek = new char[a];
  85. strcpy(dzwiek, tab);
  86. cout<<"Zwierzak mowi: "<<dzwiek<<endl;
  87. }
  88.  
  89. void Zwierzak :: mowa()
  90. {
  91. int i;
  92. srand(time(0));
  93. int b;
  94. b = rand()%10;
  95. if(dzwiek!=NULL)
  96. {
  97. cout<<"Monolog zwierzaka"<<endl;
  98. for(i=0; i<=b; i++)
  99. {
  100. cout<<dzwiek<<" ";
  101. }
  102. cout<<endl;
  103. }
  104. else
  105. {
  106. cout<<"Zwierzak jeszcze nie umie mowic."<<endl;
  107. }
  108. }
  109.  
  110. void Zwierzak :: operator!()
  111. {
  112. cout<<"Kolejny rok za mna powiedzial zwierzak w swoje urodziny."<<endl;
  113. wiek++;
  114. }
  115.  
  116. void Zwierzak :: operator*()
  117. {
  118. cout<<"Eliksir mlodosci! Zyc nie umierac."<<endl;
  119. cout<<"Bylo "<<wiek<<endl;
  120. wiek--;
  121. cout<<"Jest "<<wiek<<endl;
  122. }
  123.  
  124.  
  125. //Kot
  126. Kot :: Kot(char imie2[], char plec2[], int waga2, int wiek2, char rasa2[], char kolor2[]) //konstruktor
  127. {
  128. strcpy(imie, imie2);
  129. strcpy(plec, plec2);
  130. waga = waga2;
  131. wiek = wiek2;
  132. strcpy(rasa, rasa2);
  133. strcpy(kolor, kolor2);
  134. }
  135.  
  136. Kot :: ~Kot() //destruktor
  137. {
  138. cout<<"Wywolano destruktor kota"<<endl;
  139. if(dzwiek!=NULL)
  140. {
  141. cout<<"Usuwam dzwiek kota"<<endl;
  142. delete dzwiek;
  143. }
  144.  
  145. }
  146.  
  147. void Kot :: wypisz()
  148. {
  149. cout<<endl<<"Numer: "<<id<<endl;
  150. cout<<"KOT"<<endl<<"Imie: "<<imie<<endl<<"Plec: "<<plec<<endl<<"Waga: "<<waga<<endl<<"Wiek: "<<wiek<<endl<<"Rasa kota: "<<rasa<<endl<<"Kolor: "<<kolor<<endl;
  151. }
  152.  
  153. void Kot :: czypech()
  154. {
  155. char s2[]="Czarny";
  156.  
  157. if (strcmp(kolor,s2)==0)
  158. {
  159. cout<<"Kot przynosi pecha!"<<endl;
  160. }
  161. if (strcmp(kolor,s2)!=0)
  162. {
  163. cout<<"Kot nie przynosi pecha."<<endl;
  164. }
  165. }
  166.  
  167. //Zmija
  168.  
  169. Zmija :: Zmija(char imie2[], char plec2[], int waga2, int wiek2, char kolor2[]) //konstruktor
  170. {
  171. strcpy(imie, imie2);
  172. strcpy(plec, plec2);
  173. waga = waga2;
  174. wiek = wiek2;
  175. strcpy(kolor, kolor2);
  176. }
  177.  
  178. Zmija :: ~Zmija() //destruktor
  179. {
  180. cout<<"Wywolano destruktor zmii"<<endl;
  181.  
  182. }
  183.  
  184. void Zmija :: wypisz()
  185. {
  186. cout<<endl<<"Numer: "<<id<<endl;
  187. cout<<"ZMIJA"<<endl<<"Imie: "<<imie<<endl<<"Plec: "<<plec<<endl<<"Waga: "<<waga<<endl<<"Wiek: "<<wiek<<endl<<"Kolor: "<<kolor<<endl<<endl;
  188. }
  189.  
  190. void Zmija :: czypech()
  191. {
  192. cout<<"Nie jestem kotem! ~Zmija"<<endl;
  193. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement