Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- typedef struct
- {
- int d,m,y;
- float rain;
- float max,min;
- }data;
- typedef struct
- {
- int day,month,year;
- }Date;
- void inputYearTable(data ME[] , int n);
- void calAvgTemp(data ME[ ] , int n);
- float findMinTemp(data ME[ ], int n );
- void accumRainMonthly(data ME[ ] , int n);
- data findDateMeteo(data ME[], int n,Date sd);
- int main()
- {
- data h[50];
- int n;
- float j;
- printf("N : ");
- scanf("%d",&n);
- inputYearTable(h,n);
- calAvgTemp(h,n);
- j=findMinTemp(h,n);
- accumRainMonthly(h,n);
- Date sd = {12,05,2013} ;
- data m;
- m = findDateMeteo(h,n,sd);
- if (sd.day == 0)
- {
- printf("Not found meteo record for date %d/%d/%d\n",sd.day, sd.month, sd.year);
- }
- else
- { printf("Meteo for date %d/%d/%d\n",sd.day, sd.month,sd.year);
- printf("Rain = %.2f mm\n",m.rain);
- printf("Min Temp = %.2f mm.\n",m.min);
- printf("Max Temp = %.2f mm.\n",m.max);
- return 0;
- }
- }
- void inputYearTable(data ME[] , int n)
- {
- int i;
- for(i=0;i<n;i++)
- {
- printf("Day#%d\n",i+1);
- printf("Date : ");
- scanf("%d %d %d",&ME[i].d,&ME[i].m,&ME[i].y);
- printf("Rain : ");
- scanf("%f",&ME[i].rain);
- printf("Max Tem : ");
- scanf("%f",&ME[i].max);
- printf("Min Tem : ");
- scanf("%f",&ME[i].min);
- }
- }
- void calAvgTemp(data ME[ ] , int n)
- {
- int i;
- float sum=0,avg=0;
- printf("N = %d\n",n);
- for(i=0;i<n;i++)
- {
- avg=(ME[i].max+ME[i].min)/2;
- printf("Data #%d Date %d/%d/%d AVG Tem = %.2f\n",i+1,ME[i].d,ME[i].m,ME[i].y,avg);
- }
- printf("AVG = %.2f\n",avg);
- }
- float findMinTemp(data ME[ ], int n )
- {
- int i;
- float min=ME[0].min;
- for(i=0;i<n;i++)
- {
- if(ME[i].min<min)
- {
- min=ME[i].min;
- }
- }
- return min;
- }
- void accumRainMonthly(data ME[ ] , int n)
- {
- int month[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
- int i,c = 0,j=0,sum = 0;
- for(i=0;i<n;i++)
- {
- c++;
- sum += ME[i].rain;
- if(c == month[j])
- {
- j++;
- printf("MONTH#%d ACCUMULATED RAIN = %.1f mm\n",j,sum);
- sum = 0; c = 0;
- }
- }
- printf("C = %d\n",c);
- //int i,rain=ME[0].rain;
- // for(i=0;i<n;i++)
- // {
- // rain+=ME[i].rain;
- // printf("Month#%d ACCUMULATED RAIN = %.2f mm.\n",ME[i].m,ME[i].rain);
- // }
- }
- data findDateMeteo(data ME[], int n,Date sd)
- {
- data B;
- int i;
- for(i=0;i<n;i++)
- {
- if(ME[i].d==sd.day&&ME[i].m==sd.month&&ME[i].d==sd.year)
- {
- return ME[i];
- }
- else
- {
- B.d=0;
- B.m=0;
- B.y=0;
- return B;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement