Advertisement
ivodevweb

Untitled

Dec 27th, 2022
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.29 KB | Software | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <vector>
  5.  
  6. class Jogador {
  7.     public:
  8.         Jogador(int number
  9.                 , std::string name
  10.                 , std::string position) : m_number{number}
  11.                                         , m_name{name}
  12.                                         , m_position{position} {}
  13.         void PrintTitulares() {
  14.             std::cout << "_____________________________________________"<< std::endl;
  15.             std::cout << m_number << "," << m_name << "," << m_position << std::endl;
  16.         }
  17.  
  18.         void PrintSuplentes() {
  19.             std::cout << "_____________________________________________"<< std::endl;
  20.             std::cout << m_number << "," << m_name << "," << m_position << std::endl;
  21.         }
  22.         int getNumber() const;
  23.         std::string getName() const;
  24.         std::string getPostition() const;
  25.         void addPlayerTitulares(Jogador Valor);
  26.         void addPlayerSuplentes(Jogador valor);
  27.  
  28.     protected:
  29.         int m_number = -1;
  30.         int op{-1};
  31.         std::string m_name;
  32.         std::string m_position;
  33. //    private:
  34. //        int m_number = -1;
  35. //        std::string m_name;
  36. //        std::string m_position;
  37. private:
  38.          std::vector<Jogador> titulares;
  39.          std::vector<Jogador> suplentes;
  40. };
  41.  
  42. //Getters
  43.  
  44. int Jogador::getNumber() const {
  45.     return m_number;
  46. }
  47. std::string Jogador::getName() const {
  48.     return m_name;
  49. }
  50. std::string Jogador::getPostition() const {
  51.     return m_position;
  52. }
  53.  
  54. void Jogador::addPlayerTitulares(Jogador valor) {
  55.   titulares.push_back(valor);
  56. }
  57.  
  58. void Jogador::addPlayerSuplentes(Jogador valor) {
  59.   suplentes.emplace_back(valor);
  60. }
  61.  
  62. int main() {
  63.     int op = -1;
  64.     std::vector<Jogador> titulares;
  65.     std::vector<Jogador> suplentes;
  66.     while(true){
  67.         std::cout << std::endl;
  68.         std::cout << " (1)Carregar Titulares - (2)Carregar Suplentes " << std::endl;
  69.         std::cout << " (3) Mostrar Titulares - (4) Mostrar Suplentes" << std::endl;
  70.         std::cout << " (5) Expulsar Jogador  - (6) Subtituição Jogador" << std::endl;
  71.         std::cout <<"Opção: " << std::endl;
  72.         std::cin >> op;
  73.            if(op == 1){
  74.             std::cout << "Carregando Titulares......." << std::endl;
  75.             std::ifstream in;
  76.             std::ofstream out;
  77.             out.open("FutHistorico.txt", std::ios_base::app);
  78.             in.open("FutTeamA.txt");
  79.             while(!in.eof()) {
  80.                 int number = -1;
  81.                 std::string name;
  82.                 std::string position;
  83.  
  84.                 in >> number >> name >> position;
  85.  
  86.                 out << number << " " << name << " " << position << std::endl;
  87.  
  88.                 titulares.emplace_back(number, name, position);
  89.             std::cout << "Titulares Carregados OK..." << std::endl;
  90.             std::cout << std::endl;
  91.             }// while in.eof() titulares
  92.            } else if(op == 2){
  93.                std::cout << "Carregando Suplentes......." << std::endl;
  94.                std::ifstream in;
  95.                std::ofstream out;
  96.                in.open("FutSupA.txt");
  97.                while(!in.eof()) {
  98.                    int number = -1;
  99.                    std::string name;
  100.                    std::string position;
  101.  
  102.                    in >> number >> name >> position;
  103.  
  104.                    out << number << " " << name << " " << position << std::endl;
  105.  
  106.                    suplentes.emplace_back(number, name, position);
  107.  
  108.                    std::cout << "Suplentes Carregados OK..." << std::endl;
  109.                    std::cout << std::endl;
  110.                }//while in.eof() suplentes
  111.            } else if (op == 3){
  112.                 std::cout << "Lista de Titulares" << std::endl;
  113.                 for(auto jogador : titulares) jogador.PrintTitulares();
  114. //               for (size_t i = 0; i < titulares.size(); ++i) {
  115. //                  std::cout << i << ". "
  116. //                            << titulares[i].getNumber() << " "
  117. //                            << titulares[i].getName() << " "
  118. //                            << titulares[i].getPostition() << std::endl;
  119. //               } //for titulares
  120.            } else if (op == 4){
  121.                std::cout << "Lista de Suplentes" << std::endl;
  122.                for(auto jogador : suplentes) jogador.PrintSuplentes();
  123.                for (size_t i = 0; i < suplentes.size(); ++i) {
  124.                   std::cout << i << ". "
  125.                             << suplentes[i].getNumber() << " "
  126.                             << suplentes[i].getName() << " "
  127.                             << suplentes[i].getPostition() << std::endl;
  128.                }// for suplentes
  129.            } else if (op == 5){
  130.                for(auto jogador : titulares) jogador.PrintTitulares();
  131.                    std::cout << std::endl;
  132.  
  133.                    int bye = -1;
  134.                    std::cout << "Entre o numero do jogador a Expulsar: " << std::endl;
  135.                    std::cin >> bye;
  136.                    std::cout << "Expulsando jogador.... " << bye << std::endl;
  137.                    std::vector<Jogador>::iterator it = titulares.begin();
  138.                    for( ; it != titulares.end(); it++) {
  139.                        if ((*it).getNumber() == bye) {
  140.                            break;
  141.                        }
  142.                    }
  143.                    titulares.erase(it);
  144.                    for(auto jogador : titulares) jogador.PrintTitulares();
  145.                    std::cout << std::endl;
  146.                    std::cout << "OK Jogador: "<< bye << " Foi Expulso" << std::endl;
  147.            } else if (op == 6){
  148.                std::string name;
  149.                std::string position;
  150.                for(auto jogador : titulares) jogador.PrintTitulares();
  151.                    std::cout << std::endl;
  152.                    int number = -1;
  153.                    //sai jogador para o banco
  154.                    std::cout << "Entre o numero nome e posição do jogador a Sair: (5 jog5 defesa) :" << std::endl;
  155.                    std::cin >> number >> name >> position;
  156.                    std::cout << "Saindo jogador.... " << number << std::endl;
  157.                    std::vector<Jogador>::iterator it = titulares.begin();
  158.                    for( ; it != titulares.end(); it++) {
  159.                        if ((*it).getNumber() == number) {
  160.                            break;
  161.                        }
  162.                    }
  163.                    titulares.erase(it);
  164.                    for(auto jogador : titulares) jogador.PrintTitulares();
  165.                      std::cout << std::endl;
  166.                      for(auto jogador : suplentes) jogador.PrintSuplentes();
  167.                      std::cout << std::endl;
  168.                     std::cout << std::endl;
  169.                     std::cout << "OK Jogador: "<< number << " "<< name <<" "<< position <<" Foi para o banco de Suplentes" << std::endl;
  170.                    suplentes.emplace_back(number,name,position);
  171.                    for(auto jogador : suplentes) jogador.PrintSuplentes();
  172.                       //Entra jogador do banco para o campo
  173.                        std::cout << std::endl;
  174.                        std::cout << "Entre o numero nome e posição do jogador a Entrar: (5 jog5 defesa) :" << std::endl;
  175.                        std::cin >> number >> name >> position;
  176.                        std::cout << "Entrando jogador.... " << number << std::endl;
  177.                        std::vector<Jogador>::iterator ite = suplentes.begin();
  178.                        for( ; ite != suplentes.end(); ite++) {
  179.                            if ((*ite).getNumber() == number) {
  180.                                break;
  181.                            }
  182.                        }
  183.                        suplentes.erase(it);
  184.                        //Entra jogador do banco para o campo
  185.                        for(auto jogador : suplentes) jogador.PrintSuplentes();
  186.                          std::cout << std::endl;
  187.                          for(auto jogador : titulares) jogador.PrintTitulares();
  188.                          std::cout << std::endl;
  189.                         std::cout << std::endl;
  190.                         std::cout << "OK Jogador: "<< number << " "<< name <<" "<< position <<" Entrou a jogar..." << std::endl;
  191.                        titulares.emplace_back(number,name,position);
  192.            }
  193.      }//while true
  194.  
  195.     return EXIT_SUCCESS;
  196. }
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement