Advertisement
Drowze

APC B 04 - Structs 04

Oct 18th, 2014
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.93 KB | None | 0 0
  1.  /* Completar o programa do exercício 2 permitindo que após a leitura de
  2. todos os dadoso programa emita um relatório com os dados de cada empregado,
  3. sendo que para cada funcionário deve ser colocado um texto indicando se
  4. este é maior de idade (maior que 21 anos).
  5. A exibição dos dados deve ser feita em um procedimento.*/
  6.  
  7. #include <stdio.h>
  8.  
  9. #define MAX 30
  10.  
  11. typedef struct{
  12.     int registro;
  13.     char nome[50];
  14.     int idade;
  15.     float salario;
  16. } s_empregado;
  17.  
  18. void reg_empregados(int x, s_empregado lista_empregados[]);
  19. void relatorio_empregados(int x, s_empregado lista_empregados[]);
  20.  
  21. int main(){
  22.     int quantidade; //qtd de empregados
  23.     s_empregado lista_empregados[MAX];
  24.  
  25.     printf("Quantos empregados deseja cadastrar?");
  26.     do{
  27.         scanf("%d", &quantidade);
  28.         if(quantidade<0 || quantidade>MAX) printf("Erro: Numero invalido");
  29.     }while(quantidade<0 || quantidade>MAX);
  30.    
  31.     reg_empregados(quantidade, lista_empregados);
  32.     printf("Cadastrados!");
  33.  
  34.     relatorio_empregados(quantidade, lista_empregados);
  35.  
  36.     fflush(stdin);
  37.     getchar();
  38.     return 0;
  39. }
  40.  
  41. void reg_empregados(int x, s_empregado lista_empregados[]){
  42.     for(int i=0; i<x; i++){
  43.         printf("Registro %d:\n",i+1);
  44.         printf("Registro profissional: ");
  45.         scanf("%d", &lista_empregados[i].registro);
  46.  
  47.         fflush(stdin);
  48.         printf("Nome Completo: ");
  49.         gets(lista_empregados[i].nome);
  50.  
  51.         printf("Idade: ");
  52.         scanf("%d", &lista_empregados[i].idade);
  53.  
  54.         printf("Salario: ");
  55.         scanf("%f", &lista_empregados[i].salario);
  56.     }
  57. }
  58.  
  59. void relatorio_empregados(int x, s_empregado lista_empregados[]){
  60.     printf("\n -------Relatorio de empregados ------- \n");
  61.  
  62.     for(int i = 0; i < x; i++){
  63.         printf("Empregado de registro: %d\n", lista_empregados[i].registro);
  64.         printf("Nome: %s\n", lista_empregados[i].nome);
  65.         printf("Idade: %d",lista_empregados[i].idade); if(lista_empregados[i].idade > 21) printf(" (Maior de idade)" );
  66.         printf("\nSalario: %f\n\n", lista_empregados[i].salario);
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement