Advertisement
Guest User

Untitled

a guest
May 5th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.95 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include<string.h>
  4.  
  5. typedef struct Objekat{
  6.     char naziv[20];
  7.     int kap;
  8.     int gos;
  9.     char tip[20];
  10. }TObjekat;
  11.  
  12. typedef struct Lista{
  13.     TObjekat objekat;
  14.     struct Lista *sl;
  15. }Tlista;
  16.  
  17.  
  18. void Ucitaj(FILE *fu,Tlista **glava){
  19.     Tlista *novi;
  20.     do{
  21.         novi=(Tlista*)malloc(sizeof(Tlista));
  22.         novi->sl=NULL;
  23.         if(*glava==NULL)
  24.             *glava=novi;
  25.         else{
  26.             Tlista *pom;
  27.             pom=*glava;
  28.             while(pom->sl != NULL)
  29.                 pom=pom->sl;
  30.             pom->sl=novi;
  31.         }
  32.     }while(fscanf(fu,"%s %d %d %s",novi->objekat.naziv,&novi->objekat.kap,&novi->objekat.gos,novi->objekat.tip)!=EOF);
  33.     Tlista *pom=*glava;
  34.     while(pom->sl->sl!=NULL)
  35.         pom=pom->sl;
  36.     pom->sl=NULL;
  37.  
  38.  
  39. }
  40. void Stampaj(Tlista *glava){
  41.     while(glava!=NULL){
  42.         puts(glava->objekat.naziv);
  43.         glava=glava->sl;
  44.     }
  45. }
  46.  
  47. void PodA(Tlista *glava){
  48. TObjekat max,min;
  49. Tlista *pom;
  50.  max=glava->objekat;
  51.  min=max;
  52.  pom=glava;
  53.  while(pom!=NULL){
  54.     if (pom->objekat.gos<max.gos)
  55.         max=pom->objekat;
  56.     else if (pom->objekat.gos>min.gos)
  57.            min=pom->objekat;
  58.     pom=pom->sl;
  59.  }
  60.  printf("Najstariji je %s, a najmladji %s \n",max.naziv,min.naziv);
  61.  
  62. }
  63.  
  64.  
  65. void PodB(Tlista *glava,char s[]){
  66.     int n=0; FILE *nju;
  67.     float pr=0;
  68.     char str="kapacitet_";
  69.     strcpy(str,s);
  70.     strcpy(str,".txt");
  71.     nju=fopen(str,"w");
  72.     Tlista *pom=glava;
  73.     while(pom!=NULL){
  74.         if (pom->objekat.tip==s){
  75.             pr=pr+pom->objekat.kap;
  76.             n++;
  77.             }
  78.         pom=pom->sl;
  79.         }
  80.     pr=pr/n;
  81.     fprintf(nju,"%d",pr);
  82.     fclose(nju);
  83.  
  84. }
  85.  
  86. int main()
  87. { FILE *fu;
  88.  char s[20];
  89. Tlista *glava;
  90.     fu=fopen("ulazni.txt","r");
  91.     glava=NULL;
  92.     Ucitaj(fu,&glava);
  93.     close(fu);
  94.  //   Stampaj(glava);
  95.     PodA(glava);
  96.     gets(s);
  97.     PodB(glava,s);
  98.  
  99.  
  100.     return 0;
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement