Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <list>
- #include <algorithm>
- #include <fstream>
- using namespace std;
- class Ticket {
- private:
- int number;
- string symbols;
- public:
- Ticket() {}
- Ticket(int number, string symbols) {
- this->number = number;
- this->symbols = symbols;
- }
- ~Ticket() {}
- int getNumber() {
- return this->number;
- }
- string getSymbols() {
- return this->symbols;
- }
- void describe() {
- cout << "No: " << this->number << "\nSymbols: " << this->symbols << endl;
- }
- };
- class Lottery {
- private:
- list<Ticket *> tickets;
- public:
- Lottery() {}
- ~Lottery() {}
- void print();
- void add(Ticket * t) {
- tickets.push_back(t);
- }
- void describe() {
- for (list<Ticket *>::iterator it = this->tickets.begin(); it != this->tickets.end(); ++it)
- (*it)->describe();
- cout<<"----------------"<<endl;
- }
- void show(int number) {
- for (list<Ticket *>::iterator it = this->tickets.begin(); it != this->tickets.end(); ++it)
- if ((*it)->getNumber() == number) {
- string result = (*it)->getSymbols();
- reverse(result.begin(), result.end());
- cout << result << endl;
- }
- }
- void move (int number) {
- for (list<Ticket *>::iterator it = this->tickets.begin(); it != this->tickets.end(); ++it)
- if ((*it)->getNumber() == number) {
- Ticket *moved = *it;
- this->tickets.push_back(moved);
- this->tickets.erase(it);
- break;
- }
- }
- };
- int main(void)
- {
- ifstream in("/Users/vslepukhin/Desktop/input.txt");
- Lottery *l = new Lottery();
- int x,y;
- cout << "Enter number of ticket for move ";
- in >> x;
- cout << "Enter number of ticket for show ";
- in >> y;
- int number;
- string symbol;
- while(in >> number >> symbol) l->add(new Ticket(number, symbol));
- l->describe();
- l->move(x);
- l->describe();
- l->show(y);
- }
Advertisement
Add Comment
Please, Sign In to add comment