Advertisement
ivodevweb

Untitled

Dec 15th, 2022
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 13.69 KB | None | 0 0
  1. #include "infojogofutebol.h"
  2. #include "jogos.h"
  3. #include <fstream>
  4. #include <iostream>
  5.  
  6. int main() {
  7.      int op_menu=1;
  8.      char modalidade = 0;
  9.      //definimos o objeto jogos
  10.      //            Classe myObj;
  11.      //            auto myOjb = Classe();
  12.      Jogos jogos;
  13.  
  14.   //    nlohmann::json j;
  15.   //    //ficheiro json
  16.   //   std::ofstream file("alunos.json");
  17.   //   file << std::setw(4) << j << m_nameTeamA << " " << m_nameTeamB << " " << m_scoreTeamA
  18.   //          << " " << m_scoreTeamB << std::endl;
  19.   //   std::ofstream myfile;
  20.   // // fin criação json
  21.   //   std::ofstream myfile;
  22.   //   myfile.open ("alunos.txt");
  23.   //   if(myfile.is_open()){
  24.   //   std::cout << m_nameTeamA << " " << m_nameTeamB << " " << m_scoreTeamA
  25.   //             << " " << m_scoreTeamB << std::endl;
  26.   //   myfile << m_nameTeamA << " " << m_nameTeamB << " " << m_scoreTeamA
  27.   //             << " " << m_scoreTeamB << std::endl;
  28.   //   }
  29.  
  30.  
  31.   do {
  32.     system("clear");
  33.         std::cout << "====================================================" << std::endl;
  34.         std::cout << "*       AF2 - 21093 - Programação por Objectos     *" << std::endl;
  35.         std::cout << "====================================================" << std::endl;
  36.         std::cout << "*                                                  *" << std::endl;
  37.         std::cout << "*           ...Menu Principal...                   *" << std::endl;
  38.         std::cout << "*                                                  *" << std::endl;
  39.         std::cout << "*        1. Introduzir modalidade e dados do jogo  *" << std::endl;
  40.         std::cout << "*        2. Informações Jogo Futebol               *" << std::endl;
  41.         std::cout << "*        3. Informações Jogo Basquetebol           *" << std::endl;
  42.         std::cout << "*        4. Listagem de Resultados de Futebol      *" << std::endl;
  43.         std::cout << "*        5. Listagem de Resultados de Basquetebol  *" << std::endl;
  44.         std::cout << "*        0. Sair                                   *" << std::endl;
  45.         std::cout << "====================================================" << std::endl;
  46.         std::cout << "Introduzir a sua opção:"<< std::endl;
  47.         std::cin >> op_menu;
  48.  
  49.  
  50.         switch(op_menu)
  51.         {
  52.         case 1:
  53. //          system("clear");
  54.            while(true){
  55.            std::cout << "Quer (f)utebol ou (b)asquetebol ou (s)air?" << std::endl;
  56.            std::cin >> modalidade;
  57.            if (modalidade !='f' && modalidade !='b'){
  58.                std::cout << "introduzir f ou b minusculas para continuar ou s para sail" << std::endl;
  59.                break;
  60.            }
  61.            if (modalidade == 'f'){
  62.                // variaveis para ler de dados
  63.                 std::string namePlayer;
  64.                 std::string posPlayer;
  65.                 int scorePlayer;
  66.                 int timePlayer;
  67.                 std::string nameTeamA;
  68.                 std::string nameTeamB;
  69.                 int scoreTeamA = 0;
  70.                 int scoreTeamB = 0;
  71.  
  72.                // seleciona modalidade
  73.                //jogos.selectModality();
  74.                //interação com o utilizador
  75.                std::cout << "Dados de um partido de Futebol" << std::endl;
  76.                std::cout << "Entre o nome da equipa A:" << std::endl;
  77.                std::cin >> nameTeamA;
  78.                std::cout << "Entre o score da equipa A:" << std::endl;
  79.                std::cin >> scoreTeamA;
  80.                std::cout << "Entre nome dos jugadores titulares da equipa A: \t" << nameTeamA << std::endl;
  81.                // introduzir jugadores da equipa A:
  82.                for (int i = 1; i < 4; i++) {
  83.                  std::cout << i << "\n";
  84.                    std::cout << "dados do jugador numero \t" << i << std::endl;
  85.                    std::cout << "Entre o nome do jugador \t" << i << std::endl;
  86.                    std::cin >> namePlayer;
  87.                    std::cout << "Posição do jugador (guarda-redes, defesa, médio, avançado):" << std::endl;;
  88.                    std::cin >> posPlayer;
  89.                    std::cout << i << " \t Golos marcados por o jugador: \t" << namePlayer << std::endl;
  90.                    std::cin >> scorePlayer;
  91.                    std::cout << i << "Em que minuto do jogo o jugador marcou \t" << namePlayer << std::endl;
  92.                    std::cin >> timePlayer;
  93.                    std::cout << std::endl;
  94.                }
  95.                std::cout << "Entre o nome dos judagores suplentes da equipa A: " << std::endl;
  96.                std::cout << std::endl;
  97.                for (int i = 1; i < 2; i++){
  98.                    std::cout << "Entre o nome do jugador \t" << i << std::endl;
  99.                    std::cin >> namePlayer;
  100.                    std::cout << "Posição do jugador (guarda-redes, defesa, médio, avançado): \t" << std::endl;;
  101.                    std::cin >> posPlayer;
  102.                    std::cout << i << "Golos marcados por o jugador \t" << namePlayer << std::endl;
  103.                    std::cin >> scorePlayer;
  104.                }
  105.                std::cout << "Introduzir dados da outra equipa " << std::endl;
  106.                std::cout << std::endl;
  107.                // introduzir jugadores da equipa B:
  108.                std::cout << "Entre o nome da equipa B:" << std::endl;
  109.                std::cin >> nameTeamB;
  110.                std::cout << "Entre o score da equipa B:" << std::endl;
  111.                std::cin >> scoreTeamB;
  112.                std::cout << "Entre nome dos jugadores titulares da equipa B: \t" << nameTeamB << std::endl;
  113.                // introduzir jugadores da equipa B:
  114.                for (int i = 1; i < 4; i++) {
  115.                  std::cout << i << "\n";
  116.                    std::cout << "dados do jugador numero \t" << i << std::endl;
  117.                    std::cout << "Entre o nome do jugador \t" << i << std::endl;
  118.                    std::cin >> namePlayer;
  119.                    std::cout << "Posição do jugador (guarda-redes, defesa, médio, avançado):" << std::endl;;
  120.                    std::cin >> posPlayer;
  121.                    std::cout << i << " \t Golos marcados por o jugador: \t" << namePlayer << std::endl;
  122.                    std::cin >> scorePlayer;
  123.                    std::cout << i << "Em que minuto do jogo o jugador marcou \t" << namePlayer << std::endl;
  124.                    std::cin >> timePlayer;
  125.                    std::cout << std::endl;
  126.                }
  127.                std::cout << "Entre o nome dos judagores suplentes da equipa B: " << std::endl;
  128.                std::cout << std::endl;
  129.                for (int i = 1; i < 2; i++){
  130.                    std::cout << "Entre o nome do jugador" << i << std::endl;
  131.                    std::cin >> namePlayer;
  132.                    std::cout << "Posição do jugador (guarda-redes, defesa, médio, avançado):" << std::endl;;
  133.                    std::cin >> posPlayer;
  134.                    std::cout << i << "Golos marcados por o jugador" << namePlayer << std::endl;
  135.                    std::cin >> scorePlayer;
  136.                }
  137.  
  138.            //objetos
  139.            auto futebol = InfoJogoFutebol(namePlayer,posPlayer,scorePlayer,timePlayer,
  140.                                          nameTeamA,nameTeamB,scoreTeamA,scoreTeamB);
  141. //         futebol.inputData();
  142.            jogos.adicionarFut(std::make_unique<InfoJogoFutebol>( namePlayer,posPlayer,scorePlayer,timePlayer,
  143.                                                                   nameTeamA,nameTeamB,scoreTeamA,scoreTeamB ));
  144.            //mostra os dados
  145.            std::cout << "imprimejogo"<< std::endl;
  146.            futebol.imprimeJogo();
  147.            std::cout << "imprimeFut"<< std::endl;
  148.            jogos.imprimeFut();
  149.            std::cout << std::endl;
  150.            std::cout << "Imprime dados de InfoJogo:" << std::endl;
  151.            auto info = InfoJogo(nameTeamA,nameTeamB,scoreTeamA,scoreTeamB);
  152.            std::cout << std::endl;
  153.            info.imprime();
  154.            std::cout << std::endl;
  155.            } else if (modalidade == 'b'){
  156.                // variaveis para ler de dados
  157.                 std::string namePlayer;
  158.                 std::string posPlayer;
  159.                 int scorePlayer;
  160.                 int timePlayer;
  161.                 std::string nameTeamA;
  162.                 std::string nameTeamB;
  163.                 int scoreTeamA = 0;
  164.                 int scoreTeamB = 0;
  165.  
  166.                // seleciona modalidade
  167.                //jogos.selectModality();
  168.                //interação com o utilizador
  169.                std::cout << "Dados de um partido de Basketebol" << std::endl<<std::endl;
  170.                std::cout << "Entre o nome da equipa A:" << std::endl;
  171.                std::cin >> nameTeamA;
  172.                std::cout << "Entre o score da equipa A:" << std::endl;
  173.                std::cin >> scoreTeamA;
  174.                std::cout << "Entre nome dos jugadores titulares da equipa A: \t" << nameTeamA << std::endl;
  175.                // introduzir jugadores da equipa A:
  176.                for (int i = 1; i < 4; i++) {
  177.                  std::cout << i << "\n";
  178.                    std::cout << "dados do jugador numero \t" << i << std::endl;
  179.                    std::cout << "Entre o nome do jugador \t" << i << std::endl;
  180.                    std::cin >> namePlayer;
  181.                    std::cout << "Posição do jugador (base, extremo, poste):" << std::endl;;
  182.                    std::cin >> posPlayer;
  183.                    std::cout << i << " \t Pontos marcados por o jugador: \t" << namePlayer << std::endl;
  184.                    std::cin >> scorePlayer;
  185.                    std::cout << i << "Em que minuto do jogo o jugador marcou \t" << namePlayer << std::endl;
  186.                    std::cin >> timePlayer;
  187.                    std::cout << std::endl;
  188.                }
  189.                std::cout << "Entre o nome dos judagores suplentes da equipa A: " << std::endl;
  190.                std::cout << std::endl;
  191.                for (int i = 1; i < 2; i++){
  192.                    std::cout << "Entre o nome do jugador \t" << i << std::endl;
  193.                    std::cin >> namePlayer;
  194.                    std::cout << "Posição do jugador (base, extremo, poste): \t" << std::endl;;
  195.                    std::cin >> posPlayer;
  196.                    std::cout << i << "Pontos marcados por o jugador \t" << namePlayer << std::endl;
  197.                    std::cin >> scorePlayer;
  198.                }
  199.                std::cout << "Introduzir dados da outra equipa " << std::endl;
  200.                std::cout << std::endl;
  201.                // introduzir jugadores da equipa B:
  202.                std::cout << "Entre o nome da equipa B:" << std::endl;
  203.                std::cin >> nameTeamB;
  204.                std::cout << "Entre o score da equipa B:" << std::endl;
  205.                std::cin >> scoreTeamB;
  206.                std::cout << "Entre nome dos jugadores titulares da equipa B: \t" << nameTeamB << std::endl;
  207.                // introduzir jugadores da equipa B:
  208.                for (int i = 1; i < 4; i++) {
  209.                  std::cout << i << "\n";
  210.                    std::cout << "dados do jugador numero \t" << i << std::endl;
  211.                    std::cout << "Entre o nome do jugador \t" << i << std::endl;
  212.                    std::cin >> namePlayer;
  213.                    std::cout << "Posição do jugador (base, extremo, poste):" << std::endl;;
  214.                    std::cin >> posPlayer;
  215.                    std::cout << i << " \t Pontos marcados por o jugador: \t" << namePlayer << std::endl;
  216.                    std::cin >> scorePlayer;
  217.                    std::cout << i << "Em que minuto do jogo o jugador marcou \t" << namePlayer << std::endl;
  218.                    std::cin >> timePlayer;
  219.                    std::cout << std::endl;
  220.                }
  221.                std::cout << "Entre o nome dos judagores suplentes da equipa B: " << std::endl;
  222.                std::cout << std::endl;
  223.                for (int i = 1; i < 2; i++){
  224.                    std::cout << "Entre o nome do jugador" << i << std::endl;
  225.                    std::cin >> namePlayer;
  226.                    std::cout << "Posição do jugador (base, extremo, poste):" << std::endl;;
  227.                    std::cin >> posPlayer;
  228.                    std::cout << i << "Pontos marcados por o jugador" << namePlayer << std::endl;
  229.                    std::cin >> scorePlayer;
  230.                }
  231.  
  232.            //objetos
  233.            auto basket = InfoJogoBasquetebol(namePlayer,posPlayer,scorePlayer,timePlayer,
  234.                                          nameTeamA,nameTeamB,scoreTeamA,scoreTeamB);
  235. //         futebol.inputData();
  236.            jogos.adicionarBask(std::make_unique<InfoJogoBasquetebol>( namePlayer,posPlayer,scorePlayer,timePlayer,
  237.                                                                   nameTeamA,nameTeamB,scoreTeamA,scoreTeamB ));
  238.            //mostra os dados
  239.            std::cout << "imprimejogo"<< std::endl;
  240.            basket.imprimeJogo();
  241.            std::cout << "imprimeFut"<< std::endl;
  242.            jogos.imprimeBask();
  243.            std::cout << std::endl;
  244.            std::cout << "Imprime dados de InfoJogo:" << std::endl;
  245.            auto info = InfoJogo(nameTeamA,nameTeamB,scoreTeamA,scoreTeamB);
  246.            std::cout << std::endl;
  247.            info.imprime();
  248.            std::cout << std::endl;
  249.            }//end if
  250.         }//end case 1
  251.            break;
  252.  
  253.           case 2:
  254.             system("clear");
  255.  
  256.  
  257.  
  258.             break;
  259.  
  260.           case 3:
  261.             system("clear");
  262.  
  263.  
  264.             break;
  265.  
  266.           case 4:
  267.             system("clear");
  268.  
  269.  
  270.             break;
  271.  
  272.           default:
  273.             system("clear");
  274.             std::cout << "Obrigado por utilizar nosso programa" <<std::endl;
  275.  
  276.         }
  277.     } while(op_menu !=0);
  278. }
  279.  
  280. /* Pede para selecionar modalidade
  281. - Pede para inserir equipas e posições em jogo
  282. - Imprime equipas
  283. - Insere Golos/Pontos
  284. - Faz substituições
  285. - Faz expulsões
  286. - Imprime resultado final.*/
  287.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement