consolidate all repos to one for archive

This commit is contained in:
2025-01-28 13:46:42 +01:00
commit a6610fbc7a
5350 changed files with 2705721 additions and 0 deletions

View 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;
}

View 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

View 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);
}

View 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

View 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();
}

View 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

View 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;
}

View 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

View 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.).

View 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;
}