Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // programowanie_obiektowe.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
- #include "pch.h"
- #include <iostream>
- #include <string>
- #include "Assassin.h"
- #include "Gang.h"
- using namespace std;
- void create(Gang *&ptr,int size=1) {
- /*ptr = new Gang[size];
- for (int i = 0; i < size; i++) {
- ptr[i]->Gang;
- }*/
- }
- void create(Assassin *&ptr,int size=1) {
- /*ptr = new Assassin[size];
- for (int i = 0; i < size; i++) {
- ptr[i] = new Assassin;
- }*/
- }
- void create(Gang **&ptr, int n) {
- ptr = new Gang *[n];
- for (int i = 0; i < n; i++) {
- ptr[i] = new Gang[1];
- ptr[i][1].init();
- }
- }
- void create(Assassin **&ptr, int n) {
- ptr = new Assassin *[n];
- for (int i = 0; i < n; i++) {
- ptr[i][1] = new *Assassin[1];
- ptr[i][1].init();
- }
- }
- void delete_memory(Gang *&ptr) {
- if (ptr == nullptr) {
- return;
- }
- else {
- delete ptr;
- ptr = nullptr;
- }
- }
- void delete_memory(Gang **&ptr, int n) {
- if (ptr == nullptr) {
- return;
- }
- else {
- for (int i = 0; i < n; i++) {
- delete[] ptr[n];
- }
- delete[] ptr;
- ptr = nullptr;
- }
- }
- void delete_memory(Assassin *&ptr) {
- if (ptr == nullptr) {
- return;
- }
- else {
- delete ptr;
- ptr = nullptr;
- }
- }
- void delete_memory(Assassin **&ptr, int n) {
- if (ptr == nullptr) {
- return;
- }
- else {
- for (int i = 0; i < n; i++) {
- delete[] ptr[n];
- }
- delete[] ptr;
- ptr = nullptr;
- }
- }
- void add(Assassin *&ptr, int &size, int where = -1) {
- Assassin *sup_ptr = new Assassin [size + 1];
- for (int i = 0; i < size + 1; i++) {
- if (i == where) {
- sup_ptr[i]= new Assassin;
- sup_ptr[i]->init();
- }
- else if (i > where && where >= 0) {
- sup_ptr[i][1] = ptr[i - 1];
- }
- else if (i == size && where < 0) {
- sup_ptr[i][1]->init();
- }
- else {
- sup_ptr[i][1] = ptr[i];
- }
- }
- delete[] ptr;
- ptr = sup_ptr;
- ++size;
- }
- void add(Assassin **&ptr, int &size, int where = -1) {
- Assassin **sup_ptr = new Assassin *[size + 1];
- for (int i = 0; i < size + 1; i++) {
- sup_ptr[i]= new *Assassin[1];
- }
- for (int i = 0; i < size + 1; i++) {
- if (i == where) {
- sup_ptr[i][1] = new Assassin;
- sup_ptr[i][1]->init();
- }
- else if (i > where && where >= 0) {
- sup_ptr[i][1] = ptr[i - 1][1];
- }
- else if (i == size && where < 0) {
- sup_ptr[i][1]->init();
- }
- else {
- sup_ptr[i][1] = ptr[i][1];
- }
- }
- delete[] ptr;
- ptr = sup_ptr;
- ++size;
- }
- void add(Gang **&ptr, int &size, int where = -1) {
- Gang **sup_ptr = new Gang *[size + 1];
- for (int i = 0; i < size + 1; i++) {
- if (i == where) {
- sup_ptr[i] = new Gang();
- sup_ptr[i]->init();
- }
- else if (i > where && where >= 0) {
- sup_ptr[i] = ptr[i - 1];
- }
- else if (i == size && where < 0) {
- sup_ptr[i]->init();
- }
- else {
- sup_ptr[i] = ptr[i];
- }
- }
- delete[] ptr;
- ptr = sup_ptr;
- ++size;
- }
- void remove(Assassin **&ptr, int &size, int where) {
- Assassin **sup_ptr = new Assassin *[size - 1];
- for (int i = 0; i < size; i++) {
- if (i == where) {
- delete ptr[i];
- }
- else if (i < where) {
- //sup_ptr[i] = new Assassin;
- sup_ptr[i] = ptr[i];
- }
- else {
- //sup_ptr[i - 1] = new Assassin;
- sup_ptr[i - 1] = ptr[i];
- }
- }
- delete[] ptr;
- ptr = sup_ptr;
- --size;
- }
- void remove(Gang **&ptr, int &size, int where) {
- Gang **sup_ptr = new Gang *[size - 1];
- for (int i = 0; i < size; i++) {
- if (i == where) {
- delete ptr[i];
- }
- else if (i < where) {
- //sup_ptr[i] = new Gang;
- sup_ptr[i] = ptr[i];
- }
- else {
- //sup_ptr[i - 1] = new Gang;
- sup_ptr[i - 1] = ptr[i];
- }
- }
- delete[] ptr;
- ptr = nullptr;
- ptr = sup_ptr;
- --size;
- }
- void menu(Gang *&ptr_gang, Gang **&ptr_gangs, Assassin *&ptr_assassin, Assassin **&ptr_assassins) {
- int wybor = 0;
- int ile = 0;
- cout << "Wpisz : " << endl;
- cout << "[1] aby stworzyc obiket/obiekty klasy Gang" << endl;
- cout << "[2] aby stworzyc obiekt/obikety klasy Zabojca" << endl;
- cout << "[3] aby wyswietlic stworzone obiekty" << endl;
- cout << "[0] aby zaknocznyc" << endl;
- cin >> wybor;
- while (wybor != 0) {
- switch (wybor) {
- case 1:
- cout << "[1] aby dodac pojedynycz obiekt klasy Gang" << endl;
- cout << "[2] aby dodac wiele obiektow klasy Gang" << endl;
- cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy gang" << endl;
- cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy gang" << endl;
- cout << "[0] aby zaknocznyc" << endl;
- cin >> wybor;
- cin.get();
- while (wybor != 0) {
- switch (wybor) {
- case 1:
- create(ptr_gang);
- ptr_gang->init();
- break;
- case 2:
- cout << "ile chcesz stworzyc obiektow ? ";
- cin >> ile;
- cin.get();
- create(ptr_gangs, ile);
- for (int i = 0; i < ile; i++) {
- ptr_gangs[i]->init();
- }
- break;
- case 3:
- cout << "w ktorym miejscu chcesz dodac obkiet : ";
- cin >> wybor;
- add(ptr_gangs, ile, wybor);
- break;
- case 4:
- cout << "w ktorym miejscu chcesz usunac obiekt : ";
- cin >> wybor;
- remove(ptr_gangs, ile, wybor);
- break;
- case 0:
- break;
- default:
- cout << "[1] aby dodac pojedynycz obiekt klasy Gang" << endl;
- cout << "[2] aby dodac wiele obiektow klasy Gang" << endl;
- cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy gang" << endl;
- cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy gang" << endl;
- cout << "[0] aby zaknocznyc" << endl;
- break;
- }
- cout << "[1] aby dodac pojedynycz obiekt klasy Gang" << endl;
- cout << "[2] aby dodac wiele obiektow klasy Gang" << endl;
- cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy Gang" << endl;
- cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy gang" << endl;
- cout << "[0] aby zaknocznyc" << endl;
- cin >> wybor;
- cin.get();
- }
- break;
- case 2:
- cout << "[1] aby dodac pojedynycz obiekt klasy Zabojca" << endl;
- cout << "[2] aby dodac wiele obiektow klasy Zabojca" << endl;
- cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy Zabojca" << endl;
- cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy Zabojca" << endl;
- cout << "[0] aby zaknocznyc" << endl;
- cin >> wybor;
- cin.get();
- while (wybor != 0) {
- switch (wybor) {
- case 1:
- create(ptr_assassin);
- ptr_assassin->init();
- break;
- case 2:
- cout << "ile chcesz stworzyc obiktow ? ";
- cin >> ile;
- cin.get();
- create(ptr_assassins, ile);
- for (int i = 0; i < ile; i++) {
- ptr_assassins[i]->init();
- }
- break;
- case 3:
- cout << "w ktorym miejscu chcesz dodac obkiet : ";
- cin >> wybor;
- add(ptr_assassins, ile, wybor);
- break;
- case 4:
- cout << "w ktorym miejscu chcesz usunac obiekt : ";
- cin >> wybor;
- remove(ptr_assassins, ile, wybor);
- break;
- case 0:
- break;
- default:
- cout << "[1] aby dodac pojedynycz obiekt klasy Zabojca" << endl;
- cout << "[2] aby dodac wiele obiektow klasy Zabojcow " << endl;
- cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy Zabojca" << endl;
- cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy Zabojca" << endl;
- cout << "[0] aby zaknocznyc" << endl;
- break;
- }
- cout << "[1] aby dodac pojedynycz obiekt klasy Zabojca" << endl;
- cout << "[2] aby dodac wiele obiektow klasy Zabojca" << endl;
- cout << "[3] aby dodac obiekt do istniejacej tablicy obiektow klasy Zabojca" << endl;
- cout << "[4] aby usunac obiekt z istniejacej tablicy obiektow klasy Zabojca" << endl;
- cout << "[0] aby zaknocznyc" << endl;
- cin >> wybor;
- cin.get();
- }
- break;
- case 3:
- if (ptr_gang != nullptr) {
- ptr_gang->show();
- cout << endl;
- }
- if (ptr_gangs != nullptr) {
- for (int i = 0; i < ile; i++) {
- ptr_gangs[i]->show();
- }
- cout << endl;
- }
- if (ptr_assassin != nullptr) {
- ptr_assassin->show();
- cout << endl;
- }
- if (ptr_assassins != nullptr) {
- for (int i = 0; i < ile; i++) {
- ptr_assassins[i]->show();
- }
- cout << endl;
- }
- break;
- case 0:
- break;
- default:
- cout << "Wpisz : " << endl;
- cout << "[1] aby stworzyc obiket/obiekty klasy Gang" << endl;
- cout << "[2] aby stworzyc obiekt/obikety klasy Zabojca" << endl;
- cout << "[3] aby wyswietlic stworzone obiekty" << endl;
- cout << "[0] aby zaknocznyc" << endl;
- break;
- }
- cout << "Wpisz : " << endl;
- cout << "[1] aby stworzyc obiket/obiekty klasy Gang" << endl;
- cout << "[2] aby stworzyc obiekt/obikety klasy Zabojca" << endl;
- cout << "[3] aby wyswietlic stworzone obiekty" << endl;
- cout << "[0] aby zaknocznyc" << endl;
- cin >> wybor;
- }
- }
- int main(int argc, char** argv)
- {
- Gang *ptr_gang = nullptr;
- Gang **ptr_gangs = nullptr;
- Assassin *ptr_assassin = nullptr;
- Assassin **ptr_assassins = nullptr;
- menu(ptr_gang, ptr_gangs, ptr_assassin, ptr_assassins);
- //int size = 2;
- //create(ptr_assassins, size);
- //ptr_assassins[0]->init();
- //ptr_assassins[1]->init();
- //add(ptr_assassins, size);
- //ptr_assassins[0]->show();
- //ptr_assassins[1]->show();
- //ptr_assassins[2]->show();
- //remove(ptr_assassins, size, 0);
- //ptr_assassins[0]->show();
- //ptr_assassins[1]->show();
- /*create(ptr_gangs, size);
- ptr_gangs[0]->init();
- ptr_gangs[1]->init();
- add(ptr_gangs, size,0);
- ptr_gangs[0]->show();
- ptr_gangs[1]->show();
- ptr_gangs[2]->show();
- remove(ptr_gangs, size, 0);
- ptr_gangs[0]->show();
- ptr_gangs[1]->show();*/
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement