TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O LABORATÓRIO DE PROGRAMAÇÃO

Por:   •  23/11/2017  •  Trabalho acadêmico  •  5.437 Palavras (22 Páginas)  •  374 Visualizações

Página 1 de 22

[pic 1]

UNIVERSIDADE FEDERAL DO PIAUÍ – UFPI

UNIVERSIDADE ABERTA DO PIAUÍ – UAPI

BACHARELADO EM SISTEMAS DE INFORMAÇÃO

PROFESSOR: RICARDO VIANA

DISCIPLINA: LABORATÓRIO DE PROGRAMAÇÃO

ALUNO (A): JACKSON BRUNO SOUSA SILVA

POLO: REGENERAÇÃO – PI

Lista 4

  1. Crie uma estrutura para representar os dados de um funcionário, com matrícula de tipo inteiro, nome de tipo string, estado civil de tipo string, endereço do tipo string, cargo de tipo string, salário de tipo float e data de nascimento de tipo data. O tipo data deve ser definido como uma estrutura com os membros dia, mês e ano de tipo inteiro. Com essa estrutura faça as seguintes operações:
  1. Crie um vetor de 20 posições para armazenar o cadastro de funcionários de uma empresa fictícia
  2. Crie uma variável chamada fim que demarcará a última posição atualmente preenchida em seu cadastro de funcionários
  3. Faça com que o programa apresente um menu onde o usuário possa escolher entre as funções de cadastrar funcionário, excluir funcionário, alterar funcionário, buscar funcionário, listar todos os funcionários e sair
  1. O usuário deverá poder escolher qualquer das opções qualquer quantidade de vezes. Somente ao escolher a opção sair o programa deve ser finalizado.
  1. Quando a opção cadastrar funcionário for escolhida, leia todos os dados de um funcionário e o inclua na primeira posição livre do vetor. A variável fim deve ser aumentada de um
  1. Se já houverem vinte funcionários cadastrados (limite do nosso vetor), o programa deverá mostrar a mensagem “Impossível cadastrar. Vetor cheio”
  1. Quando a opção excluir funcionário for escolhida, o programa deverá solicitar a posição que o usuário deseja excluir. Caso a opção esteja preenchida com um funcionário no vetor, todos os elementos, a partir daquela posição para frente devem ser “puxados” uma posição para trás, para refletir a exclusão. A variável fim deve ser reduzida de um. Caso contrário, deverá ser exibida a mensagem “Impossível excluir. Posição inválida”
  2. Quando a opção alterar funcionário for escolhida, o usuário deverá escolher a posição a alterar. Caso esta posição esteja preenchida com os dados de um funcionário, o programa deverá mostrar os dados atuais e pedir para o usuário digitar novamente todos os dados para aquele funcionário. Caso contrário, deverá mostrar a mensagem “Impossível alterar. Posição não preenchida”
  3. Quando a opção buscar funcionário for escolhida, o programa deverá solicitar ao usuário o nome a procurar. Após isso, o programa irá buscar, entre os funcionários cadastrados, um com nome procurado (ou parte dele). Caso encontre, deverá mostrar todos os dados desse funcionário. Caso contrário, deverá exibir a mensagem “Funcionário não encontrado”
  4. Quando a opção listar todos os funcionários for selecionada, o programa deve exibir todos os dados de todos os funcionários cadastrados até o momento. Se nenhum funcionário estiver cadastrado, deverá exibir a mensagem “Nenhum funcionário cadastrado”
  5. Quando a opção sair for escolhida, o programa deverá finalizar

#include

#include

#include

#include

        int fim = 0;

        struct date

        {

                int dia;

                int mes;

                int ano;        

        };

        

        struct funcionario

        {

                int matricula;

                char nome[100];

                char estadoCivil[100];

                char endereco[100];

                char cargo[100];

                float salario;

                struct date dataNascimento;

        }tipoFucionario[20];

        

        void cadastrarFuncionario()

        {

                printf("Digite a matricula do funcionario:\n");

                scanf("%d", &tipoFucionario[fim].matricula);

                setbuf(stdin, NULL);

                printf("Digite o nome do Funcionario:\n");

                scanf("%[^\n]s", tipoFucionario[fim].nome);

                setbuf(stdin, NULL);

                printf("Digite o estado civil do Funcionario:\n");

                scanf("%[^\n]s", tipoFucionario[fim].estadoCivil);

                setbuf(stdin, NULL);

                printf("Digite o endereco do funcionario:\n");

                scanf("%[^\n]s", tipoFucionario[fim].endereco);

                setbuf(stdin, NULL);

                printf("Digite o cargo do funcionario:\n");

                scanf("%[^\n]s", tipoFucionario[fim].cargo);

                setbuf(stdin, NULL);

                printf("Digite o salario do funcionario:\n");

                scanf("%f", &tipoFucionario[fim].salario);

                setbuf(stdin, NULL);

                printf("Digite a data de nascimento do funcionario: (dd/mm/aa)\n");

                scanf("%d %d %d", &tipoFucionario[fim].dataNascimento.dia, &tipoFucionario[fim].dataNascimento.mes, &tipoFucionario[fim].dataNascimento.ano);

                fim++;

        }

        

        void excluirFuncionario(int posicao)

...

Baixar como (para membros premium)  txt (13.3 Kb)   pdf (203.4 Kb)   docx (70.4 Kb)  
Continuar por mais 21 páginas »
Disponível apenas no TrabalhosGratuitos.com