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,11 @@
//
// Created by Nik on 11/04/2022.
//
#include "Lokomotiva.h"
Lokomotiva::Lokomotiva(double dolzina, double sirina, double moc) : Prikljucek(dolzina, sirina), moc(moc){}
std::string Lokomotiva::toString() const {
return "dolzina: " + std::to_string(dolzina) + " sirina: " + std::to_string(sirina) + " Moc: " + std::to_string(moc) + "\n";
}

View File

@@ -0,0 +1,19 @@
//
// Created by Nik on 11/04/2022.
//
#ifndef NALOGA0602_LOKOMOTIVA_H
#define NALOGA0602_LOKOMOTIVA_H
#include "Prikljucek.h"
class Lokomotiva : public Prikljucek{
private:
double moc;
public:
Lokomotiva(double dolzina, double sirina, double moc);
std::string toString() const override;
};
#endif //NALOGA0602_LOKOMOTIVA_H

View File

@@ -0,0 +1,11 @@
//
// Created by Nik on 11/04/2022.
//
#include "Prikljucek.h"
Prikljucek::Prikljucek(double dolzina, double sirina) : dolzina(dolzina), sirina(sirina) {}
unsigned int Prikljucek::getLenght() {
return dolzina;
}

View File

@@ -0,0 +1,20 @@
//
// Created by Nik on 11/04/2022.
//
#ifndef NALOGA0602_PRIKLJUCEK_H
#define NALOGA0602_PRIKLJUCEK_H
#include <string>
class Prikljucek {
protected:
double dolzina, sirina;
public:
Prikljucek(double dolzina, double sirina);
virtual std::string toString() const = 0;
unsigned int getLenght();
};
#endif //NALOGA0602_PRIKLJUCEK_H

View File

@@ -0,0 +1,12 @@
Izmislite si svoj smiselni primer, ki vsebuje abstraktni razred. Pri tem pa morate imeti:
abstraktni razred (torej mora imeti vsaj eno abstraktno metodo),
vsaj dva razreda, ki dedujeta iz abstraktnega razreda,
en razred, ki ima kot instančno spremenljivko seznam kazalcev na abstraktni razred,
glavni program, naj bo smiselno zaokrožen in ima tudi menu.
Ni dovoljena uporaba primera iz predavanj ali pa primerov iz prejšnih nalog kot tudi ne:
Animal
Vehicle
Shape

View File

@@ -0,0 +1,24 @@
//
// Created by Nik on 11/04/2022.
//
#include "Vagon.h"
Vagon::Vagon(double dolzina, double sirina, TipVag tip) : Prikljucek(dolzina,sirina), tip(tip) {}
std::string Vagon::tipV() const {
switch (tip) {
case TipVag::Potniski:
return "Potniski";
case TipVag::Tovorni:
return "Tovorni";
default:
return "?";
}
}
std::string Vagon::toString() const {
return "dolzina: " + std::to_string(dolzina) + " sirina: " + std::to_string(sirina) + " Tip Vagona: " + tipV() + "\n";
}

View File

@@ -0,0 +1,25 @@
//
// Created by Nik on 11/04/2022.
//
#ifndef NALOGA0602_VAGON_H
#define NALOGA0602_VAGON_H
#include "Prikljucek.h"
enum TipVag{
Potniski = 0,
Tovorni = 1
};
class Vagon : public Prikljucek{
private:
TipVag tip;
public:
Vagon(double dolzina, double sirina, TipVag tip);
std::string tipV() const;
std::string toString() const override;
};
#endif //NALOGA0602_VAGON_H

View File

@@ -0,0 +1,54 @@
//
// Created by Nik on 11/04/2022.
//
#include "Vlak.h"
void Vlak::addPriklucek(Prikljucek *p) {
vlak.push_back(p);
}
std::string Vlak::toString() const {
std::string ret;
for(auto v:vlak){
ret += v->toString();
}
return ret;
}
std::vector<Prikljucek*> Vlak::generate(unsigned int amount) {
std::vector<Prikljucek*> ret;
for(int i = 0; i < amount; i++) {
if (rand() % 2 == 1) {
int y = (int) rand() % 2;
TipVag tp;
switch (y) {
case 0:
tp = TipVag::Potniski;
break;
case 1:
tp = TipVag::Tovorni;
break;
}
//Vagon j(rand() % 100, rand() % 100, tp);
ret.push_back(new Vagon(100, 100, tp));
} else {
// Lokomotiva k(rand()%100, rand()%100,rand()%1000+1);
ret.push_back(new Lokomotiva(rand() % 100, rand() % 100, rand() % 1000 + 1));
}
}
return ret;
}
unsigned int Vlak::lenghtOfTranin() const {
unsigned int len = 0;
for(auto t: vlak){
len += t->getLenght();
}
return len;
}

View File

@@ -0,0 +1,25 @@
//
// Created by Nik on 11/04/2022.
//
#ifndef NALOGA0602_VLAK_H
#define NALOGA0602_VLAK_H
#include <vector>
#include "Prikljucek.h"
#include "Lokomotiva.h"
#include "Vagon.h"
#include <random>
class Vlak {
private:
std::vector<Prikljucek*> vlak;
public:
void addPriklucek(Prikljucek *p);
std::string toString() const;
static std::vector<Prikljucek*> generate(unsigned int amount);
unsigned int lenghtOfTranin() const;
};
#endif //NALOGA0602_VLAK_H

View File

@@ -0,0 +1,27 @@
#include <iostream>
#include "Vlak.h"
int main() {
Vlak nik;
Vagon pot(34,56,TipVag::Potniski);
Vagon tov(23,67,TipVag::Tovorni);
Lokomotiva lok(56,78,1000);
nik.addPriklucek(&pot);
nik.addPriklucek(&tov);
nik.addPriklucek(&lok);
std::cout << nik.toString();
std::cout << nik.lenghtOfTranin();
std::cout << "\n\n\n";
std::vector<Prikljucek*> gen = Vlak::generate(6);
for(auto t: gen){
std::cout << t->toString();
}
return 0;
}