Advertisement
Guest User

Pivčina

a guest
Sep 30th, 2014
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.76 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. typedef struct pivo{
  4.  
  5.     char proizvodjac[30];
  6.     float procenat_alkohola;
  7.     float cena;
  8.     float zapremina;
  9.     float litara_po_dinaru;
  10.  
  11. }tpivo;
  12.  
  13. void unos_piva(tpivo* niz, int* n){
  14.  
  15.     tpivo temp;
  16.  
  17.     if(*n<50){
  18.  
  19.         printf("\n\nUnesite proizvodjaca piva:");
  20.         fflush(stdin);
  21.         scanf("%s",&temp.proizvodjac);
  22.  
  23.         printf("\n\nUnesite procenat alkohola:");
  24.         fflush(stdin);
  25.         scanf("%f",&temp.procenat_alkohola);
  26.        
  27.         printf("\n\nUnesite cenu:");
  28.         fflush(stdin);
  29.         scanf("%f",&temp.cena);
  30.        
  31.         printf("\n\nUnesite velicinu boce u litrima:");
  32.         fflush(stdin);
  33.         scanf("%f",&temp.zapremina);
  34.  
  35.        
  36.         niz[*n]=temp;
  37.         (*n)++;
  38.        
  39.     }
  40. }
  41.  
  42. void ispis_piva(tpivo* niz, int n){
  43.    
  44.     int i;
  45.    
  46.     printf("\nSpisak unetih piva:");
  47.  
  48.  
  49.     for(i=0;i<n;i++)
  50.     {
  51.         printf("\nProizvodjac je %s",niz[i].proizvodjac);
  52.         printf("\alkohol %g",niz[i].procenat_alkohola);
  53.         printf("\tcena %g",niz[i].cena);
  54.         printf("\tzapremina %g",niz[i].zapremina);
  55.     }
  56.     printf("\n");
  57.    
  58. }
  59.  
  60. void sortiranje(tpivo* niz,int n){
  61.    
  62.     int i,K;
  63.     tpivo temp;
  64.    
  65.     printf("\nPivo je sortirano po procentu alkohola.");
  66.     if(n>1)
  67.     {
  68.         do
  69.         {K=0;
  70.             for(i=0;i<n-1;i++)
  71.             {
  72.                 if(niz[i].procenat_alkohola<niz[i+1].procenat_alkohola)
  73.                 {
  74.                     temp=niz[i];
  75.                     niz[i]=niz[i+1];
  76.                     niz[i+1]=temp;
  77.                     K=1;   
  78.                 }
  79.             }
  80.         }while(K!=0);
  81.     }
  82.     printf("\n");
  83.    
  84. }
  85.  
  86. void jeftino_skupo(tpivo* niz, int n){
  87.  
  88.     int i, min, max, min_indeks=0, max_indeks=0;
  89.  
  90.     for (i=0; i<n; i++){
  91.        
  92.         niz[i].litara_po_dinaru=(niz[i].zapremina*niz[i].procenat_alkohola*100)/niz[i].cena;
  93.    
  94.     }
  95.    
  96.     min=niz[0].litara_po_dinaru;
  97.    
  98.     for (i=0; i<n; i++){
  99.  
  100.         if(niz[i].litara_po_dinaru<min){
  101.  
  102.             min_indeks=i;
  103.  
  104.         }
  105.     }
  106.  
  107.     printf("Najskuplje pivo po procentu alkohola je %s", niz[min_indeks].proizvodjac);
  108.  
  109.     max=niz[0].litara_po_dinaru;
  110.  
  111.     for (i=0; i<n; i++){
  112.  
  113.         if(niz[i].litara_po_dinaru>max){
  114.  
  115.             max_indeks=i;
  116.  
  117.         }
  118.     }
  119.  
  120.     printf("\nNajjeftinije pivo po procentu alkohola je %s", niz[max_indeks].proizvodjac);
  121.  
  122.  
  123. }
  124.        
  125.  
  126.  
  127.  
  128. main(){
  129.  
  130.     tpivo pivo[50];
  131.  
  132.     int i, odg, brel=0;
  133.  
  134.    
  135.  
  136.     do{
  137.         printf("\n\n ************************");
  138.         printf("\n\n ******  M E N I  *******");
  139.         printf("\n\n ************************");
  140.         printf("\n[1] Unos novog piva");
  141.         printf("\n[2] Ispis svih piva");
  142.         printf("\n[3] Sortiranje piva");
  143.         printf("\n[4] Najjeftinije i najskuplje pivo po sadrzaju alkohola u boci");
  144.         printf("\n\n[0] Izlaz iz programa");
  145.         printf("\n\nOPCIJA: ");
  146.         scanf("%d", &odg);
  147.  
  148.         switch(odg){
  149.             case 1: {
  150.                 unos_piva (pivo, &brel);
  151.                 break;
  152.                     }
  153.             case 2: {
  154.                 ispis_piva (pivo, brel);
  155.                 break;
  156.                     }
  157.             case 3:{
  158.                 sortiranje (pivo, brel);
  159.                 break;
  160.                    }
  161.             case 4:{
  162.                 jeftino_skupo(pivo, brel);
  163.                 break;
  164.                    }
  165.    
  166.         }
  167.  
  168.     }while(odg!=0);
  169.  
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement