Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- void swapStrings(char *str1, char *str2);
- void swapInt(int *int1, int *int2);
- typedef struct
- {
- char kodTransakcije[20+1];
- float iznos;
- int dan;
- int mjesec;
- int godina;
- int sat;
- int minuta;
- int sekinda;
- } Transakcija;
- int main()
- {
- FILE* creeptoIN = NULL;
- creeptoIN = fopen("creepto.val", "rb");
- int i = 0, m, n, j, k, l;
- char string[10];
- Transakcija transakcije[5000];
- int indexes[1000], inx=0;
- while(!feof(creeptoIN))
- {
- fread(&transakcije[i], sizeof(Transakcija), 1,creeptoIN);
- //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);
- i++;
- }
- scanf("%s", string);
- m = strlen(string);
- n = i; /// n je broj transakcija
- if (m == 3)
- {
- for (i = 0; i < n; i++)
- {
- if ((strchr(transakcije[i].kodTransakcije, string[0]) != NULL) && (strchr(transakcije[i].kodTransakcije, string[1]) != NULL) && (strchr(transakcije[i].kodTransakcije, string[2]) != NULL))
- {
- indexes[inx] = i;
- inx++;
- }
- }
- }
- else if (m ==4)
- {
- for (i = 0; i < n; i++)
- {
- 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) )
- {
- indexes[inx] = i;
- inx++;
- }
- }
- }
- ///sortiranje po satu
- for (c = 0 ; c < ( inx - 1 ); c++)
- {
- for (d = 0 ; d < inx - 1; d++)
- {
- if (transakcije[indexes[d]].sat > transakcije[indexes[d+1]].sat)
- {
- swapInt(&transakcije[indexes[d]].sat, &transakcije[indexes[d+1]].sat);
- swapInt(&transakcije[indexes[d]].minuta, &transakcije[indexes[d+1]].minuta);
- swapInt(&transakcije[indexes[d]].sekinda, &transakcije[indexes[d+1]].sekinda);
- swapStrings(transakcije[indexes[d]].kodTransakcije, transakcije[indexes[d+1]].kodTransakcije);
- }
- }
- }
- ///finalni ispis
- for (i = 0; i < inx; i++)
- {
- printf("%s@%.2d:%.2d:%.2d\n", transakcije[indexes[i]].kodTransakcije, transakcije[indexes[i]].sat, transakcije[indexes[i]].minuta, transakcije[indexes[i]].sekinda);
- }
- fclose(creeptoIN);
- return 0;
- }
- void swapStrings(char *str1, char *str2)
- {
- char *temp = (char *)malloc((strlen(str1) + 1) * sizeof(char));
- strcpy(temp, str1);
- strcpy(str1, str2);
- strcpy(str2, temp);
- free(temp);
- }
- void swapInt(int *int1, int *int2)
- {
- int swap;
- swap = *int1;
- *int1 = *int2;
- *int2 = swap;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement