·
Ciência da Computação ·
Linguagens de Programação
Send your question to AI and receive an answer instantly
Preview text
Universidade Federal de Minas Gerais Departamento de Ciˆencia da Computacao Programacao e Desenvolvimento de Software I 1o Semestre de 2020 Trabalho Pratico 2 Trabalhando Com Arquivos O objetivo desse Trabalho Pratico e praticar a manipulacao de arquivos em C e a criacao de funcoes para execucao de determinados procedimentos O trabalho pratico consiste na implementacao de um sistema de controle de funcionarios que recebera como entrada a lista de funcionarios em um arquivo de extensao TXT O programa inicialmente deve ler as entradas contendo informacoes sobre os funcionarios armazenar essas entradas em alguma estrutura interna em memoria e realizar as operacoes solicitadas Seu programa deve ser capaz de receber dados por parˆametro de linha de comando bem como trabalhar com leitura e gravacao de arquivos de texto Entrada A entrada possui varias linhas onde cada linha tem detalhes sobre determinado funcionario A primeira linha possui a quantidade Q de funcionarios que constam na lista 1 Q 1000 As proximas 4 Q linhas representam os dados de cada funcionario na seguinte ordem Um dado por linha Nome do Funcionario Salario Data de Admissao Departamento Execucao O programa deve ser executado a partir da linha de comando com os seguintes parˆametros p2 param1 param2 param3 param1 Obrigatorio Nome do arquivo de entrada Ex inputtxt IMPORTANTE O arquivo TXT deve estar no mesmo diretorio do programa param2 Obrigatorio Numero correspondente a funcao a ser executada a saber 1 Exportar Lista de Funcionarios 2 Listar Funcionarios por Departamento 3 Encontrar Funcionario Mais Antigo 4 Encontrar Funcionario Mais Antigo do Departamento 5 Calcular Media Salarial 1 6 Calcular Media Salarial por Departamento param3 Opcional Nome do arquivo de saıda se funcao 1 ou nome do departa mento desejado para funcoes 2 4 e 6 Exemplo de cada chamada considerando o arquivo inputtxt como arquivo de entrada 1 Exportar Lista de Funcionarios p2 inputtxt 1 outputtxt 2 Listar Funcionarios por Departamento p2 inputtxt 2 Financeiro 3 Encontrar Funcionario Mais Antigo p2 inputtxt 3 4 Encontrar Funcionario Mais Antigo do Departamento p2 inputtxt 4 Administrativo 5 Calcular Media Salarial p2 inputtxt 5 6 Calcular Media Salarial por Departamento p2 inputtxt 6 Gerencia Saıda A saıda esperada para cada uma das opcoes e 1 Exportar Lista de Funcionarios O programa deve gerar um arquivo TXT com o nome passado pelo param3 salvo no mesmo diretorio de execucao com a lista de todos os funcionarios EM ORDEM ALFABETICA com os mesmos dados da entrada um dado por linha Nome Salario Data de Admissao e Departamento 2 Listar Funcionarios por Departamento O programa devera imprimir na saıda padrao tela a lista dos funcionarios do setor passado no param3 EM ORDEM ALFABETICA com todos os dados de cada funcionario um dado por linha Nome Salario Data de Admissao e Departamento 3 Encontrar Funcionario Mais Antigo O programa devera imprimir na saıda padrao tela todos os dados do funcionario mais antigo com a data de admissao mais antiga da lista um dado por linha Nome Salario Data de Admissao e Departamento 4 Encontrar Funcionario Mais Antigo do Departamento O programa devera imprimir na saıda padrao tela todos os dados do funcionario mais antigo pertencente ao departamento passado no param3 com a data de ad missao mais antiga do departamento um dado por linha Nome Salario Data de Admissao e Departamento 5 Calcular Media Salarial O programa devera imprimir na saıda padrao tela apenas o valor da media salarial de todos os funcionarios da lista Ex 345522 6 Calcular Media Salarial por Departamento O programa devera imprimir na saıda padrao tela apenas o valor da media salarial de todos os funcionarios pertencente ao departamento passado no param3 Ex 450050 2 IMPORTANTE As medias devem ser formatadas para exibirem apenas duas casas decimais Exemplos Entrada 1 4 Quantidade de Funcionarios 2 Jose da Silva Sauro 3 200000 4 24072016 5 Financeiro 6 Joao dos Santos Aguiar 7 370000 8 13082011 9 Administrativo 10 Fulano de Tal de Oliveira 11 150000 12 03022017 13 Administrativo 14 Beltrano Junior Siqueira 15 475000 16 24062009 17 Gerencia Linha de Execucao p2 inputtxt 1 outputtxt Saıda outputtxt Beltrano Junior Siqueira 475000 24062009 Gerencia Fulano de Tal de Oliveira 150000 03022017 Administrativo Joao dos Santos Aguiar 370000 13082011 Administrativo Jose da Silva Sauro 200000 24072016 Financeiro Entrada 1 4 Quantidade de Funcionarios 2 Jose da Silva Sauro 3 200000 4 24072016 5 Financeiro 6 Joao dos Santos Aguiar 7 370000 8 13082011 9 Administrativo 10 Fulano de Tal de Oliveira 11 150000 12 03022017 13 Administrativo 14 Beltrano Junior Siqueira 15 475000 16 24062009 17 Gerencia Linha de Execucao p2 inputtxt 2 Administrativo Saıda Fulano de Tal de Oliveira 150000 03022017 Administrativo Joao dos Santos Aguiar 370000 13082011 Administrativo 3 Entrada 1 4 Quantidade de Funcionarios 2 Jose da Silva Sauro 3 200000 4 24072016 5 Financeiro 6 Joao dos Santos Aguiar 7 370000 8 13082011 9 Administrativo 10 Fulano de Tal de Oliveira 11 150000 12 03022017 13 Administrativo 14 Beltrano Junior Siqueira 15 475000 16 24062009 17 Gerencia Linha de Execucao p2 inputtxt 3 Saıda Beltrano Junior Siqueira 475000 24062009 Gerencia Entrada 1 4 Quantidade de Funcionarios 2 Jose da Silva Sauro 3 200000 4 24072016 5 Financeiro 6 Joao dos Santos Aguiar 7 370000 8 13082011 9 Administrativo 10 Fulano de Tal de Oliveira 11 150000 12 03022017 13 Administrativo 14 Beltrano Junior Siqueira 15 475000 16 24062009 17 Gerencia Linha de Execucao p2 inputtxt 5 Saıda 298750 Entrega Copias de trabalho sao inaceitaveis podem ser detectadas automaticamente e serao repas sadas ao conselho disciplinar alem de receberem nota 0 ZERO Seu codigo deve ser desenvolvido na linguagem C e entregue atraves do Moodle Vocˆe devera gravar um pe queno vıdeo maximo 2 minutos explicando rapidamente o funcionamento do seu codigo Esse vıdeo deve ser entregue no moodle 4
Send your question to AI and receive an answer instantly
Preview text
Universidade Federal de Minas Gerais Departamento de Ciˆencia da Computacao Programacao e Desenvolvimento de Software I 1o Semestre de 2020 Trabalho Pratico 2 Trabalhando Com Arquivos O objetivo desse Trabalho Pratico e praticar a manipulacao de arquivos em C e a criacao de funcoes para execucao de determinados procedimentos O trabalho pratico consiste na implementacao de um sistema de controle de funcionarios que recebera como entrada a lista de funcionarios em um arquivo de extensao TXT O programa inicialmente deve ler as entradas contendo informacoes sobre os funcionarios armazenar essas entradas em alguma estrutura interna em memoria e realizar as operacoes solicitadas Seu programa deve ser capaz de receber dados por parˆametro de linha de comando bem como trabalhar com leitura e gravacao de arquivos de texto Entrada A entrada possui varias linhas onde cada linha tem detalhes sobre determinado funcionario A primeira linha possui a quantidade Q de funcionarios que constam na lista 1 Q 1000 As proximas 4 Q linhas representam os dados de cada funcionario na seguinte ordem Um dado por linha Nome do Funcionario Salario Data de Admissao Departamento Execucao O programa deve ser executado a partir da linha de comando com os seguintes parˆametros p2 param1 param2 param3 param1 Obrigatorio Nome do arquivo de entrada Ex inputtxt IMPORTANTE O arquivo TXT deve estar no mesmo diretorio do programa param2 Obrigatorio Numero correspondente a funcao a ser executada a saber 1 Exportar Lista de Funcionarios 2 Listar Funcionarios por Departamento 3 Encontrar Funcionario Mais Antigo 4 Encontrar Funcionario Mais Antigo do Departamento 5 Calcular Media Salarial 1 6 Calcular Media Salarial por Departamento param3 Opcional Nome do arquivo de saıda se funcao 1 ou nome do departa mento desejado para funcoes 2 4 e 6 Exemplo de cada chamada considerando o arquivo inputtxt como arquivo de entrada 1 Exportar Lista de Funcionarios p2 inputtxt 1 outputtxt 2 Listar Funcionarios por Departamento p2 inputtxt 2 Financeiro 3 Encontrar Funcionario Mais Antigo p2 inputtxt 3 4 Encontrar Funcionario Mais Antigo do Departamento p2 inputtxt 4 Administrativo 5 Calcular Media Salarial p2 inputtxt 5 6 Calcular Media Salarial por Departamento p2 inputtxt 6 Gerencia Saıda A saıda esperada para cada uma das opcoes e 1 Exportar Lista de Funcionarios O programa deve gerar um arquivo TXT com o nome passado pelo param3 salvo no mesmo diretorio de execucao com a lista de todos os funcionarios EM ORDEM ALFABETICA com os mesmos dados da entrada um dado por linha Nome Salario Data de Admissao e Departamento 2 Listar Funcionarios por Departamento O programa devera imprimir na saıda padrao tela a lista dos funcionarios do setor passado no param3 EM ORDEM ALFABETICA com todos os dados de cada funcionario um dado por linha Nome Salario Data de Admissao e Departamento 3 Encontrar Funcionario Mais Antigo O programa devera imprimir na saıda padrao tela todos os dados do funcionario mais antigo com a data de admissao mais antiga da lista um dado por linha Nome Salario Data de Admissao e Departamento 4 Encontrar Funcionario Mais Antigo do Departamento O programa devera imprimir na saıda padrao tela todos os dados do funcionario mais antigo pertencente ao departamento passado no param3 com a data de ad missao mais antiga do departamento um dado por linha Nome Salario Data de Admissao e Departamento 5 Calcular Media Salarial O programa devera imprimir na saıda padrao tela apenas o valor da media salarial de todos os funcionarios da lista Ex 345522 6 Calcular Media Salarial por Departamento O programa devera imprimir na saıda padrao tela apenas o valor da media salarial de todos os funcionarios pertencente ao departamento passado no param3 Ex 450050 2 IMPORTANTE As medias devem ser formatadas para exibirem apenas duas casas decimais Exemplos Entrada 1 4 Quantidade de Funcionarios 2 Jose da Silva Sauro 3 200000 4 24072016 5 Financeiro 6 Joao dos Santos Aguiar 7 370000 8 13082011 9 Administrativo 10 Fulano de Tal de Oliveira 11 150000 12 03022017 13 Administrativo 14 Beltrano Junior Siqueira 15 475000 16 24062009 17 Gerencia Linha de Execucao p2 inputtxt 1 outputtxt Saıda outputtxt Beltrano Junior Siqueira 475000 24062009 Gerencia Fulano de Tal de Oliveira 150000 03022017 Administrativo Joao dos Santos Aguiar 370000 13082011 Administrativo Jose da Silva Sauro 200000 24072016 Financeiro Entrada 1 4 Quantidade de Funcionarios 2 Jose da Silva Sauro 3 200000 4 24072016 5 Financeiro 6 Joao dos Santos Aguiar 7 370000 8 13082011 9 Administrativo 10 Fulano de Tal de Oliveira 11 150000 12 03022017 13 Administrativo 14 Beltrano Junior Siqueira 15 475000 16 24062009 17 Gerencia Linha de Execucao p2 inputtxt 2 Administrativo Saıda Fulano de Tal de Oliveira 150000 03022017 Administrativo Joao dos Santos Aguiar 370000 13082011 Administrativo 3 Entrada 1 4 Quantidade de Funcionarios 2 Jose da Silva Sauro 3 200000 4 24072016 5 Financeiro 6 Joao dos Santos Aguiar 7 370000 8 13082011 9 Administrativo 10 Fulano de Tal de Oliveira 11 150000 12 03022017 13 Administrativo 14 Beltrano Junior Siqueira 15 475000 16 24062009 17 Gerencia Linha de Execucao p2 inputtxt 3 Saıda Beltrano Junior Siqueira 475000 24062009 Gerencia Entrada 1 4 Quantidade de Funcionarios 2 Jose da Silva Sauro 3 200000 4 24072016 5 Financeiro 6 Joao dos Santos Aguiar 7 370000 8 13082011 9 Administrativo 10 Fulano de Tal de Oliveira 11 150000 12 03022017 13 Administrativo 14 Beltrano Junior Siqueira 15 475000 16 24062009 17 Gerencia Linha de Execucao p2 inputtxt 5 Saıda 298750 Entrega Copias de trabalho sao inaceitaveis podem ser detectadas automaticamente e serao repas sadas ao conselho disciplinar alem de receberem nota 0 ZERO Seu codigo deve ser desenvolvido na linguagem C e entregue atraves do Moodle Vocˆe devera gravar um pe queno vıdeo maximo 2 minutos explicando rapidamente o funcionamento do seu codigo Esse vıdeo deve ser entregue no moodle 4