Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <istream>
- #include <string>
- #include <string.h>
- #include <cstdlib>
- using namespace std;
- //Tanulmányi rendszer osztály
- class TanulmanyiRendszer {
- protected:
- string url;
- public:
- TanulmanyiRendszer(string url);
- ~TanulmanyiRendszer();
- virtual bool bejelentkezes() = 0;
- virtual bool kurzusfelvetel(const char* courseCode) = 0;
- };
- //etr gyerek osztály
- class etr : public TanulmanyiRendszer {
- public:
- etr(string url) : TanulmanyiRendszer(url) {};
- etr():TanulmanyiRendszer("asd") {};
- bool bejelentkezes();
- bool kurzusfelvetel(const char* courseCode);
- void setUrl(string url) {
- this->url=url;
- }
- };
- //neptun gyerekosztály
- class neptun : public TanulmanyiRendszer {
- private:
- const char* style;
- public:
- neptun(const char* , const char* );
- //neptun(const char* url, const char* style) : TanulmanyiRendszer(url) {};
- bool bejelentkezes();
- bool kurzusfelvetel(const char* courseCode);
- void temavalt(const char* style);
- };
- class ETRArmy {
- public:
- int count;
- etr* ETRObject;
- ETRArmy(int);
- void init(string[]);
- ~ETRArmy();
- etr& operator[] (int i) {
- return this->ETRObject[i];
- };
- void operator () ( int a ) {
- etr* TMPETRObject;
- for (int i=0;i<(sizeof ETRObject / sizeof ETRObject[0]);i++) {
- if (i>=a) {
- TMPETRObject[i-1] = this->ETRObject[i];
- } else {
- TMPETRObject[i] = this->ETRObject[i];
- }
- }
- delete[] ETRObject;
- for (int i=0;i<(sizeof TMPETRObject / sizeof TMPETRObject[0]);i++) {
- this->ETRObject[i] = TMPETRObject[i];
- }
- delete[] TMPETRObject;
- cout << "Egy ETR rendszert sikeresen eltávolítottunk, de aggodalomra semmi ok, hamarosan Neptunként visszatér közénk!" << endl;
- }
- };
- void ETRArmy::init(string urls[]) {
- for(int i =0; i<this->count; i++){
- this->ETRObject[i].setUrl(urls[i]);
- }
- }
- ETRArmy::ETRArmy(int count){
- this->count = count;
- this->ETRObject = new etr[count];
- }
- ETRArmy::~ETRArmy() {
- if (ETRObject != NULL) {
- delete[] ETRObject;
- }
- }
- TanulmanyiRendszer::TanulmanyiRendszer(string url) {
- this->url=url;
- //strcpy_s(this->url, sizeof(url), url);
- }
- TanulmanyiRendszer::~TanulmanyiRendszer() {
- //delete[] url;
- }
- bool etr::bejelentkezes() {
- cout << "Sikeres bejelentezés" << endl;
- return true;
- }
- bool etr::kurzusfelvetel(const char* courseCode) {
- cout << "Az ETR tanulmányi rendszer 2017.04.06 - án 16:00 - kor leállt." << endl;
- return false;
- }
- bool neptun::bejelentkezes() {
- double val = (double)rand() / RAND_MAX;
- int random;
- if (val < 0.90) {
- random = true;
- cout << "Sikeres bejelentkezés" << endl;
- }
- else {
- cout << "The service is unavailable." << endl;
- random = false;
- }
- return random;
- }
- bool neptun::kurzusfelvetel(const char* courseCode) {
- double val = (double)rand() / RAND_MAX;
- bool returned = true;
- if (val < 0.20) {
- returned = false;
- cout << "Hiba! A kurzusfelvétel nem sikerült, mert nem sikerült a tárgyfelvétel." << endl;
- }
- else {
- string line;
- ifstream f("list.txt");
- if (f.good()) {
- while (getline(f, line).good()) {
- if (line == courseCode) {
- cout << "Hiba! A kurzusfelvétel nem sikerült, mert nem sikerült a tárgyfelvétel." << endl;
- returned = false;
- }
- }
- f.close();
- }
- if (returned == true) {
- fstream file;
- file.open("list.txt", ios::out | ios::binary);
- file << courseCode << endl;
- file.close();
- }
- }
- return returned;
- }
- void neptun::temavalt(const char* style) {
- this->style = new char[strlen(style) + 1];
- //strcpy(this->style, style);
- this->style = style;
- cout << "Az új téma: " << this->style << endl;
- }
- neptun::neptun(const char* url, const char* style) : TanulmanyiRendszer(url) {
- this->style = new char[strlen(style) + 1];
- //strcpy(this->style, style);
- this->style = style;
- }
- int main() {
- /* etr a("https://etr.u-szeged.hu");
- etr* d = &a;
- d->bejelentkezes();
- d->kurzusfelvetel("ibl45");
- neptun b("https://neptun.u-szeged.hu", "lila");
- neptun* c = &b;
- c->bejelentkezes();
- // c->kurzusfelvetel("ibl345");
- c->temavalt("kek");*/
- ETRArmy a(3);
- string url[] = {"abc", "xyz", "asd"};
- ETRArmy* c = &a;
- //c->init(url);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement