Advertisement
Guest User

Untitled

a guest
Apr 12th, 2016
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. // CezaryKiljański_Lab2.cpp : Defines the entry point for the console application.
  2.  
  3. #include "stdafx.h"
  4. #include <iostream>
  5.  
  6. using namespace std;
  7.  
  8. class TabOsoba;
  9.  
  10. class osoba {
  11. private:
  12. char nazwisko[30];
  13. int wiek;
  14.  
  15. public:
  16. osoba() {}
  17. osoba(char * name, int age);
  18. osoba(osoba & wzorzec);
  19. ~osoba() {}
  20.  
  21. void wypisz();
  22.  
  23. //friend class TabOsoba;
  24. };
  25.  
  26. class TabOsoba {
  27. private:
  28. int rozmiar;
  29. osoba * Tab;
  30. int licznik;
  31.  
  32. public:
  33. TabOsoba();
  34. TabOsoba(int r);
  35. ~TabOsoba() {
  36. delete[] Tab;
  37. }
  38. TabOsoba(TabOsoba & wzor);
  39.  
  40. void DodajOsobe(char * name, int age);
  41. void DodajOsobe();
  42. void DodajOsobe(osoba & wzor);
  43.  
  44. int PodajRozmiar();
  45. void WypiszTablice();
  46. osoba * Szukaj(char * name);
  47. };
  48.  
  49. osoba::osoba(char * name, int age) {
  50. strcpy_s(nazwisko, name);
  51. wiek = age;
  52. }
  53.  
  54. osoba::osoba(osoba & wzorzec) {
  55. strcpy_s(nazwisko, wzorzec.nazwisko);
  56. wiek = wzorzec.wiek;
  57. }
  58.  
  59. void osoba::wypisz() {
  60. cout << "Nazwisko: " << nazwisko << " | Wiek: " << wiek << endl;
  61. }
  62.  
  63. TabOsoba::TabOsoba() {
  64. cout << "Podaj rozmiar: ";
  65. cin >> rozmiar;
  66.  
  67. Tab = new osoba[rozmiar];
  68. licznik = 0;
  69. }
  70.  
  71. TabOsoba::TabOsoba(int r) {
  72. rozmiar = r;
  73. Tab = new osoba[rozmiar];
  74. licznik = 0;
  75. }
  76.  
  77. /*void TabOsoba::DodajOsobe(char * name, int age) {
  78. if(licznik < rozmiar) {
  79. strcpy(Tab[licznik].nazwisko, name);
  80. Tab[licznik].wiek = age;
  81. licznik++;
  82. } else {
  83. osoba * temp = new osoba[rozmiar];
  84.  
  85. for(int i = 0; i < rozmiar; i++) {
  86. strcpy(temp[i].nazwisko, Tab[i].nazwisko);
  87. temp[i].wiek = Tab[i].wiek;
  88. }
  89.  
  90. delete [] Tab;
  91.  
  92. Tab = new osoba[rozmiar + 1];
  93.  
  94. for(int i = 0; i < rozmiar; i++) {
  95. strcpy(Tab[i].nazwisko, temp[i].nazwisko);
  96. Tab[i].wiek = temp[i].wiek;
  97. }
  98.  
  99. strcpy(Tab[rozmiar].nazwisko, name);
  100. Tab[rozmiar].wiek = age;
  101.  
  102. rozmiar = rozmiar + 1;
  103. }
  104. }*/
  105.  
  106. void TabOsoba::DodajOsobe() {
  107. char name[30];
  108. int age;
  109.  
  110. cout << "Podaj nazwisko: ";
  111. cin >> name;
  112.  
  113. cout << "Podaj wiek: ";
  114. cin >> age;
  115.  
  116. Tab[licznik] = osoba(name, age);
  117. licznik++;
  118. }
  119.  
  120. void TabOsoba::DodajOsobe(char * name, int age) {
  121. Tab[licznik] = osoba(name, age);
  122. licznik++;
  123. }
  124.  
  125. void TabOsoba::DodajOsobe(osoba & wzor) {
  126. Tab[licznik] = osoba(wzor);
  127. licznik++;
  128. }
  129.  
  130. TabOsoba::TabOsoba(TabOsoba & wzor) {
  131.  
  132.  
  133.  
  134. }
  135.  
  136. int TabOsoba::PodajRozmiar() {
  137. return rozmiar;
  138. }
  139.  
  140. void TabOsoba::WypiszTablice() {
  141. for (int i = 0; i < rozmiar; i++) {
  142. Tab[i].wypisz();
  143. }
  144. }
  145.  
  146. /*osoba * TabOsoba::Szukaj(char * name) {
  147. osoba * n = NULL;
  148.  
  149. for(int i = 0; i < rozmiar; i++) {
  150. if(strcmp(Tab[i].nazwisko, name) == 0) {
  151. n = &Tab[i];
  152. break;
  153. }
  154. }
  155.  
  156. return n;
  157. }*/
  158.  
  159. int _tmain(int argc, _TCHAR* argv[]) {
  160. TabOsoba student = TabOsoba(3);
  161.  
  162. cout << "Rozmiar: " << student.PodajRozmiar() << endl;
  163.  
  164. student.DodajOsobe("asdad", 10);
  165.  
  166. TabOsoba studea = TabOsoba(student);
  167.  
  168. student.WypiszTablice();
  169.  
  170. //cout << endl << "Metoda Szukaj()" << endl;
  171. //student.Szukaj("Jantar")->wypisz();
  172.  
  173.  
  174. /*int n;
  175.  
  176. cout << "Podaj rozmiar tablicy: ";
  177. cin >> n;
  178.  
  179. osoba * tabStudenci = new osoba[n];
  180. osoba student("Nowak", 15);
  181.  
  182. delete [] tabStudenci;
  183.  
  184. osoba tabStudenci[10];
  185.  
  186. for(int i = 2; i < 5; i++)
  187. tabStudenci[i] = osoba("Kowalski", (i) * 10);
  188.  
  189. for(int i = 5; i < 9; i++)
  190. tabStudenci[i] = osoba(tabStudenci[i - 3]);
  191.  
  192. for(int i = 0; i < 10; i++)
  193. tabStudenci[i].wypisz();
  194.  
  195. osoba student1;
  196. osoba student2("Kowalski", 10);
  197. osoba student3(student2);
  198.  
  199. student1.wypisz();
  200. student2.wypisz();
  201. student3.wypisz();
  202.  
  203. osoba * tabStudenci = new osoba[10];
  204. delete [] tabStudenci;*/
  205. return 0;
  206. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement