Seal_of_approval

PrVecList19B_Class

Jul 7th, 2015
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.13 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <list>
  4. #include <algorithm>
  5. #include <fstream>
  6. using namespace std;
  7.  
  8. class Ticket {
  9. private:
  10.     int number;
  11.     string symbols;
  12. public:
  13.     Ticket() {}
  14.     Ticket(int number, string symbols) {
  15.         this->number = number;
  16.         this->symbols = symbols;
  17.     }
  18.  
  19.     ~Ticket() {}
  20.     int getNumber() {
  21.         return this->number;
  22.     }
  23.     string getSymbols() {
  24.         return this->symbols;
  25.     }
  26.     void describe() {
  27.         cout << "No: " << this->number << "\nSymbols: " << this->symbols << endl;
  28.     }
  29. };
  30.  
  31. class Lottery {
  32. private:
  33.     list<Ticket *> tickets;
  34.    
  35. public:
  36.     Lottery() {}
  37.     ~Lottery() {}
  38.     void print();
  39.    
  40.     void add(Ticket * t) {
  41.         tickets.push_back(t);
  42.     }
  43.  
  44.     void describe() {
  45.         for (list<Ticket *>::iterator it = this->tickets.begin(); it != this->tickets.end(); ++it)
  46.             (*it)->describe();
  47.         cout<<"----------------"<<endl;
  48.     }
  49.    
  50.     void show(int number) {
  51.         for (list<Ticket *>::iterator it = this->tickets.begin(); it != this->tickets.end(); ++it)
  52.             if ((*it)->getNumber() == number) {
  53.                 string result = (*it)->getSymbols();
  54.                 reverse(result.begin(), result.end());
  55.                 cout << result << endl;
  56.             }
  57.     }
  58.    
  59.     void move (int number) {
  60.         for (list<Ticket *>::iterator it = this->tickets.begin(); it != this->tickets.end(); ++it)
  61.             if ((*it)->getNumber() == number) {
  62.                 Ticket *moved = *it;
  63.                 this->tickets.push_back(moved);
  64.                 this->tickets.erase(it);
  65.                 break;
  66.             }
  67.  
  68.        
  69.     }
  70. };
  71.  
  72. int main(void)
  73. {
  74.     ifstream in("/Users/vslepukhin/Desktop/input.txt");
  75.     Lottery *l = new Lottery();
  76.    
  77.    
  78.     int x,y;
  79.     cout << "Enter number of ticket for move ";
  80.     in >> x;
  81.     cout << "Enter number of ticket for show ";
  82.     in >> y;
  83.    
  84.     int number;
  85.     string symbol;
  86.     while(in >> number >> symbol) l->add(new Ticket(number, symbol));
  87.     l->describe();
  88.     l->move(x);
  89.     l->describe();
  90.     l->show(y);
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment