daily pastebin goal
55%
SHARE
TWEET

Crypto

a guest Feb 13th, 2018 60 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. void swapStrings(char *str1, char *str2);
  6. void swapInt(int *int1, int *int2);
  7.  
  8. typedef struct
  9. {
  10.     char kodTransakcije[20+1];
  11.     float iznos;
  12.     int dan;
  13.     int mjesec;
  14.     int godina;
  15.     int sat;
  16.     int minuta;
  17.     int sekinda;
  18. } Transakcija;
  19.  
  20. int main()
  21. {
  22.  
  23.     FILE* creeptoIN  = NULL;
  24.     creeptoIN  = fopen("creepto.val", "rb");
  25.  
  26.     int i = 0, m, n, j, k, l;
  27.     char string[10];
  28.     Transakcija transakcije[5000];
  29.     int indexes[1000], inx=0;
  30.  
  31.     while(!feof(creeptoIN))
  32.     {
  33.         fread(&transakcije[i], sizeof(Transakcija), 1,creeptoIN);
  34.         //printf("%20s - %f - %d.%d.%d. %d:%d:%d \n", transakcije[i].kodTransakcije, transakcije[i].iznos/100, transakcije[i].dan, transakcije[i].mjesec, transakcije[i].godina, transakcije[i].sat, transakcije[i].minuta, transakcije[i].sekinda);
  35.         i++;
  36.     }
  37.  
  38.     scanf("%s", string);
  39.  
  40.     m = strlen(string);
  41.     n = i; /// n je broj transakcija
  42.  
  43.     if (m == 3)
  44.     {
  45.         for (i = 0; i < n; i++)
  46.         {
  47.  
  48.             if ((strchr(transakcije[i].kodTransakcije, string[0]) != NULL) && (strchr(transakcije[i].kodTransakcije, string[1]) != NULL) && (strchr(transakcije[i].kodTransakcije, string[2]) != NULL))
  49.             {
  50.                 indexes[inx] = i;
  51.                 inx++;
  52.             }
  53.  
  54.         }
  55.     }
  56.     else if (m ==4)
  57.     {
  58.         for (i = 0; i < n; i++)
  59.         {
  60.             if ((strchr(transakcije[i].kodTransakcije, string[0]) != NULL) && (strchr(transakcije[i].kodTransakcije, string[1]) != NULL) && (strchr(transakcije[i].kodTransakcije, string[2]) != NULL) && (strchr(transakcije[i].kodTransakcije, string[3]) != NULL) )
  61.             {
  62.                 indexes[inx] = i;
  63.                 inx++;
  64.             }
  65.         }
  66.     }
  67.  
  68.     ///sortiranje po satu
  69.  
  70.     for (c = 0 ; c < ( inx - 1 ); c++)
  71.     {
  72.         for (d = 0 ; d < inx - 1; d++)
  73.         {
  74.             if (transakcije[indexes[d]].sat > transakcije[indexes[d+1]].sat)
  75.             {
  76.                 swapInt(&transakcije[indexes[d]].sat, &transakcije[indexes[d+1]].sat);
  77.                 swapInt(&transakcije[indexes[d]].minuta, &transakcije[indexes[d+1]].minuta);
  78.                 swapInt(&transakcije[indexes[d]].sekinda, &transakcije[indexes[d+1]].sekinda);
  79.                 swapStrings(transakcije[indexes[d]].kodTransakcije, transakcije[indexes[d+1]].kodTransakcije);
  80.             }
  81.         }
  82.     }
  83.  
  84.     ///finalni ispis
  85.     for (i = 0; i < inx; i++)
  86.     {
  87.         printf("%s@%.2d:%.2d:%.2d\n", transakcije[indexes[i]].kodTransakcije, transakcije[indexes[i]].sat, transakcije[indexes[i]].minuta, transakcije[indexes[i]].sekinda);
  88.     }
  89.  
  90.     fclose(creeptoIN);
  91.  
  92.     return 0;
  93. }
  94.  
  95. void swapStrings(char *str1, char *str2)
  96. {
  97.     char *temp = (char *)malloc((strlen(str1) + 1) * sizeof(char));
  98.     strcpy(temp, str1);
  99.     strcpy(str1, str2);
  100.     strcpy(str2, temp);
  101.     free(temp);
  102. }
  103.  
  104. void swapInt(int *int1, int *int2)
  105. {
  106.     int swap;
  107.     swap  = *int1;
  108.     *int1 = *int2;
  109.     *int2 = swap;
  110. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top