Advertisement
czlowiekzgon

Untitled

Nov 9th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.19 KB | None | 0 0
  1. // programowanie_obiektowe.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
  2. #include "pch.h"
  3. #include <iostream>
  4. #include <string>
  5. #include "Assassin.h"
  6. #include "Gang.h"
  7.  
  8. using namespace std;
  9.  
  10.  
  11. void create(Gang *&ptr, int size) {
  12.  
  13. ptr = new Gang[size];
  14. for (int i = 0; i < size; i++) {
  15. ptr[i].init();
  16. }
  17. }
  18.  
  19. void create(Assassin *&ptr, int size) {
  20. ptr = new Assassin[size];
  21. for (int i = 0; i < size; i++) {
  22. ptr[i].init();
  23. }
  24. }
  25.  
  26. void create(Gang **&ptr, int size) {
  27. ptr = new Gang *[size];
  28. for (int i = 0; i < size; i++) {
  29. ptr[i] = new Gang[1];
  30. ptr[i][1].init();
  31.  
  32. }
  33. }
  34.  
  35. void create(Assassin **&ptr, int size) {
  36. ptr = new Assassin *[size];
  37. for (int i = 0; i < size; i++) {
  38. ptr[i] = new Assassin[1];
  39. ptr[i][1].init();
  40. }
  41. }
  42.  
  43.  
  44.  
  45.  
  46. void delete_memory(Gang *&ptr) {
  47. if (ptr == nullptr) {
  48. return;
  49. }
  50. else {
  51.  
  52. delete ptr;
  53. ptr = nullptr;
  54. }
  55. }
  56.  
  57. void delete_memory(Gang **&ptr, int n) {
  58. if (ptr == nullptr) {
  59. return;
  60. }
  61. else {
  62. for (int i = 0; i < n; i++) {
  63. delete[] ptr[n];
  64. }
  65. delete[] ptr;
  66. ptr = nullptr;
  67. }
  68. }
  69.  
  70. void delete_memory(Assassin *&ptr) {
  71. if (ptr == nullptr) {
  72. return;
  73. }
  74. else {
  75.  
  76. delete ptr;
  77. ptr = nullptr;
  78. }
  79. }
  80.  
  81. void delete_memory(Assassin **&ptr, int n) {
  82. if (ptr == nullptr) {
  83. return;
  84. }
  85. else {
  86. for (int i = 0; i < n; i++) {
  87. delete[] ptr[n];
  88. }
  89. delete[] ptr;
  90. ptr = nullptr;
  91. }
  92. }
  93.  
  94.  
  95. void add(Assassin *&ptr, int &size, int where = -1) {
  96.  
  97.  
  98. Assassin *sup_ptr = new Assassin[size + 1];
  99.  
  100. for (int i = 0; i < size + 1; i++) {
  101.  
  102. if (i == where) {
  103.  
  104. sup_ptr[i].init();
  105. }
  106. else if (i > where && where >= 0) {
  107. sup_ptr[i] = ptr[i - 1];
  108. }
  109. else if (i == size && where < 0) {
  110. sup_ptr[i].init();
  111. }
  112. else {
  113. sup_ptr[i] = ptr[i];
  114. }
  115.  
  116. }
  117.  
  118.  
  119. delete[] ptr;
  120. ptr = sup_ptr;
  121. ++size;
  122.  
  123. }
  124.  
  125. void add(Assassin **&ptr, int &size, int where = -1) {
  126.  
  127.  
  128. Assassin **sup_ptr = new Assassin *[size + 1];
  129.  
  130. for (int i = 0; i < size + 1; i++) {
  131.  
  132. if (i == where) {
  133. sup_ptr[i] = new Assassin;
  134. sup_ptr[i][1].init();
  135. }
  136. else if (i > where && where >= 0) {
  137. sup_ptr[i][1] = ptr[i - 1][1];
  138. }
  139. else if (i == size && where < 0) {
  140. sup_ptr[i][1].init();
  141. }
  142. else {
  143. sup_ptr[i][1] = ptr[i][1];
  144. }
  145.  
  146. }
  147.  
  148.  
  149. delete[] ptr;
  150. ptr = sup_ptr;
  151. ++size;
  152.  
  153. }
  154.  
  155. void add(Gang *&ptr, int &size, int where = -1) {
  156.  
  157.  
  158. Gang *sup_ptr = new Gang[size + 1];
  159.  
  160. for (int i = 0; i < size + 1; i++) {
  161.  
  162. if (i == where) {
  163.  
  164. sup_ptr[i].init();
  165. }
  166. else if (i > where && where >= 0) {
  167. sup_ptr[i] = ptr[i - 1];
  168. }
  169. else if (i == size && where < 0) {
  170. sup_ptr[i].init();
  171. }
  172. else {
  173. sup_ptr[i] = ptr[i];
  174. }
  175.  
  176. }
  177.  
  178.  
  179. delete[] ptr;
  180. ptr = sup_ptr;
  181. ++size;
  182.  
  183. }
  184.  
  185. void add(Gang **&ptr, int &size, int where = -1) {
  186.  
  187.  
  188. Gang **sup_ptr = new Gang *[size + 1];
  189. for (int i = 0; i < size + 1; i++) {
  190.  
  191. if (i == where) {
  192. sup_ptr[i] = new Gang;
  193. sup_ptr[i][1].init();
  194. }
  195. else if (i > where && where >= 0) {
  196. sup_ptr[i][1] = ptr[i - 1][1];
  197. }
  198. else if (i == size && where < 0) {
  199. sup_ptr[i][1].init();
  200. }
  201. else {
  202. sup_ptr[i][1] = ptr[i][1];
  203. }
  204.  
  205. }
  206.  
  207.  
  208. delete[] ptr;
  209. ptr = sup_ptr;
  210. ++size;
  211.  
  212.  
  213. }
  214. void remove(Assassin **&ptr, int &size, int where) {
  215. Assassin **sup_ptr = new Assassin *[size - 1];
  216.  
  217. for (int i = 0; i < size; i++) {
  218. if (i == where) {
  219. delete ptr[i];
  220. }
  221. else if (i < where) {
  222.  
  223. sup_ptr[i] = ptr[i];
  224.  
  225. }
  226. else {
  227.  
  228. sup_ptr[i - 1] = ptr[i];
  229.  
  230. }
  231. }
  232.  
  233.  
  234. delete[] ptr;
  235. ptr = sup_ptr;
  236. --size;
  237. }
  238.  
  239. void remove(Gang **&ptr, int &size, int where) {
  240. Gang **sup_ptr = new Gang *[size - 1];
  241.  
  242. for (int i = 0; i < size; i++) {
  243. if (i == where) {
  244. delete ptr[i];
  245. }
  246. else if (i < where) {
  247.  
  248. sup_ptr[i] = ptr[i];
  249.  
  250. }
  251. else {
  252.  
  253. sup_ptr[i - 1] = ptr[i];
  254.  
  255. }
  256. }
  257. delete[] ptr;
  258. ptr = nullptr;
  259. ptr = sup_ptr;
  260. --size;
  261. }
  262.  
  263. void remove(Assassin *&ptr, int &size, int where) {
  264. Assassin *sup_ptr = new Assassin [size - 1];
  265.  
  266. for (int i = 0; i < size; i++) {
  267.  
  268. if (i < where) {
  269.  
  270. sup_ptr[i] = ptr[i];
  271.  
  272. }
  273. else {
  274.  
  275. sup_ptr[i - 1] = ptr[i];
  276.  
  277. }
  278. }
  279.  
  280.  
  281. delete[] ptr;
  282. ptr = sup_ptr;
  283. --size;
  284. }
  285.  
  286. void remove(Gang *&ptr, int &size, int where) {
  287. Gang *sup_ptr = new Gang [size - 1];
  288.  
  289. for (int i = 0; i < size; i++) {
  290.  
  291. if (i < where) {
  292.  
  293. sup_ptr[i] = ptr[i];
  294.  
  295. }
  296. else {
  297.  
  298. sup_ptr[i - 1] = ptr[i];
  299.  
  300. }
  301. }
  302. delete[] ptr;
  303.  
  304. ptr = sup_ptr;
  305. --size;
  306. }
  307.  
  308. //void menu(Gang *&ptr_gang, Gang **&ptr_gangs, Assassin *&ptr_assassin, Assassin **&ptr_assassins) {
  309. // int wybor = 0;
  310. // int ile = 0;
  311. // cout << "Wpisz : " << endl;
  312. // cout << "[1] aby stworzyc obiket/obiekty klasy Gang" << endl;
  313. // cout << "[2] aby stworzyc obiekt/obikety klasy Zabojca" << endl;
  314. // cout << "[3] aby wyswietlic stworzone obiekty" << endl;
  315. // cout << "[0] aby zaknocznyc" << endl;
  316. // cin >> wybor;
  317. //
  318. // while (wybor != 0) {
  319. // switch (wybor) {
  320. //
  321. // case 1:
  322. // cout << "[1] aby dodac pojedynycz obiekt klasy Gang" << endl;
  323. // cout << "[2] aby dodac wiele obiektow klasy Gang" << endl;
  324. // cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy gang" << endl;
  325. // cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy gang" << endl;
  326. // cout << "[0] aby zaknocznyc" << endl;
  327. // cin >> wybor;
  328. // cin.get();
  329. // while (wybor != 0) {
  330. // switch (wybor) {
  331. // case 1:
  332. // create(ptr_gang);
  333. // ptr_gang->init();
  334. // break;
  335. // case 2:
  336. // cout << "ile chcesz stworzyc obiektow ? ";
  337. //
  338. // cin >> ile;
  339. // cin.get();
  340. // create(ptr_gangs, ile);
  341. // for (int i = 0; i < ile; i++) {
  342. // ptr_gangs[i]->init();
  343. // }
  344. // break;
  345. // case 3:
  346. // cout << "w ktorym miejscu chcesz dodac obkiet : ";
  347. // cin >> wybor;
  348. // add(ptr_gangs, ile, wybor);
  349. // break;
  350. // case 4:
  351. // cout << "w ktorym miejscu chcesz usunac obiekt : ";
  352. // cin >> wybor;
  353. // remove(ptr_gangs, ile, wybor);
  354. // break;
  355. // case 0:
  356. //
  357. // break;
  358. //
  359. // default:
  360. // cout << "[1] aby dodac pojedynycz obiekt klasy Gang" << endl;
  361. // cout << "[2] aby dodac wiele obiektow klasy Gang" << endl;
  362. // cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy gang" << endl;
  363. // cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy gang" << endl;
  364. // cout << "[0] aby zaknocznyc" << endl;
  365. // break;
  366. // }
  367. // cout << "[1] aby dodac pojedynycz obiekt klasy Gang" << endl;
  368. // cout << "[2] aby dodac wiele obiektow klasy Gang" << endl;
  369. // cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy Gang" << endl;
  370. // cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy gang" << endl;
  371. // cout << "[0] aby zaknocznyc" << endl;
  372. // cin >> wybor;
  373. // cin.get();
  374. // }
  375. // break;
  376. // case 2:
  377. // cout << "[1] aby dodac pojedynycz obiekt klasy Zabojca" << endl;
  378. // cout << "[2] aby dodac wiele obiektow klasy Zabojca" << endl;
  379. // cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy Zabojca" << endl;
  380. // cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy Zabojca" << endl;
  381. // cout << "[0] aby zaknocznyc" << endl;
  382. // cin >> wybor;
  383. // cin.get();
  384. // while (wybor != 0) {
  385. // switch (wybor) {
  386. // case 1:
  387. // create(ptr_assassin);
  388. // ptr_assassin->init();
  389. // break;
  390. // case 2:
  391. // cout << "ile chcesz stworzyc obiktow ? ";
  392. //
  393. // cin >> ile;
  394. // cin.get();
  395. // create(ptr_assassins, ile);
  396. // for (int i = 0; i < ile; i++) {
  397. // ptr_assassins[i]->init();
  398. // }
  399. // break;
  400. // case 3:
  401. // cout << "w ktorym miejscu chcesz dodac obkiet : ";
  402. // cin >> wybor;
  403. // add(ptr_assassins, ile, wybor);
  404. // break;
  405. // case 4:
  406. // cout << "w ktorym miejscu chcesz usunac obiekt : ";
  407. // cin >> wybor;
  408. // remove(ptr_assassins, ile, wybor);
  409. // break;
  410. // case 0:
  411. //
  412. // break;
  413. //
  414. // default:
  415. // cout << "[1] aby dodac pojedynycz obiekt klasy Zabojca" << endl;
  416. // cout << "[2] aby dodac wiele obiektow klasy Zabojcow " << endl;
  417. // cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy Zabojca" << endl;
  418. // cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy Zabojca" << endl;
  419. // cout << "[0] aby zaknocznyc" << endl;
  420. // break;
  421. // }
  422. // cout << "[1] aby dodac pojedynycz obiekt klasy Zabojca" << endl;
  423. // cout << "[2] aby dodac wiele obiektow klasy Zabojca" << endl;
  424. // cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy Zabojca" << endl;
  425. // cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy Zabojca" << endl;
  426. // cout << "[0] aby zaknocznyc" << endl;
  427. // cin >> wybor;
  428. // cin.get();
  429. // }
  430. // break;
  431. // case 3:
  432. // if (ptr_gang != nullptr) {
  433. // ptr_gang->show();
  434. // cout << endl;
  435. // }
  436. // if (ptr_gangs != nullptr) {
  437. // for (int i = 0; i < ile; i++) {
  438. // ptr_gangs[i]->show();
  439. // }
  440. // cout << endl;
  441. // }
  442. // if (ptr_assassin != nullptr) {
  443. // ptr_assassin->show();
  444. // cout << endl;
  445. // }
  446. // if (ptr_assassins != nullptr) {
  447. // for (int i = 0; i < ile; i++) {
  448. // ptr_assassins[i]->show();
  449. // }
  450. // cout << endl;
  451. // }
  452. //
  453. //
  454. // break;
  455. // case 0:
  456. // break;
  457. //
  458. // default:
  459. // cout << "Wpisz : " << endl;
  460. // cout << "[1] aby stworzyc obiket/obiekty klasy Gang" << endl;
  461. // cout << "[2] aby stworzyc obiekt/obikety klasy Zabojca" << endl;
  462. // cout << "[3] aby wyswietlic stworzone obiekty" << endl;
  463. // cout << "[0] aby zaknocznyc" << endl;
  464. // break;
  465. // }
  466. // cout << "Wpisz : " << endl;
  467. // cout << "[1] aby stworzyc obiket/obiekty klasy Gang" << endl;
  468. // cout << "[2] aby stworzyc obiekt/obikety klasy Zabojca" << endl;
  469. // cout << "[3] aby wyswietlic stworzone obiekty" << endl;
  470. // cout << "[0] aby zaknocznyc" << endl;
  471. // cin >> wybor;
  472. // }
  473. //
  474. //}
  475.  
  476.  
  477. int main(int argc, char** argv)
  478. {
  479. Gang *ptr_gang = nullptr;
  480. Gang **ptr_gangs = nullptr;
  481. Assassin *ptr_assassin = nullptr;
  482. Assassin **ptr_assassins = nullptr;
  483.  
  484. //menu(ptr_gang, ptr_gangs, ptr_assassin, ptr_assassins);
  485.  
  486.  
  487. return 0;
  488. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement