Guest User

Untitled

a guest
Jan 23rd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.00 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. struct bacia{
  5.     int p;
  6.     int l;
  7.     int renda;
  8. };
  9.  
  10. void d(struct bacia * bacia,char tipopetr, int qtd, int b){
  11.     if(tipopetr=='l')
  12.         (*bacia).l+=qtd;
  13.     if(tipopetr=='p')
  14.         (*bacia).p+=qtd;
  15.     printf("%d %d %d %d %d\n",b,(*bacia).p+(*bacia).l,(*bacia).p,(*bacia).l,(*bacia).renda);
  16. }
  17.  
  18. void c(struct bacia * bacia,char tipopetr, int qtd, int b){
  19.     if(tipopetr=='l')
  20.         (*bacia).l-=qtd;
  21.     if(tipopetr=='p')
  22.         (*bacia).p-=qtd;
  23.     printf("%d %d %d %d %d\n",b,(*bacia).p+(*bacia).l,(*bacia).p,(*bacia).l,(*bacia).renda);
  24. }
  25.  
  26. void v(struct bacia * bacia,char tipopetr, int qtd, int b){
  27.     if(tipopetr=='l')
  28.         (*bacia).l-=qtd;
  29.     if(tipopetr=='p')
  30.         (*bacia).p-=qtd;
  31.     (*bacia).renda+=qtd*100;
  32.     printf("%d %d %d %d %d\n",b,(*bacia).p+(*bacia).l,(*bacia).p,(*bacia).l,(*bacia).renda);
  33. }
  34.  
  35. void f(struct bacia bacia[5]){
  36. //  printf("1");
  37.     int i =0,estoquemax=0,rendamax=0;
  38.     for(i=0;i<5;i++){
  39.         if(bacia[i].p+bacia[i].l>estoquemax)
  40.             estoquemax=bacia[i].p+bacia[i].l;
  41.         if(bacia[i].renda>rendamax)
  42.             rendamax=bacia[i].renda;
  43.     }
  44. //  printf("2");
  45.     for(i=0;i<5;i++)
  46.         if(bacia[i].p+bacia[i].l==estoquemax)
  47.             printf("%d ",i);
  48. //  printf("3");
  49.     printf("\n");
  50. //  printf("4");
  51.     for(i=0;i<5;i++)
  52.         if(bacia[i].renda==rendamax)
  53.             printf("%d ",i);
  54. //  printf("5");
  55. }
  56.  
  57. int main(){
  58.     char operacao, tipopetr;
  59.     int i=0,b=0,num=0, flag=0;
  60.     struct bacia bacia[5];
  61.     for(i=0;i<5;i++){
  62.         bacia[i].p=10;
  63.         bacia[i].l=10;
  64.         bacia[i].renda=0;
  65.     }
  66.     while(flag==0){
  67.         scanf("%c",&operacao);
  68.     //  scanf("%c %d %c %d",&operacao, &b,&tipopetr,&num);
  69.         if(operacao!='f')
  70.             scanf(" %d %c %d", &b,&tipopetr,&num);
  71.         switch(operacao){
  72.             case 'd':
  73.                 d(&bacia[b],tipopetr,num,b);
  74.                 break;
  75.             case 'c':
  76.                 c(&bacia[b],tipopetr,num,b);
  77.                 break;
  78.             case 'v':
  79.                 v(&bacia[b],tipopetr,num,b);
  80.                 break;
  81.             case 'f':
  82.             //  printf("1");
  83.                 f(bacia);
  84.                 flag=1;
  85.                 break;
  86.  
  87.         }
  88.  
  89.     }
  90.     getchar();
  91.     getchar();
  92.     getchar();
  93.     getchar();
  94.     getchar();
  95.     getchar();
  96.    
  97.     return 0;
  98. }
Add Comment
Please, Sign In to add comment