consolidate all repos to one for archive
This commit is contained in:
25
semester_2/programiranje_2/naloga0402/Conference.cpp
Normal file
25
semester_2/programiranje_2/naloga0402/Conference.cpp
Normal file
@@ -0,0 +1,25 @@
|
||||
#include "Conference.h"
|
||||
|
||||
Conference::Conference(std::string title, unsigned int Sday, unsigned int Smonth, unsigned int Syear, unsigned int Eday, unsigned int Emonth, unsigned int Eyear) :
|
||||
title(title), startDate(Sday, Smonth, Syear), endDate(Eday, Emonth, Eyear) {}
|
||||
|
||||
void Conference::addEvent(const Event &event) {
|
||||
events.push_back(event);
|
||||
}
|
||||
|
||||
std::string Conference::toString() {
|
||||
std::string ret;
|
||||
ret = title + " " + startDate.toString() + " " + endDate.toString() + "\n\n";
|
||||
for (auto &event: events) ret += event.toString() + "\n";
|
||||
return ret;
|
||||
}
|
||||
|
||||
Event Conference::biggestAudience() {
|
||||
Event maxAtendees = events[0];
|
||||
for (auto &event: events) {
|
||||
if (maxAtendees.getNumberOfAttendees() < event.getNumberOfAttendees()) {
|
||||
maxAtendees = event;
|
||||
}
|
||||
}
|
||||
return maxAtendees;
|
||||
}
|
26
semester_2/programiranje_2/naloga0402/Conference.h
Normal file
26
semester_2/programiranje_2/naloga0402/Conference.h
Normal file
@@ -0,0 +1,26 @@
|
||||
#ifndef NALOGA0402_CONFERENCE_H
|
||||
#define NALOGA0402_CONFERENCE_H
|
||||
|
||||
#include "Event.h"
|
||||
|
||||
class Conference {
|
||||
private:
|
||||
std::string title;
|
||||
Date startDate, endDate;
|
||||
std::vector<Event> events;
|
||||
public:
|
||||
Conference() = default;
|
||||
|
||||
Conference(std::string title, unsigned int Sday, unsigned int Smonth, unsigned int Syear, unsigned int Eday, unsigned int Emonth, unsigned int Eyear);
|
||||
|
||||
~Conference() = default;
|
||||
|
||||
void addEvent(const Event &event);
|
||||
|
||||
std::string toString();
|
||||
|
||||
Event biggestAudience();
|
||||
};
|
||||
|
||||
|
||||
#endif //NALOGA0402_CONFERENCE_H
|
7
semester_2/programiranje_2/naloga0402/Date.cpp
Normal file
7
semester_2/programiranje_2/naloga0402/Date.cpp
Normal file
@@ -0,0 +1,7 @@
|
||||
#include "Date.h"
|
||||
|
||||
Date::Date(unsigned int day, unsigned int month, unsigned int year) : day(day), month(month), year(year) {}
|
||||
|
||||
std::string Date::toString() const {
|
||||
return std::to_string(day) + ", " + std::to_string(month) + ", " + std::to_string(year);
|
||||
}
|
19
semester_2/programiranje_2/naloga0402/Date.h
Normal file
19
semester_2/programiranje_2/naloga0402/Date.h
Normal file
@@ -0,0 +1,19 @@
|
||||
#ifndef NALOGA0201_DATE_H
|
||||
#define NALOGA0201_DATE_H
|
||||
|
||||
#include <string>
|
||||
|
||||
class Date {
|
||||
private:
|
||||
unsigned int day, month, year;
|
||||
public:
|
||||
Date() = default;
|
||||
|
||||
Date(unsigned int day, unsigned int month, unsigned int year);
|
||||
|
||||
~Date() = default;
|
||||
|
||||
std::string toString() const;
|
||||
};
|
||||
|
||||
#endif //NALOGA0201_DATE_H
|
21
semester_2/programiranje_2/naloga0402/Event.cpp
Normal file
21
semester_2/programiranje_2/naloga0402/Event.cpp
Normal file
@@ -0,0 +1,21 @@
|
||||
#include "Event.h"
|
||||
|
||||
Event::Event(std::string title, std::string description, Person *presentor, unsigned int day, unsigned int month, unsigned int year) :
|
||||
title(title), description(description), presentor(presentor), date(day, month, year) {}
|
||||
|
||||
void Event::addAttendee(Person *person) {
|
||||
attendees.push_back(person);
|
||||
}
|
||||
|
||||
std::string Event::toString() {
|
||||
std::string ret;
|
||||
ret = title + " " + description + " " + presentor->toString() + " " + date.toString() + "\n";
|
||||
for (auto &attendee: attendees) ret += attendee->toString() + "\n";
|
||||
return ret;
|
||||
}
|
||||
|
||||
unsigned int Event::getNumberOfAttendees() {
|
||||
return attendees.size();
|
||||
}
|
||||
|
||||
|
29
semester_2/programiranje_2/naloga0402/Event.h
Normal file
29
semester_2/programiranje_2/naloga0402/Event.h
Normal file
@@ -0,0 +1,29 @@
|
||||
#ifndef NALOGA0402_EVENT_H
|
||||
#define NALOGA0402_EVENT_H
|
||||
|
||||
#include "Person.h"
|
||||
#include "Date.h"
|
||||
#include <vector>
|
||||
|
||||
class Event {
|
||||
private:
|
||||
std::string title, description;
|
||||
Person *presentor;
|
||||
Date date;
|
||||
std::vector<Person *> attendees;
|
||||
public:
|
||||
Event() = default;
|
||||
|
||||
Event(std::string title, std::string description, Person *presentor, unsigned int day, unsigned int month, unsigned int year);
|
||||
|
||||
~Event() = default;
|
||||
|
||||
void addAttendee(Person *person);
|
||||
|
||||
std::string toString();
|
||||
|
||||
unsigned int getNumberOfAttendees();
|
||||
};
|
||||
|
||||
|
||||
#endif //NALOGA0402_EVENT_H
|
8
semester_2/programiranje_2/naloga0402/Person.cpp
Normal file
8
semester_2/programiranje_2/naloga0402/Person.cpp
Normal file
@@ -0,0 +1,8 @@
|
||||
#include "Person.h"
|
||||
|
||||
Person::Person(std::string firstName, std::string lastName) : firstName(firstName), lastName(lastName) {
|
||||
}
|
||||
|
||||
std::string Person::toString() const {
|
||||
return firstName + " " + lastName;
|
||||
}
|
20
semester_2/programiranje_2/naloga0402/Person.h
Normal file
20
semester_2/programiranje_2/naloga0402/Person.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#ifndef NALOGA0402_PERSON_H
|
||||
#define NALOGA0402_PERSON_H
|
||||
|
||||
#include <string>
|
||||
|
||||
class Person {
|
||||
private:
|
||||
std::string firstName, lastName;
|
||||
public:
|
||||
Person() = default;
|
||||
|
||||
Person(std::string firstName, std::string lastName);
|
||||
|
||||
~Person() = default;
|
||||
|
||||
std::string toString() const;
|
||||
};
|
||||
|
||||
|
||||
#endif //NALOGA0402_PERSON_H
|
26
semester_2/programiranje_2/naloga0402/README.md
Normal file
26
semester_2/programiranje_2/naloga0402/README.md
Normal file
@@ -0,0 +1,26 @@
|
||||
Zapišite razred Person, ki naj ima:
|
||||
instančni spremenljivki firstName in lastName,
|
||||
konstruktor z dvema parametroma in
|
||||
metodo toString.
|
||||
Zapišite razred Event, ki naj ima:
|
||||
instančne spremenljivke:
|
||||
title (tipa string),
|
||||
description (tipa string),
|
||||
presenter (tipa Person*),
|
||||
date (tipa Date, ta razred ste že zapisali v nalogi 4.1) in
|
||||
attendees (tipa vector<Person*>),
|
||||
konstruktor s 4 parametri (brez attendees),
|
||||
metodo addAttendee(Person* person), ki doda osebo v seznam udeležencev, in
|
||||
metodo toString.
|
||||
Zapišite razred Conference, ki naj ima:
|
||||
instančne spremenljivke:
|
||||
title (string),
|
||||
startDate (Date),
|
||||
endDate (Date) in
|
||||
events (vector<Event>),
|
||||
konstruktor s tremi parametri,
|
||||
metodo addEvent(const Event& event), ki doda dogodek v seznam dogodkov, in
|
||||
metodo toString.
|
||||
V glavnem programu zapišite oz. sestavite program, ki bo imel vsaj eno konferenco z vsaj 3 dogodki. Vsak dogodek naj ima vsaj 3 udeležence.
|
||||
|
||||
Pri reševanju naloge upoštevajte vso do sedaj pridobljeno znanje (uporaba inicializacijskega seznama, konstantne metode, zapišite si metode get/set tam, kjer jih potrebujete itd.).
|
44
semester_2/programiranje_2/naloga0402/naloga0402.cpp
Normal file
44
semester_2/programiranje_2/naloga0402/naloga0402.cpp
Normal file
@@ -0,0 +1,44 @@
|
||||
#include <iostream>
|
||||
#include "Conference.h"
|
||||
|
||||
int main() {
|
||||
Person oseba1("nikola", "petrov");
|
||||
Person oseba2("rene", "rozman");
|
||||
Person oseba3("nik", "hazan");
|
||||
Person oseba4("hana", "karolina");
|
||||
|
||||
Event event1("111", "descri", &oseba1, 1,2,2022);
|
||||
event1.addAttendee(&oseba2);
|
||||
event1.addAttendee(&oseba3);
|
||||
event1.addAttendee(&oseba3);
|
||||
event1.addAttendee(&oseba3);
|
||||
event1.addAttendee(&oseba4);
|
||||
|
||||
Event event2("222", "descri", &oseba2, 1,2,2022);
|
||||
event2.addAttendee(&oseba1);
|
||||
event2.addAttendee(&oseba3);
|
||||
event2.addAttendee(&oseba4);
|
||||
|
||||
Event event3("333", "descri", &oseba3,2,2,2022);
|
||||
event3.addAttendee(&oseba2);
|
||||
event3.addAttendee(&oseba1);
|
||||
event3.addAttendee(&oseba4);
|
||||
|
||||
Event event4("444", "descri", &oseba4,2,2,2022);
|
||||
event4.addAttendee(&oseba2);
|
||||
event4.addAttendee(&oseba3);
|
||||
event4.addAttendee(&oseba1);
|
||||
|
||||
Conference confer("conf",1,2,2022,2,2,2022);
|
||||
confer.addEvent(event1);
|
||||
confer.addEvent(event2);
|
||||
confer.addEvent(event3);
|
||||
confer.addEvent(event4);
|
||||
|
||||
|
||||
std::cout << confer.toString();
|
||||
|
||||
std::cout << confer.biggestAudience().toString();
|
||||
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user