Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // CezaryKiljański_Lab2.cpp : Defines the entry point for the console application.
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- class TabOsoba;
- class osoba {
- private:
- char nazwisko[30];
- int wiek;
- public:
- osoba() {}
- osoba(char * name, int age);
- osoba(osoba & wzorzec);
- ~osoba() {}
- void wypisz();
- //friend class TabOsoba;
- };
- class TabOsoba {
- private:
- int rozmiar;
- osoba * Tab;
- int licznik;
- public:
- TabOsoba();
- TabOsoba(int r);
- ~TabOsoba() {
- delete[] Tab;
- }
- TabOsoba(TabOsoba & wzor);
- void DodajOsobe(char * name, int age);
- void DodajOsobe();
- void DodajOsobe(osoba & wzor);
- int PodajRozmiar();
- void WypiszTablice();
- osoba * Szukaj(char * name);
- };
- osoba::osoba(char * name, int age) {
- strcpy_s(nazwisko, name);
- wiek = age;
- }
- osoba::osoba(osoba & wzorzec) {
- strcpy_s(nazwisko, wzorzec.nazwisko);
- wiek = wzorzec.wiek;
- }
- void osoba::wypisz() {
- cout << "Nazwisko: " << nazwisko << " | Wiek: " << wiek << endl;
- }
- TabOsoba::TabOsoba() {
- cout << "Podaj rozmiar: ";
- cin >> rozmiar;
- Tab = new osoba[rozmiar];
- licznik = 0;
- }
- TabOsoba::TabOsoba(int r) {
- rozmiar = r;
- Tab = new osoba[rozmiar];
- licznik = 0;
- }
- /*void TabOsoba::DodajOsobe(char * name, int age) {
- if(licznik < rozmiar) {
- strcpy(Tab[licznik].nazwisko, name);
- Tab[licznik].wiek = age;
- licznik++;
- } else {
- osoba * temp = new osoba[rozmiar];
- for(int i = 0; i < rozmiar; i++) {
- strcpy(temp[i].nazwisko, Tab[i].nazwisko);
- temp[i].wiek = Tab[i].wiek;
- }
- delete [] Tab;
- Tab = new osoba[rozmiar + 1];
- for(int i = 0; i < rozmiar; i++) {
- strcpy(Tab[i].nazwisko, temp[i].nazwisko);
- Tab[i].wiek = temp[i].wiek;
- }
- strcpy(Tab[rozmiar].nazwisko, name);
- Tab[rozmiar].wiek = age;
- rozmiar = rozmiar + 1;
- }
- }*/
- void TabOsoba::DodajOsobe() {
- char name[30];
- int age;
- cout << "Podaj nazwisko: ";
- cin >> name;
- cout << "Podaj wiek: ";
- cin >> age;
- Tab[licznik] = osoba(name, age);
- licznik++;
- }
- void TabOsoba::DodajOsobe(char * name, int age) {
- Tab[licznik] = osoba(name, age);
- licznik++;
- }
- void TabOsoba::DodajOsobe(osoba & wzor) {
- Tab[licznik] = osoba(wzor);
- licznik++;
- }
- TabOsoba::TabOsoba(TabOsoba & wzor) {
- }
- int TabOsoba::PodajRozmiar() {
- return rozmiar;
- }
- void TabOsoba::WypiszTablice() {
- for (int i = 0; i < rozmiar; i++) {
- Tab[i].wypisz();
- }
- }
- /*osoba * TabOsoba::Szukaj(char * name) {
- osoba * n = NULL;
- for(int i = 0; i < rozmiar; i++) {
- if(strcmp(Tab[i].nazwisko, name) == 0) {
- n = &Tab[i];
- break;
- }
- }
- return n;
- }*/
- int _tmain(int argc, _TCHAR* argv[]) {
- TabOsoba student = TabOsoba(3);
- cout << "Rozmiar: " << student.PodajRozmiar() << endl;
- student.DodajOsobe("asdad", 10);
- TabOsoba studea = TabOsoba(student);
- student.WypiszTablice();
- //cout << endl << "Metoda Szukaj()" << endl;
- //student.Szukaj("Jantar")->wypisz();
- /*int n;
- cout << "Podaj rozmiar tablicy: ";
- cin >> n;
- osoba * tabStudenci = new osoba[n];
- osoba student("Nowak", 15);
- delete [] tabStudenci;
- osoba tabStudenci[10];
- for(int i = 2; i < 5; i++)
- tabStudenci[i] = osoba("Kowalski", (i) * 10);
- for(int i = 5; i < 9; i++)
- tabStudenci[i] = osoba(tabStudenci[i - 3]);
- for(int i = 0; i < 10; i++)
- tabStudenci[i].wypisz();
- osoba student1;
- osoba student2("Kowalski", 10);
- osoba student3(student2);
- student1.wypisz();
- student2.wypisz();
- student3.wypisz();
- osoba * tabStudenci = new osoba[10];
- delete [] tabStudenci;*/
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement