Advertisement
Gabriel_Rofl

Untitled

Sep 28th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.24 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5. /*
  6.  
  7. Nome do Arquivo: 1.c
  8.  
  9. Nome do Aluno: Gabriel Cunha Bessa Vieira
  10.  
  11. Matricula: 16/0120811  
  12.  
  13. Descrição: Lê um número, o código da profissao > 0
  14.            Lê o nome da profissao, logo em seguida
  15.            pede o codigo da profissao e printa a profissao pedida.
  16.  
  17. A verificar:
  18.             Ver como ta rodando o valgrind.
  19. */
  20.  
  21. typedef struct{
  22.     int *codigo;
  23.     char *nome;
  24. } profissao;
  25.  
  26. void ler_profissao(int *nro, profissao *vetor){
  27.     int i;
  28.    
  29.     printf("Informe o numero de profissões:\n");
  30.     scanf("%d", nro);
  31.    
  32.     for(i = 0; i < *nro; i++){
  33.         vetor[i].codigo = (int *) malloc(sizeof(int));
  34.         *vetor[i].codigo = i;
  35.  
  36.         vetor[i].nome = (char *) malloc(sizeof(char));
  37.         printf("Informe o nome da profissao: ");
  38.         scanf("%s", vetor[i].nome);
  39.     }
  40.  
  41. }
  42.  
  43. void printar_profissao(int nro, profissao *vetor){
  44.     int code, i;
  45.     printf("Informe o código da profissao desejada:\n");
  46.     do
  47.     {
  48.         scanf("%d", &code);
  49.     } while (code < 0);
  50.  
  51.     printf("Codigo: %d\nProfissão:%s\n", *vetor[code].codigo, vetor[code].nome);
  52.     for(i = 0; i < nro; i++){
  53.         free(vetor[i].nome);
  54.         free(vetor[i].codigo);
  55.     }
  56. }
  57.  
  58. int main(){
  59.     profissao* dados;
  60.     int n;
  61.  
  62.     ler_profissao(&n, dados);
  63.     printar_profissao(n, dados);
  64.  
  65.     return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement