Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct Datum { int dan, mjesec, godina; };
- struct Student
- {
- char ime[20], prezime[20];
- struct Datum datum_rodjenja;
- };
- int broj(struct Datum d)
- {
- int x = d.dan;
- switch (d.mjesec)
- {
- case 1:
- x = x + (d.godina - 1) / 4 - (d.godina - 1) / 100 + (d.godina - 1) / 400;
- break;
- case 2:
- x = x + (d.godina - 1) / 4 - (d.godina - 1) / 100 + (d.godina - 1) / 400 + 31;
- break;
- case 3:
- x = x + d.godina / 4 - d.godina / 100 + d.godina / 400 + 59;
- break;
- case 4:
- x = x + d.godina / 4 - d.godina / 100 + d.godina / 400 + 90;
- break;
- case 5:
- x = x + d.godina / 4 - d.godina / 100 + d.godina / 400 + 120;
- break;
- case 6:
- x = x + d.godina / 4 - d.godina / 100 + d.godina / 400 + 151;
- break;
- case 7:
- x = x + d.godina / 4 - d.godina / 100 + d.godina / 400 + 181;
- break;
- case 8:
- x = x + d.godina / 4 - d.godina / 100 + d.godina / 400 + 212;
- break;
- case 9:
- x = x + d.godina / 4 - d.godina / 100 + d.godina / 400 + 243;
- break;
- case 10:
- x = x + d.godina / 4 - d.godina / 100 + d.godina / 400 + 273;
- break;
- case 11:
- x = x + d.godina / 4 - d.godina / 100 + d.godina / 400 + 304;
- break;
- case 12:
- x = x + d.godina / 4 - d.godina / 100 + d.godina / 400 + 334;
- break;
- }
- x += (d.godina-1) * 365;
- return x;
- }
- void period(struct Student niz[], int n, int d)
- {
- for (int i = 0; i < n - 1; i++)
- {
- for (int j = i + 1; j < n; j++)
- {
- if (abs(broj(niz[i].datum_rodjenja) - broj(niz[j].datum_rodjenja)) == d)
- {
- printf("%s %s - %s %s\n", niz[i].ime, niz[i].prezime, niz[j].ime, niz[j].prezime);
- }
- }
- }
- }
- void promijeni(struct Student izmjena, int x)
- {
- FILE * ptr;
- ptr = fopen("studenti.dat", "rb+");
- fseek(ptr, 44 * (x-1), SEEK_SET);
- fwrite(izmjena.ime, sizeof(izmjena.ime), 1, ptr);
- fwrite(izmjena.prezime, sizeof(izmjena.prezime), 1, ptr);
- fwrite(&izmjena.datum_rodjenja.dan, sizeof(unsigned char), 1, ptr);
- fwrite(&izmjena.datum_rodjenja.mjesec, sizeof(unsigned char), 1, ptr);
- fwrite(&izmjena.datum_rodjenja.godina, sizeof(unsigned short), 1, ptr);
- fclose(ptr);
- }
- void zapisi(struct Student niz[], int n)
- {
- FILE * ptr;
- if((ptr = fopen("studenti.dat", "wb")) == NULL){
- printf("nije uspjelo otvaranje datoteke za pisanje");
- return;
- }
- for (int i = 0; i < n; i++)
- {
- fwrite(niz[i].ime, sizeof(niz[i].ime), 1, ptr);
- fwrite(niz[i].prezime, sizeof(niz[i].prezime), 1, ptr);
- fwrite(&niz[i].datum_rodjenja.dan, sizeof(unsigned char), 1, ptr);
- fwrite(&niz[i].datum_rodjenja.mjesec, sizeof(unsigned char), 1, ptr);
- fwrite(&niz[i].datum_rodjenja.godina, sizeof(unsigned short), 1, ptr);
- }
- fclose(ptr);
- }
- int main()
- {
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement