·

Análise de Sistemas ·

Linguagens de Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Critério de pontuação Inicializar alocação dinâmica do array de bruxos não realizada 0 pontos realizada parcialmente 015 pontos realizada completamente 03 pontos chamada de função inicializar bruxo não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos aumentar array de bruxo não realizada 0 pontos realizada parcialmente 025 pontos realizada completamente 05 pontos diminuir o array de bruxo não realizada 0 pontos realizada parcialmente 025 pontos realizada completamente 05 pontos alterar bruxo interação com usuário não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos alterar bruxo modificar valor no array não realizada 0 pontos realizada parcialmente 015 pontos realizada completamente 03 pontos modificar chamada da função obterbruxoPeloIndice não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos modificar implementação obterbruxoPeloIndice não realizada 0 pontos realizada parcialmente 01 pontos realizada completamente 02 pontos modificar chamada da função obterbruxoPeloCodigo não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos modificar implementação obterbruxoPeloCodigo não realizada 0 pontos realizada parcialmente 01 pontos realizada completamente 02 pontos Encerra bruxo liberação de memória do array de bruxos chamada e implementação não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos Inicializar alocação dinâmica do array de pacientes não realizada 0 pontos realizada parcialmente 015 pontos realizada completamente 03 pontos chamada de função inicializar paciente não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos aumentar array de paciente não realizada 0 pontos realizada parcialmente 025 pontos realizada completamente 05 pontos diminuir o array de paciente não realizada 0 pontos realizada parcialmente 025 pontos realizada completamente 05 pontos alterar paciente interação com usuário não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos alterar paciente modificar valor no array não realizada 0 pontos realizada parcialmente 015 pontos realizada completamente 03 pontos modificar chamada da função obterpacientePeloIndice não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos modificar implementação obterpacientePeloIndice não realizada 0 pontos realizada parcialmente 01 pontos realizada completamente 02 pontos modificar chamada da função obterpacientePeloCodigo não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos modificar implementação obterpacientePeloCodigo não realizada 0 pontos realizada parcialmente 01 pontos realizada completamente 02 pontos Encerra paciente liberação de memória do array de pacientes chamada e implementação não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos Inicializar alocação dinâmica do array de poções não realizada 0 pontos realizada parcialmente 015 pontos realizada completamente 03 pontos chamada de função inicializar poção não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos aumentar array de poção não realizada 0 pontos realizada parcialmente 025 pontos realizada completamente 05 pontos diminuir o array de poção não realizada 0 pontos realizada parcialmente 025 pontos realizada completamente 05 pontos alterar poção interação com usuário não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos alterar poção modificar valor no array não realizada 0 pontos realizada parcialmente 015 pontos realizada completamente 03 pontos modificar chamada da função obterpoçãoPeloIndice não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos modificar implementação obterpoçãoPeloIndice não realizada 0 pontos realizada parcialmente 01 pontos realizada completamente 02 pontos modificar chamada da função obterpoçãoPeloCodigo não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos modificar implementação obterpoçãoPeloCodigo não realizada 0 pontos realizada parcialmente 01 pontos realizada completamente 02 pontos Encerra poção liberação de memória do array de poções chamada e implementação não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos Inicializar alocação dinâmica do array de tratamentos não realizada 0 pontos realizada parcialmente 015 pontos realizada completamente 03 pontos chamada de função inicializar tratamento não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos aumentar array de tratamento não realizada 0 pontos realizada parcialmente 025 pontos realizada completamente 05 pontos diminuir o array de tratamento não realizada 0 pontos realizada parcialmente 025 pontos realizada completamente 05 pontos ampliar tratamento interação com usuário não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos ampliar tratamento modificar valor no array não realizada 0 pontos realizada parcialmente 015 pontos realizada completamente 03 pontos modificar chamada da função obterTratamentoPeloIndice não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos modificar implementação obterTratamentoPeloIndice não realizada 0 pontos realizada parcialmente 01 pontos realizada completamente 02 pontos modificar chamada da função obterTratamentoPeloCodigo não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos modificar implementação obterTratamentoPeloCodigo não realizada 0 pontos realizada parcialmente 01 pontos realizada completamente 02 pontos Encerra poção liberação de memória do array de tratamentochamada e implementação não realizada 0 pontos realizada parcialmente 005 pontos realizada completamente 01 pontos Última modificação Tuesday 17 Oct 2023 2114 Comentários ao envio Comentários 0 Adicionar tarefa Fazer alterações em seu envio Avaliação 2 Considere o diagrama ER abaixo As entidades Bruxo Paciente Pocao e o relacionamento Tratamento precisarão ser desenvolvidos como structsRegistros Os campos do struct são indicados por meio dos atributos O sistema terá um menu principal com laço de repetição Ao selecionar uma opção desse menu será exibido um submenu Lembrese de adaptar o submenu de locações conforme a necessidade Veja abaixo MENU PRINCIPAL 0 Sair 1 Bruxo 2 Paciente 3 Pocao 4 Tratameto Submenu para bruxo paciente e pocao 0 Sair 1 Listar 2 Cadastrar 3 Alterar 4 Excluir Submenu para tratamento 0 Sair 1 Listar tratamentos do paciente 2 Listar tratamentos do bruxo 3 Iniciar tratamento 4 Ampliar tratamento 5 Excluir tratamento ENTREGA PARCIAL 0211 Correção a partir do dia 0311 ENTREGA FINAL 1611 Correção a partir do dia 1711 ORIENTAÇÕES Os submenus devem conter a operações de listar e alterar Observe que os submenus devem ficar num LOOP por isso existe a operação de 0 Sair Alocação dinâmica o sistema deverá alocar dinamicamente os arrays de structs Inicialmente o sistema alocará dinamicamente MALLOC os arrays com tamanho 5 Sempre que 100 de um array for ocupado o sistema deverá automaticamente ampliar o tamanho desse array REALLOC Caso a ocupação de um array tornarse inferior a 40 o sistema deverá automaticamente diminuir o tamanho desse array REALLOC Durante a ampliação ou redução dos arrays garanta que não haverá perda de dados O arquivo main deverá ser organizado com funções Nesse arquivo será implementada a interação com o usuário scanf printf gets puts etc O sistema será organizado em arquivos sendo que haverá um par de arquivos header extensão H e de código extensão C para cada entidade e cada relacionamento No arquivo header coloque os tipos de dados e as assinaturas das funções No arquivo de código extensão C coloque as variáveis globais e a implementação das funções No arquivo header e de código fonte extensão C não pode fazer entrada e saída de dados com o usuário scanf printf gets puts etc Nos arquivos você deverá seguir as seguintes orientações Você utilizará uma das opções de assinaturas de funções apresentado abaixo Exemplo para o caso do bruxo OPÇÃO 1 OPÇÃO 2 int InicializarBruxos int EncerraBruxos int SalvarBruxoBruxo b int QuantidadeBruxos Bruxo ObterBruxoPeloIndiceint indice Bruxo ObterBruxoPeloCodigoint codigo int AtualizarBruxoBruxo b int ApagarBruxoPeloCodigoint codigo int ApagarBruxoPeloNomechar nome int InicializarBruxos int EncerraBruxos int SalvarBruxoBruxo b int QuantidadeBruxos int ObterBruxoPeloIndiceint indice Bruxo b int ObterBruxoPeloCodigoint codigo Bruxo b int AtualizarBruxoBruxo b int ApagarBruxoPeloCodigoint codigo int ApagarBruxoPeloNomechar nome ORIENTAÇÃO ORIENTAÇÃO Na main você não poderá ter acesso ao endereço de memória do array e do elemento do array Faça um malloc dentro da função obterBruxo Na main você precisará fazer o free do ponteiro Se não for possível obter o struct solicitado o ponteiro deve retornar NULL Na main você não poderá ter acesso ao endereço de memória do array e do elemento do array Faça a passagem de parâmetro por referência para dentro da função