·
Ciência da Computação ·
Estrutura de Dados
Send your question to AI and receive an answer instantly
Recommended for you
4
Atividade-Pratica-Estrutura-de-Dados-Analise-de-Dados-com-Lista-Ligada
Estrutura de Dados
MACKENZIE
5
Editor de Programas Simples em Lista Encadeada - Atividade Acadêmica
Estrutura de Dados
MACKENZIE
1
Plano de Aulas de Programação em C
Estrutura de Dados
MACKENZIE
5
Análise de Dataset Remuneração Funcionários Públicos SP com Árvore de Busca Binária - Data Science
Estrutura de Dados
MACKENZIE
4
Implementacao TAD-Lista-Ligada-Encadeada-em-C
Estrutura de Dados
MACKENZIE
4
Analise de Dados Bibliograficos com Lista Ligada em Estrutura de Dados - Atividade Academica
Estrutura de Dados
MACKENZIE
7
Relatório Laboratorial Ciencia de Dados Analise Netflix Arvores AVL e BST
Estrutura de Dados
MACKENZIE
4
Atividade Lab1b: Implementação do TAD Fila Estática
Estrutura de Dados
MACKENZIE
4
Atividade Apl2 Analise de Dados com Lista Ligada em C - Estrutura de Dados
Estrutura de Dados
MACKENZIE
18
Análise do Código de Árvores de Busca Binária e Exercícios
Estrutura de Dados
MACKENZIE
Preview text
UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Atividade em Grupo Máx 3 Nome do Aluno TIA Texto da Atividade 1 Uma empresa deseja realizar determinadas estatísticas a respeito dos seus funcionários Para isso a equipe técnica optou por utilizar uma BST e fazer uso dos métodos de percurso para obter essas estatísticas Sabese que os dados de um funcionário são identificação número inteiro único por funcionário categoria P Presencial O Home Office H Híbrido caractere nome String cargo String sexo F feminino M masculino caractere idade inteiro salário real A partir disso pedese a Elabore a classe Funcionário b Tendo por base o código da BST apresentado em aula alterar os arquivos da BST e os métodos de seus códigos fontes para permitir o armazenamento de objetos da classe Funcionário Altere os métodos do arquivo que contém o main e faça testes Os testes desta opção devem constar no relatório c A partir de algum dos métodos de percurso modifiqueo para percorrer a BST calcular o gasto com os salários dos funcionários da empresa e retornar o resultado dos gastos Crie uma opção do menu e um método no arquivo que contém o main que permita chamar o método e visualizar o resultado calculado Os testes desta opção devem constar no relatório d A partir de algum dos métodos de percurso modifiqueo para receber o sexo do funcionário como parâmetro percorra a BST calcule e retorne o total de funcionários com o sexo informado Crie uma opção do menu e um método no arquivo que contém o main que permita ler o sexo do funcionário chamar o método de percurso implementado e visualizar o resultado Os testes desta opção devem constar no relatório e A partir de algum dos métodos de percurso modifiqueo para receber a categoria de um funcionário percorrer a BST calcular e retornar o total de funcionários dessa categoria Criar uma opção do menu e um método no arquivo que contém o main que permita ler a categoria do funcionário processar com o método de percurso desenvolvido e visualizar o resultado Os testes desta opção devem constar no relatório f A partir de algum dos métodos de percurso modifiqueo para receber a idade percorrer a BST calcular e apresentar os dados dos funcionários com idade maior do que a informada Crie uma opção do menu e um método no arquivo que contém o main que permita ler a idade e chamar o método de percurso implementado Os testes desta opção devem constar no relatório Esta atividade pode ser em grupo de até 3 pessoas UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Cada exercícioopção deve constar no relatório a seguir Colocar pelo menos 2 testes de cada uma das opções Além disso criar um Apêndice no relatório contendo todos os códigos fontes modificados dos arquivos originais fornecidos Depois enviar compactado o relatório pela área correspondente do Moodle com os códigos fontes completos RELATÓRIO UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Atividade em Grupo Máx 3 Nome do Aluno TIA Ivie Namura 41904771 Texto da Atividade 1 Uma empresa deseja realizar determinadas estatísticas a respeito dos seus funcionários Para isso a equipe técnica optou por utilizar uma BST e fazer uso dos métodos de percurso para obter essas estatísticas Sabese que os dados de um funcionário são identificação número inteiro único por funcionário categoria P Presencial O Home Office H Híbrido caractere nome String cargo String sexo F feminino M masculino caractere idade inteiro salário real A partir disso pedese a Elabore a classe Funcionário b Tendo por base o código da BST apresentado em aula alterar os arquivos da BST e os métodos de seus códigos fontes para permitir o armazenamento de objetos da classe Funcionário Altere os métodos do arquivo que contém o main e faça testes Os testes desta opção devem constar no relatório c A partir de algum dos métodos de percurso modifiqueo para percorrer a BST calcular o gasto com os salários dos funcionários da empresa e retornar o resultado dos gastos Crie uma opção do menu e um método no arquivo que contém o main que permita chamar o método e visualizar o resultado calculado Os testes desta opção devem constar no relatório d A partir de algum dos métodos de percurso modifiqueo para receber o sexo do funcionário como parâmetro percorra a BST calcule e retorne o total de funcionários com o sexo informado Crie uma opção do menu e um método no arquivo que contém o main que permita ler o sexo do funcionário chamar o método de percurso implementado e visualizar o resultado Os testes desta opção devem constar no relatório e A partir de algum dos métodos de percurso modifiqueo para receber a categoria de um funcionário percorrer a BST calcular e retornar o total de funcionários dessa categoria Criar uma opção do menu e um método no arquivo que contém o main que permita ler a categoria do funcionário processar com o método de percurso desenvolvido e visualizar o resultado Os testes desta opção devem constar no relatório f A partir de algum dos métodos de percurso modifiqueo para receber a idade percorrer a BST calcular e apresentar os dados dos funcionários com idade maior do que a informada Crie uma opção do menu e um método no arquivo que contém o main que permita ler a idade e chamar o método de percurso implementado Os testes desta opção devem constar no relatório Esta atividade pode ser em grupo de até 3 pessoas UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Cada exercícioopção deve constar no relatório a seguir Colocar pelo menos 2 testes de cada uma das opções Além disso criar um Apêndice no relatório contendo todos os códigos fontes modificados dos arquivos originais fornecidos Depois enviar compactado o relatório pela área correspondente do Moodle com os códigos fontes completos RELATÓRIO A Criação da Classe Funcionário class Funcionario public int id identificação char categoria categoria P Presencial O Home Office H Híbrido stdstring nome nome stdstring cargo cargo char sexo sexo F feminino M masculino int idade idade double salario salário Construtor Funcionarioint id char categoria stdstring nome stdstring cargo char sexo int idade double salario thisid id thiscategoria categoria thisnome nome thiscargo cargo thissexo sexo thisidade idade thissalario salario UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST B Criando o perfil para cada funcionário Adicione alguns funcionários à árvore bstinsertnew Funcionario1 P João Engenheiro M 30 50000 bstinsertnew Funcionario2 H Maria Analista F 28 45000 bstinsertnew Funcionario3 O Carlos Programador M 35 60000 bstinsertnew Funcionario4 P Bruno Atendente M 40 35000 bstinsertnew Funcionario5 H Roberto Analista M 33 55000 bstinsertnew Funcionario6 O Clara Programador F 27 65000 C Código para realizar o calculo de custos total de salários Método para calcular o gasto total com salários double calcularSalario return calcularSalarioroot double calcularSalarioNode node ifnode nullptr return 00 else return node funcionario salario calcularSalarionode left calcularSalarionode right Utilizando a função para calcular o custo total com salários UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST D Código para apresentar as pessoas por sexo Método para contar funcionários por sexo int contarPorSexochar sexo return contarPorSexoroot sexo int contarPorSexoNode node char sexo ifnode nullptr return 0 else ifnode funcionario sexo sexo return 1 contarPorSexonode left sexo contarPorSexonode right sexo else return contarPorSexonode left sexo contarPorSexonode right sexo Utilizando a função para apresentar quantas pessoas a empresa tem de cada sexo UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST E Código para apresentar a quantidade de pessoas por categoria Método para contar funcionários por categoria int contarPorCategoriachar categoria return contarPorCategoriaroot categoria int contarPorCategoriaNode node char categoria ifnode nullptr return 0 else ifnode funcionario categoria categoria return 1 contarPorCategorianode left categoria contarPorCategorianode right categoria else return contarPorCategorianode left categoria contarPorCategorianode right categoria UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Utilizando a função para apresentar a quantidade de funcionários por categoria POH F Código para apresentar os funcionários a partir de uma idade pré estabelecida Método para listar funcionários com idade maior que a informada void listarPorIdadeint idade listarPorIdaderoot idade void listarPorIdadeNode node int idade ifnode nullptr listarPorIdadenode left idade ifnode funcionario idade idade stdcout Funcionário ID nodefuncionario id stdendl listarPorIdadenode right idade UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Utilizando a função para apresentar os funcionários a partir de uma idade X UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Atividade em Grupo Máx 3 Nome do Aluno TIA Ivie Namura 41904771 Texto da Atividade 1 Uma empresa deseja realizar determinadas estatísticas a respeito dos seus funcionários Para isso a equipe técnica optou por utilizar uma BST e fazer uso dos métodos de percurso para obter essas estatísticas Sabese que os dados de um funcionário são identificação número inteiro único por funcionário categoria P Presencial O Home Office H Híbrido caractere nome String cargo String sexo F feminino M masculino caractere idade inteiro salário real A partir disso pedese a Elabore a classe Funcionário b Tendo por base o código da BST apresentado em aula alterar os arquivos da BST e os métodos de seus códigos fontes para permitir o armazenamento de objetos da classe Funcionário Altere os métodos do arquivo que contém o main e faça testes Os testes desta opção devem constar no relatório c A partir de algum dos métodos de percurso modifiqueo para percorrer a BST calcular o gasto com os salários dos funcionários da empresa e retornar o resultado dos gastos Crie uma opção do menu e um método no arquivo que contém o main que permita chamar o método e visualizar o resultado calculado Os testes desta opção devem constar no relatório d A partir de algum dos métodos de percurso modifiqueo para receber o sexo do funcionário como parâmetro percorra a BST calcule e retorne o total de funcionários com o sexo informado Crie uma opção do menu e um método no arquivo que contém o main que permita ler o sexo do funcionário chamar o método de percurso implementado e visualizar o resultado Os testes desta opção devem constar no relatório e A partir de algum dos métodos de percurso modifiqueo para receber a categoria de um funcionário percorrer a BST calcular e retornar o total de funcionários dessa categoria Criar uma opção do menu e um método no arquivo que contém o main que permita ler a categoria do funcionário processar com o método de percurso desenvolvido e visualizar o resultado Os testes desta opção devem constar no relatório f A partir de algum dos métodos de percurso modifiqueo para receber a idade percorrer a BST calcular e apresentar os dados dos funcionários com idade maior do que a informada Crie uma opção do menu e um método no arquivo que contém o main que permita ler a idade e chamar o método de percurso implementado Os testes desta opção devem constar no relatório Esta atividade pode ser em grupo de até 3 pessoas UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Cada exercícioopção deve constar no relatório a seguir Colocar pelo menos 2 testes de cada uma das opções Além disso criar um Apêndice no relatório contendo todos os códigos fontes modificados dos arquivos originais fornecidos Depois enviar compactado o relatório pela área correspondente do Moodle com os códigos fontes completos RELATÓRIO A Criação da Classe Funcionário class Funcionario public int id identificação char categoria categoria P Presencial O Home Office H Híbrido stdstring nome nome stdstring cargo cargo char sexo sexo F feminino M masculino int idade idade double salario salário Construtor Funcionarioint id char categoria stdstring nome stdstring cargo char sexo int idade double salario thisid id thiscategoria categoria thisnome nome thiscargo cargo thissexo sexo thisidade idade thissalario salario UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST B Criando o perfil para cada funcionário Adicione alguns funcionários à árvore bstinsertnew Funcionario1 P João Engenheiro M 30 50000 bstinsertnew Funcionario2 H Maria Analista F 28 45000 bstinsertnew Funcionario3 O Carlos Programador M 35 60000 bstinsertnew Funcionario4 P Bruno Atendente M 40 35000 bstinsertnew Funcionario5 H Roberto Analista M 33 55000 bstinsertnew Funcionario6 O Clara Programador F 27 65000 C Código para realizar o calculo de custos total de salários Método para calcular o gasto total com salários double calcularSalario return calcularSalarioroot double calcularSalarioNode node ifnode nullptr return 00 else return node funcionario salario calcularSalarionode left calcularSalarionode right Utilizando a função para calcular o custo total com salários UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST D Código para apresentar as pessoas por sexo Método para contar funcionários por sexo int contarPorSexochar sexo return contarPorSexoroot sexo int contarPorSexoNode node char sexo ifnode nullptr return 0 else ifnode funcionario sexo sexo return 1 contarPorSexonode left sexo contarPorSexonode right sexo else return contarPorSexonode left sexo contarPorSexonode right sexo Utilizando a função para apresentar quantas pessoas a empresa tem de cada sexo UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST E Código para apresentar a quantidade de pessoas por categoria Método para contar funcionários por categoria int contarPorCategoriachar categoria return contarPorCategoriaroot categoria int contarPorCategoriaNode node char categoria ifnode nullptr return 0 else ifnode funcionario categoria categoria return 1 contarPorCategorianode left categoria contarPorCategorianode right categoria else return contarPorCategorianode left categoria contarPorCategorianode right categoria UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Utilizando a função para apresentar a quantidade de funcionários por categoria POH F Código para apresentar os funcionários a partir de uma idade pré estabelecida Método para listar funcionários com idade maior que a informada void listarPorIdadeint idade listarPorIdaderoot idade void listarPorIdadeNode node int idade ifnode nullptr listarPorIdadenode left idade ifnode funcionario idade idade stdcout Funcionário ID nodefuncionarioid stdendl listarPorIdadenode right idade UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Utilizando a função para apresentar os funcionários a partir de uma idade X UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST include iostream include string using namespace std class Funcionario public int id identificação char categoria categoria P Presencial O Home Office H Híbrido stdstring nome nome stdstring cargo cargo char sexo sexo F feminino M masculino int idade idade double salario salário Construtor Funcionarioint id char categoria stdstring nome stdstring cargo char sexo int idade double salario thisid id thiscategoria categoria thisnome nome thiscargo cargo thissexo sexo thisidade idade thissalario salario class Node public Funcionario funcionario Dados do funcionário Node left Nó esquerdo Node right Nó direito Construtor NodeFuncionario funcionario thisfuncionario funcionario thisleft nullptr thisright nullptr class BST private UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Node root Raiz da árvore Método auxiliar para inserir um novo nó na árvore Node insertNode node Funcionario funcionario if node nullptr return new Nodefuncionario if funcionarioid nodefuncionarioid nodeleft insertnodeleft funcionario else if funcionarioid nodefuncionarioid noderight insertnoderight funcionario return node Método auxiliar para buscar um nó na árvore Node searchNode node int id if node nullptr nodefuncionarioid id return node if nodefuncionarioid id return searchnoderight id return searchnodeleft id Método auxiliar para encontrar o nó com o menor valor Node minValueNodeNode node Node current node while current currentleft nullptr current currentleft return current Método auxiliar para remover um nó da árvore Node removeNode root int id if root nullptr return root if id rootfuncionarioid rootleft removerootleft id UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST else ifid rootfuncionarioid rootright removerootright id else ifrootleft nullptr Node temp rootright delete root return temp else ifrootright nullptr Node temp rootleft delete root return temp Node temp minValueNoderootright rootfuncionario tempfuncionario rootright removerootright tempfuncionarioid return root Método auxiliar para percorrer a árvore em ordem void inorderNode node if node nullptr inordernodeleft stdcout Funcionário ID nodefuncionarioid stdendl inordernoderight public BST root nullptr Construtor Método para inserir um novo nó na árvore void insertFuncionario funcionario root insertroot funcionario Método para buscar um nó na árvore Funcionario searchint id Node result searchroot id return result nullptr resultfuncionario nullptr UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Método para remover um nó da árvore void removeint id root removeroot id Método para percorrer a árvore em ordem void inorder inorderroot Método para calcular o gasto total com salários double calcularSalario return calcularSalarioroot double calcularSalarioNode node ifnode nullptr return 00 else return node funcionario salario calcularSalarionode left calcularSalarionode right Método para contar funcionários por sexo int contarPorSexochar sexo return contarPorSexoroot sexo int contarPorSexoNode node char sexo ifnode nullptr return 0 else ifnode funcionario sexo sexo return 1 contarPorSexonode left sexo contarPorSexonode right sexo else return contarPorSexonode left sexo contarPorSexonode right sexo Método para contar funcionários por categoria UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST int contarPorCategoriachar categoria return contarPorCategoriaroot categoria int contarPorCategoriaNode node char categoria ifnode nullptr return 0 else ifnode funcionario categoria categoria return 1 contarPorCategorianode left categoria contarPorCategorianode right categoria else return contarPorCategorianode left categoria contarPorCategorianode right categoria Método para listar funcionários com idade maior que a informada void listarPorIdadeint idade listarPorIdaderoot idade void listarPorIdadeNode node int idade ifnode nullptr listarPorIdadenode left idade ifnode funcionario idade idade stdcout Funcionário ID nodefuncionarioid stdendl listarPorIdadenode right idade int main BST bst Adicione alguns funcionários à árvore bstinsertnew Funcionario1 P João Engenheiro M 30 50000 bstinsertnew Funcionario2 H Maria Analista F 28 45000 bstinsertnew Funcionario3 O Carlos Programador M 35 60000 UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST bstinsertnew Funcionario4 P Bruno Atendente M 40 35000 bstinsertnew Funcionario5 H Roberto Analista M 33 55000 bstinsertnew Funcionario6 O Clara Programador F 27 65000 Crie um menu para o usuário int opcao do stdcout 1 Calcular gasto com salários stdcout 2 Contar funcionários por sexo stdcout 3 Contar funcionários por categoria stdcout 4 Listar funcionários com idade maior que a informada stdcout 5 Sair stdcout Escolha uma opção stdcin opcao switch opcao case 1 Chame o método para calcular o gasto com salários double totalSalario totalSalario bstcalcularSalario stdcout O gasto total com salários é totalSalario break case 2 Chame o método para contar funcionários por sexo char sexo stdcout Informe o sexo FM stdcin sexo int totalSexo totalSexo bstcontarPorSexosexo stdcout O total de funcionários do sexo sexo é totalSexo break case 3 Chame o método para contar funcionários por categoria char categoria stdcout Informe a categoria POH stdcin categoria int totalCategoria totalCategoria bstcontarPorCategoriacategoria stdcout O total de funcionários da categoria categoria é totalCategoria break UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST case 4 Chame o método para listar funcionários com idade maior que a informada int idade stdcout Informe a idade stdcin idade bstlistarPorIdadeidade break case 5 stdcout Saindo break default stdcout Opção inválida while opcao 5 return 0
Send your question to AI and receive an answer instantly
Recommended for you
4
Atividade-Pratica-Estrutura-de-Dados-Analise-de-Dados-com-Lista-Ligada
Estrutura de Dados
MACKENZIE
5
Editor de Programas Simples em Lista Encadeada - Atividade Acadêmica
Estrutura de Dados
MACKENZIE
1
Plano de Aulas de Programação em C
Estrutura de Dados
MACKENZIE
5
Análise de Dataset Remuneração Funcionários Públicos SP com Árvore de Busca Binária - Data Science
Estrutura de Dados
MACKENZIE
4
Implementacao TAD-Lista-Ligada-Encadeada-em-C
Estrutura de Dados
MACKENZIE
4
Analise de Dados Bibliograficos com Lista Ligada em Estrutura de Dados - Atividade Academica
Estrutura de Dados
MACKENZIE
7
Relatório Laboratorial Ciencia de Dados Analise Netflix Arvores AVL e BST
Estrutura de Dados
MACKENZIE
4
Atividade Lab1b: Implementação do TAD Fila Estática
Estrutura de Dados
MACKENZIE
4
Atividade Apl2 Analise de Dados com Lista Ligada em C - Estrutura de Dados
Estrutura de Dados
MACKENZIE
18
Análise do Código de Árvores de Busca Binária e Exercícios
Estrutura de Dados
MACKENZIE
Preview text
UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Atividade em Grupo Máx 3 Nome do Aluno TIA Texto da Atividade 1 Uma empresa deseja realizar determinadas estatísticas a respeito dos seus funcionários Para isso a equipe técnica optou por utilizar uma BST e fazer uso dos métodos de percurso para obter essas estatísticas Sabese que os dados de um funcionário são identificação número inteiro único por funcionário categoria P Presencial O Home Office H Híbrido caractere nome String cargo String sexo F feminino M masculino caractere idade inteiro salário real A partir disso pedese a Elabore a classe Funcionário b Tendo por base o código da BST apresentado em aula alterar os arquivos da BST e os métodos de seus códigos fontes para permitir o armazenamento de objetos da classe Funcionário Altere os métodos do arquivo que contém o main e faça testes Os testes desta opção devem constar no relatório c A partir de algum dos métodos de percurso modifiqueo para percorrer a BST calcular o gasto com os salários dos funcionários da empresa e retornar o resultado dos gastos Crie uma opção do menu e um método no arquivo que contém o main que permita chamar o método e visualizar o resultado calculado Os testes desta opção devem constar no relatório d A partir de algum dos métodos de percurso modifiqueo para receber o sexo do funcionário como parâmetro percorra a BST calcule e retorne o total de funcionários com o sexo informado Crie uma opção do menu e um método no arquivo que contém o main que permita ler o sexo do funcionário chamar o método de percurso implementado e visualizar o resultado Os testes desta opção devem constar no relatório e A partir de algum dos métodos de percurso modifiqueo para receber a categoria de um funcionário percorrer a BST calcular e retornar o total de funcionários dessa categoria Criar uma opção do menu e um método no arquivo que contém o main que permita ler a categoria do funcionário processar com o método de percurso desenvolvido e visualizar o resultado Os testes desta opção devem constar no relatório f A partir de algum dos métodos de percurso modifiqueo para receber a idade percorrer a BST calcular e apresentar os dados dos funcionários com idade maior do que a informada Crie uma opção do menu e um método no arquivo que contém o main que permita ler a idade e chamar o método de percurso implementado Os testes desta opção devem constar no relatório Esta atividade pode ser em grupo de até 3 pessoas UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Cada exercícioopção deve constar no relatório a seguir Colocar pelo menos 2 testes de cada uma das opções Além disso criar um Apêndice no relatório contendo todos os códigos fontes modificados dos arquivos originais fornecidos Depois enviar compactado o relatório pela área correspondente do Moodle com os códigos fontes completos RELATÓRIO UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Atividade em Grupo Máx 3 Nome do Aluno TIA Ivie Namura 41904771 Texto da Atividade 1 Uma empresa deseja realizar determinadas estatísticas a respeito dos seus funcionários Para isso a equipe técnica optou por utilizar uma BST e fazer uso dos métodos de percurso para obter essas estatísticas Sabese que os dados de um funcionário são identificação número inteiro único por funcionário categoria P Presencial O Home Office H Híbrido caractere nome String cargo String sexo F feminino M masculino caractere idade inteiro salário real A partir disso pedese a Elabore a classe Funcionário b Tendo por base o código da BST apresentado em aula alterar os arquivos da BST e os métodos de seus códigos fontes para permitir o armazenamento de objetos da classe Funcionário Altere os métodos do arquivo que contém o main e faça testes Os testes desta opção devem constar no relatório c A partir de algum dos métodos de percurso modifiqueo para percorrer a BST calcular o gasto com os salários dos funcionários da empresa e retornar o resultado dos gastos Crie uma opção do menu e um método no arquivo que contém o main que permita chamar o método e visualizar o resultado calculado Os testes desta opção devem constar no relatório d A partir de algum dos métodos de percurso modifiqueo para receber o sexo do funcionário como parâmetro percorra a BST calcule e retorne o total de funcionários com o sexo informado Crie uma opção do menu e um método no arquivo que contém o main que permita ler o sexo do funcionário chamar o método de percurso implementado e visualizar o resultado Os testes desta opção devem constar no relatório e A partir de algum dos métodos de percurso modifiqueo para receber a categoria de um funcionário percorrer a BST calcular e retornar o total de funcionários dessa categoria Criar uma opção do menu e um método no arquivo que contém o main que permita ler a categoria do funcionário processar com o método de percurso desenvolvido e visualizar o resultado Os testes desta opção devem constar no relatório f A partir de algum dos métodos de percurso modifiqueo para receber a idade percorrer a BST calcular e apresentar os dados dos funcionários com idade maior do que a informada Crie uma opção do menu e um método no arquivo que contém o main que permita ler a idade e chamar o método de percurso implementado Os testes desta opção devem constar no relatório Esta atividade pode ser em grupo de até 3 pessoas UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Cada exercícioopção deve constar no relatório a seguir Colocar pelo menos 2 testes de cada uma das opções Além disso criar um Apêndice no relatório contendo todos os códigos fontes modificados dos arquivos originais fornecidos Depois enviar compactado o relatório pela área correspondente do Moodle com os códigos fontes completos RELATÓRIO A Criação da Classe Funcionário class Funcionario public int id identificação char categoria categoria P Presencial O Home Office H Híbrido stdstring nome nome stdstring cargo cargo char sexo sexo F feminino M masculino int idade idade double salario salário Construtor Funcionarioint id char categoria stdstring nome stdstring cargo char sexo int idade double salario thisid id thiscategoria categoria thisnome nome thiscargo cargo thissexo sexo thisidade idade thissalario salario UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST B Criando o perfil para cada funcionário Adicione alguns funcionários à árvore bstinsertnew Funcionario1 P João Engenheiro M 30 50000 bstinsertnew Funcionario2 H Maria Analista F 28 45000 bstinsertnew Funcionario3 O Carlos Programador M 35 60000 bstinsertnew Funcionario4 P Bruno Atendente M 40 35000 bstinsertnew Funcionario5 H Roberto Analista M 33 55000 bstinsertnew Funcionario6 O Clara Programador F 27 65000 C Código para realizar o calculo de custos total de salários Método para calcular o gasto total com salários double calcularSalario return calcularSalarioroot double calcularSalarioNode node ifnode nullptr return 00 else return node funcionario salario calcularSalarionode left calcularSalarionode right Utilizando a função para calcular o custo total com salários UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST D Código para apresentar as pessoas por sexo Método para contar funcionários por sexo int contarPorSexochar sexo return contarPorSexoroot sexo int contarPorSexoNode node char sexo ifnode nullptr return 0 else ifnode funcionario sexo sexo return 1 contarPorSexonode left sexo contarPorSexonode right sexo else return contarPorSexonode left sexo contarPorSexonode right sexo Utilizando a função para apresentar quantas pessoas a empresa tem de cada sexo UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST E Código para apresentar a quantidade de pessoas por categoria Método para contar funcionários por categoria int contarPorCategoriachar categoria return contarPorCategoriaroot categoria int contarPorCategoriaNode node char categoria ifnode nullptr return 0 else ifnode funcionario categoria categoria return 1 contarPorCategorianode left categoria contarPorCategorianode right categoria else return contarPorCategorianode left categoria contarPorCategorianode right categoria UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Utilizando a função para apresentar a quantidade de funcionários por categoria POH F Código para apresentar os funcionários a partir de uma idade pré estabelecida Método para listar funcionários com idade maior que a informada void listarPorIdadeint idade listarPorIdaderoot idade void listarPorIdadeNode node int idade ifnode nullptr listarPorIdadenode left idade ifnode funcionario idade idade stdcout Funcionário ID nodefuncionario id stdendl listarPorIdadenode right idade UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Utilizando a função para apresentar os funcionários a partir de uma idade X UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Atividade em Grupo Máx 3 Nome do Aluno TIA Ivie Namura 41904771 Texto da Atividade 1 Uma empresa deseja realizar determinadas estatísticas a respeito dos seus funcionários Para isso a equipe técnica optou por utilizar uma BST e fazer uso dos métodos de percurso para obter essas estatísticas Sabese que os dados de um funcionário são identificação número inteiro único por funcionário categoria P Presencial O Home Office H Híbrido caractere nome String cargo String sexo F feminino M masculino caractere idade inteiro salário real A partir disso pedese a Elabore a classe Funcionário b Tendo por base o código da BST apresentado em aula alterar os arquivos da BST e os métodos de seus códigos fontes para permitir o armazenamento de objetos da classe Funcionário Altere os métodos do arquivo que contém o main e faça testes Os testes desta opção devem constar no relatório c A partir de algum dos métodos de percurso modifiqueo para percorrer a BST calcular o gasto com os salários dos funcionários da empresa e retornar o resultado dos gastos Crie uma opção do menu e um método no arquivo que contém o main que permita chamar o método e visualizar o resultado calculado Os testes desta opção devem constar no relatório d A partir de algum dos métodos de percurso modifiqueo para receber o sexo do funcionário como parâmetro percorra a BST calcule e retorne o total de funcionários com o sexo informado Crie uma opção do menu e um método no arquivo que contém o main que permita ler o sexo do funcionário chamar o método de percurso implementado e visualizar o resultado Os testes desta opção devem constar no relatório e A partir de algum dos métodos de percurso modifiqueo para receber a categoria de um funcionário percorrer a BST calcular e retornar o total de funcionários dessa categoria Criar uma opção do menu e um método no arquivo que contém o main que permita ler a categoria do funcionário processar com o método de percurso desenvolvido e visualizar o resultado Os testes desta opção devem constar no relatório f A partir de algum dos métodos de percurso modifiqueo para receber a idade percorrer a BST calcular e apresentar os dados dos funcionários com idade maior do que a informada Crie uma opção do menu e um método no arquivo que contém o main que permita ler a idade e chamar o método de percurso implementado Os testes desta opção devem constar no relatório Esta atividade pode ser em grupo de até 3 pessoas UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Cada exercícioopção deve constar no relatório a seguir Colocar pelo menos 2 testes de cada uma das opções Além disso criar um Apêndice no relatório contendo todos os códigos fontes modificados dos arquivos originais fornecidos Depois enviar compactado o relatório pela área correspondente do Moodle com os códigos fontes completos RELATÓRIO A Criação da Classe Funcionário class Funcionario public int id identificação char categoria categoria P Presencial O Home Office H Híbrido stdstring nome nome stdstring cargo cargo char sexo sexo F feminino M masculino int idade idade double salario salário Construtor Funcionarioint id char categoria stdstring nome stdstring cargo char sexo int idade double salario thisid id thiscategoria categoria thisnome nome thiscargo cargo thissexo sexo thisidade idade thissalario salario UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST B Criando o perfil para cada funcionário Adicione alguns funcionários à árvore bstinsertnew Funcionario1 P João Engenheiro M 30 50000 bstinsertnew Funcionario2 H Maria Analista F 28 45000 bstinsertnew Funcionario3 O Carlos Programador M 35 60000 bstinsertnew Funcionario4 P Bruno Atendente M 40 35000 bstinsertnew Funcionario5 H Roberto Analista M 33 55000 bstinsertnew Funcionario6 O Clara Programador F 27 65000 C Código para realizar o calculo de custos total de salários Método para calcular o gasto total com salários double calcularSalario return calcularSalarioroot double calcularSalarioNode node ifnode nullptr return 00 else return node funcionario salario calcularSalarionode left calcularSalarionode right Utilizando a função para calcular o custo total com salários UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST D Código para apresentar as pessoas por sexo Método para contar funcionários por sexo int contarPorSexochar sexo return contarPorSexoroot sexo int contarPorSexoNode node char sexo ifnode nullptr return 0 else ifnode funcionario sexo sexo return 1 contarPorSexonode left sexo contarPorSexonode right sexo else return contarPorSexonode left sexo contarPorSexonode right sexo Utilizando a função para apresentar quantas pessoas a empresa tem de cada sexo UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST E Código para apresentar a quantidade de pessoas por categoria Método para contar funcionários por categoria int contarPorCategoriachar categoria return contarPorCategoriaroot categoria int contarPorCategoriaNode node char categoria ifnode nullptr return 0 else ifnode funcionario categoria categoria return 1 contarPorCategorianode left categoria contarPorCategorianode right categoria else return contarPorCategorianode left categoria contarPorCategorianode right categoria UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Utilizando a função para apresentar a quantidade de funcionários por categoria POH F Código para apresentar os funcionários a partir de uma idade pré estabelecida Método para listar funcionários com idade maior que a informada void listarPorIdadeint idade listarPorIdaderoot idade void listarPorIdadeNode node int idade ifnode nullptr listarPorIdadenode left idade ifnode funcionario idade idade stdcout Funcionário ID nodefuncionarioid stdendl listarPorIdadenode right idade UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Utilizando a função para apresentar os funcionários a partir de uma idade X UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST include iostream include string using namespace std class Funcionario public int id identificação char categoria categoria P Presencial O Home Office H Híbrido stdstring nome nome stdstring cargo cargo char sexo sexo F feminino M masculino int idade idade double salario salário Construtor Funcionarioint id char categoria stdstring nome stdstring cargo char sexo int idade double salario thisid id thiscategoria categoria thisnome nome thiscargo cargo thissexo sexo thisidade idade thissalario salario class Node public Funcionario funcionario Dados do funcionário Node left Nó esquerdo Node right Nó direito Construtor NodeFuncionario funcionario thisfuncionario funcionario thisleft nullptr thisright nullptr class BST private UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Node root Raiz da árvore Método auxiliar para inserir um novo nó na árvore Node insertNode node Funcionario funcionario if node nullptr return new Nodefuncionario if funcionarioid nodefuncionarioid nodeleft insertnodeleft funcionario else if funcionarioid nodefuncionarioid noderight insertnoderight funcionario return node Método auxiliar para buscar um nó na árvore Node searchNode node int id if node nullptr nodefuncionarioid id return node if nodefuncionarioid id return searchnoderight id return searchnodeleft id Método auxiliar para encontrar o nó com o menor valor Node minValueNodeNode node Node current node while current currentleft nullptr current currentleft return current Método auxiliar para remover um nó da árvore Node removeNode root int id if root nullptr return root if id rootfuncionarioid rootleft removerootleft id UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST else ifid rootfuncionarioid rootright removerootright id else ifrootleft nullptr Node temp rootright delete root return temp else ifrootright nullptr Node temp rootleft delete root return temp Node temp minValueNoderootright rootfuncionario tempfuncionario rootright removerootright tempfuncionarioid return root Método auxiliar para percorrer a árvore em ordem void inorderNode node if node nullptr inordernodeleft stdcout Funcionário ID nodefuncionarioid stdendl inordernoderight public BST root nullptr Construtor Método para inserir um novo nó na árvore void insertFuncionario funcionario root insertroot funcionario Método para buscar um nó na árvore Funcionario searchint id Node result searchroot id return result nullptr resultfuncionario nullptr UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST Método para remover um nó da árvore void removeint id root removeroot id Método para percorrer a árvore em ordem void inorder inorderroot Método para calcular o gasto total com salários double calcularSalario return calcularSalarioroot double calcularSalarioNode node ifnode nullptr return 00 else return node funcionario salario calcularSalarionode left calcularSalarionode right Método para contar funcionários por sexo int contarPorSexochar sexo return contarPorSexoroot sexo int contarPorSexoNode node char sexo ifnode nullptr return 0 else ifnode funcionario sexo sexo return 1 contarPorSexonode left sexo contarPorSexonode right sexo else return contarPorSexonode left sexo contarPorSexonode right sexo Método para contar funcionários por categoria UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST int contarPorCategoriachar categoria return contarPorCategoriaroot categoria int contarPorCategoriaNode node char categoria ifnode nullptr return 0 else ifnode funcionario categoria categoria return 1 contarPorCategorianode left categoria contarPorCategorianode right categoria else return contarPorCategorianode left categoria contarPorCategorianode right categoria Método para listar funcionários com idade maior que a informada void listarPorIdadeint idade listarPorIdaderoot idade void listarPorIdadeNode node int idade ifnode nullptr listarPorIdadenode left idade ifnode funcionario idade idade stdcout Funcionário ID nodefuncionarioid stdendl listarPorIdadenode right idade int main BST bst Adicione alguns funcionários à árvore bstinsertnew Funcionario1 P João Engenheiro M 30 50000 bstinsertnew Funcionario2 H Maria Analista F 28 45000 bstinsertnew Funcionario3 O Carlos Programador M 35 60000 UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST bstinsertnew Funcionario4 P Bruno Atendente M 40 35000 bstinsertnew Funcionario5 H Roberto Analista M 33 55000 bstinsertnew Funcionario6 O Clara Programador F 27 65000 Crie um menu para o usuário int opcao do stdcout 1 Calcular gasto com salários stdcout 2 Contar funcionários por sexo stdcout 3 Contar funcionários por categoria stdcout 4 Listar funcionários com idade maior que a informada stdcout 5 Sair stdcout Escolha uma opção stdcin opcao switch opcao case 1 Chame o método para calcular o gasto com salários double totalSalario totalSalario bstcalcularSalario stdcout O gasto total com salários é totalSalario break case 2 Chame o método para contar funcionários por sexo char sexo stdcout Informe o sexo FM stdcin sexo int totalSexo totalSexo bstcontarPorSexosexo stdcout O total de funcionários do sexo sexo é totalSexo break case 3 Chame o método para contar funcionários por categoria char categoria stdcout Informe a categoria POH stdcin categoria int totalCategoria totalCategoria bstcontarPorCategoriacategoria stdcout O total de funcionários da categoria categoria é totalCategoria break UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Estruturas de Dados II Laboratório Aplicação de BST case 4 Chame o método para listar funcionários com idade maior que a informada int idade stdcout Informe a idade stdcin idade bstlistarPorIdadeidade break case 5 stdcout Saindo break default stdcout Opção inválida while opcao 5 return 0