Advertisement
Guest User

Untitled

a guest
Nov 29th, 2015
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.85 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define MAX 20
  5.  
  6. typedef struct{
  7.  
  8.     char nome[100];
  9.     int quantidade, calorias;
  10.  
  11. }alimento;
  12.  
  13. typedef struct{
  14.  
  15.     alimento tipo_alimento[MAX];
  16.     char pais_origem[20];
  17.  
  18. }pacote_de_alimentos;
  19.  
  20. pacote_de_alimentos Preencher_Dados(pacote_de_alimentos pac){
  21.  
  22.     int i;
  23.  
  24.     for(i=0;i<MAX;i++){
  25.  
  26.     printf("Digite os dados do alimento n.%d:\n\n", i+1);
  27.     printf("Nome: ");
  28.     //gets(pac.tipo_alimento[i].nome);
  29.     scanf(" %s", pac.tipo_alimento[i].nome);
  30.     printf("Quantidade: ");
  31.     scanf("%d", &pac.tipo_alimento[i].quantidade);
  32.     printf("Quantidade de calorias nesse produto: ");
  33.     scanf("%d", &pac.tipo_alimento[i].calorias);
  34.     printf("\n");
  35.  
  36.     }
  37.  
  38.     //printf("Pais de origem do pacote de alimentos: ");
  39.     //scanf(" %s", pacote.pais_origem);
  40.  
  41.     return pac;
  42.  
  43. }
  44.  
  45. pacote_de_alimentos Ordenacao_Vetor(pacote_de_alimentos pac){
  46.  
  47.     int AUX_QNTD, i, j, verificador;
  48.     char AUX_NOME[MAX];
  49.  
  50.         for(i=0;i<MAX-1;i++){
  51.  
  52.                 //if(verificador == 0) break;
  53.  
  54.                 verificador=0;
  55.  
  56.                 for(j=0;j<MAX-1;j++){
  57.  
  58.                         if(pac.tipo_alimento[j].quantidade < pac.tipo_alimento[j+1].quantidade){
  59.  
  60.                                 AUX_QNTD = pac.tipo_alimento[j].quantidade;
  61.                                 pac.tipo_alimento[j].quantidade = pac.tipo_alimento[j+1].quantidade;
  62.                                 pac.tipo_alimento[j+1].quantidade = AUX_QNTD;
  63.  
  64.                                 strcpy(AUX_NOME, pac.tipo_alimento[j].nome);
  65.                                 strcpy(pac.tipo_alimento[j].nome, pac.tipo_alimento[j+1].nome);
  66.                                 strcpy(pac.tipo_alimento[j+1].nome, AUX_NOME);
  67.  
  68.                                 verificador = 1;
  69.                         }
  70.                 }
  71.         }
  72.  
  73.         return pac;
  74. }
  75.  
  76. int Quantiadade_de_Calorias(pacote_de_alimentos pac){
  77.  
  78.     int i, TOTAL_CALORIAS=0;
  79.  
  80.     for(i=0;i<MAX;i++){
  81.  
  82.             TOTAL_CALORIAS += pac.tipo_alimento[i].quantidade * pac.tipo_alimento[i].calorias;
  83.  
  84.     }
  85.  
  86.     return TOTAL_CALORIAS/2000;
  87.  
  88. }
  89.  
  90. void ImprimirPacote(pacote_de_alimentos pac, int dias){
  91.  
  92.     int i;
  93.  
  94.     for(i=0;i<MAX;i++){
  95.  
  96.     //printf("Alimento n.%d:\n", i+1);
  97.     printf("Nome: %s\n", pac.tipo_alimento[i].nome);
  98.     printf("Quantidade: %d\n", pac.tipo_alimento[i].quantidade);
  99.     //printf("Calorias por unidade: %d\n", pac.tipo_alimento[i].calorias);
  100.     printf("\n");
  101.  
  102.     }
  103.  
  104.     printf("Dias que uma pessoa pode se alimentar com esse pacote: %d\n", dias);
  105.  
  106. }
  107.  
  108. int main()
  109. {
  110.     pacote_de_alimentos pacote;
  111.     int dias_restantes;
  112.  
  113.     pacote = Preencher_Dados(pacote);
  114.     dias_restantes = Quantiadade_de_Calorias(pacote);
  115.     pacote = Ordenacao_Vetor(pacote);
  116.     ImprimirPacote(pacote, dias_restantes);
  117.  
  118.  
  119.     return 0;
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement