Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include<stdlib.h>
- #include <string.h>
- struct datum
- {
- int den;
- int mesec;
- int godina;
- int cas;
- int min;
- };
- struct lokacija
- {
- char drzava[50];
- char grad [50];
- char adresa[50];
- };
- struct nastan
- {
- char ime[30];
- struct datum datump;
- struct datum datumk;
- struct lokacija lok;
- char opis[100];
- int status;
- };
- void dodadi_nastan(nastan *N, int *n,nastan n1)
- {
- int i;
- if(*n==99)
- {
- for(i=0;i<*n;i++)
- {
- N[i]=N[i+1];//brisenje na najstariot nastan(pomestuvanje vo levo)
- }
- N[*n]=n1;//mora da izbriseme nesto za da dodademe nov
- return 1;
- }
- else
- {
- N[*n+1]=n1;
- *n+1;
- return 0;
- }
- }
- int ponov_datum(datum d1, datum d2)//pomosna funkcija za da sporedi koj od 2 datumi e ponov
- {
- if(d1.godina>d2.godina)
- {
- return 1;
- }
- else
- {
- else if(d1.godina<d2.godina)
- {
- return 0;
- }
- else
- {
- if(d1.mesec>d2.mesec)
- {
- return 1;
- }
- else if(d1.godina<d2.godina)
- {
- return 0;
- }
- else
- {
- if(d1.den>d2.den)
- {
- return 1;
- }
- else if(d1.den<d2.den)
- {
- return 0;
- }
- else
- {
- if(d1.min<d2.min)
- {
- return 1;
- }
- else if(d1.min>d2.min)
- {
- return 0;
- }
- }
- }
- }
- }
- }
- void sort(nastan *l,int N)//hronoloshko sortiranje
- {
- nastan pom;
- int i,j;
- for(i=0;i<n;i++)
- {
- for(j=i+1;j<n;j++)
- {
- if(ponov_datum(l[j].poc,l[i].poc))
- {
- pom=l[j];
- l[j]=l[i];
- l[i]=pom;
- }
- }
- }
- }
- void listaj(nastan *l,int N,int t)
- {
- datum P;
- int i,j;
- void sort(l,N);
- if(t==0)
- {
- printf("Vnesi go denesniot datum vo format den,mesec,godina,cas,minuta");
- scanf("%d %d %d %d %d",&P.den,&P.mesec,&P.godina,&P.cas,&P.min);
- for(i=0;i<N;i++)
- {
- printf("%s%s%s%s%s, %d\;"l[i].ime,l[i].status,l[i].opis,l[i].lok.drzava,l[i].lok.grad,l[i].lok.adresa,l[i].status);
- }
- }
- else
- {
- printf("Vnesi datum");
- scanf("%d %d %d %d %d",&P.den,&P.mesec,&P.godina,&P.cas,&P.min);
- for(i=0;i<N;i++)
- {
- if(ponov_datum(l[i].poc,P))
- {
- printf("%s%s%s%s%s, %d\;"l[i].ime,l[i].status,l[i].opis,l[i].lok.drzava,l[i].lok.grad,l[i].lok.adresa,l[i].status);
- }
- }
- }
- }
- void promeni(nastan *l);//promenuvanje na status od nezavrsen vo zavrsen[1-zavrsen,0-nezavrsen]
- {
- if(l->status=0)
- {
- l->status=1;
- }
- }
- int main()
- {
- nastan lista[100],pom;
- int N,i,j;
- N=0;
- while(1)//nepoznat broj na nastani
- {
- printf("Dali ke vneses nov nastan?? 0/1");
- scanf("%d",&i);
- if(i==0) break;
- scanf("%s%d%d%d%d%d%d%d.......);
- dodadi(lista &N,pom);
- }
- for(i=0;i<N/2,i++)
- {
- promeni(&lista[i]);
- }
- listaj(lista,N,0);
- return 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement