Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- #define enter "\n"
- //-----1
- typedef struct{
- int d,m,y; //day, month, year
- }Date;
- typedef struct{
- Date date;
- float rain,minTemp,maxTemp,avgTemp;
- }MeteoRecord;
- void inputYearTable(MeteoRecord M[] , int n){
- int i;
- for(i=0;i<n;i++){
- printf("Day#%d\n",i+1);
- printf("DATE: ");
- scanf("%d %d %d",&M[i].date.d,&M[i].date.m,&M[i].date.y); fflush(stdin);
- printf("RAIN: ");
- scanf("%f",&M[i].rain);
- printf("MIN TEMP: ");
- scanf("%f",&M[i].minTemp);
- printf("MAX TEMP: ");
- scanf("%f",&M[i].maxTemp);
- }
- }
- void calAvgTemp(MeteoRecord M[ ] , int n) {
- //DAY#1 DATE 01/01/2013 AVG TEMP = 26.85
- int i=0;
- while(i<n){
- printf("\nDAY#%d DATE %d/%d/%d AVG TEMP = %.2f",i+1,M[i].date.d,M[i].date.m,M[i].date.y,(M[i].minTemp+M[i].maxTemp)/2);
- i++;
- }
- }
- float findMinTemp(MeteoRecord M[], int n ){
- int i;
- float tmp=M[0].minTemp;
- for(i=0;i<n;i++){
- if(M[i].minTemp < tmp){
- tmp = M[i].minTemp;
- }
- }
- return tmp;
- }
- void accumRainMonthly(MeteoRecord M[ ] , int n) {
- int i,j;
- float rm[12];
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- if(M[j].date.m == i+1){
- rm[i]=rm[i]+M[j].rain;
- }
- }
- }
- printf(enter);
- for(i=0;i<n-1;i++){
- printf("\nMONTH#%d ACCUMULATED RAIN = %.f mm ",i+1,rm[i]);
- }
- }
- MeteoRecord findDateMeteo(MeteoRecord M[] , int n, Date sd){
- int i;
- if (sd.d == 0){
- printf("Not found meteo record for date %d/%d/%d\n",sd.d,sd.m,sd.y);
- }
- else {
- for(i=0;i<n;i++){
- if(sd.d==M[i].date.d&&sd.m==M[i].date.m&&sd.y==M[i].date.y){
- printf("meteo for date %d/%d/%d\n",M[i].date.d,M[i].date.m,M[i].date.y);
- printf("RAIN: %.2f\n",M[i].rain);
- printf("MIN TEMP: %.2f\n",M[i].minTemp);
- printf("MAX TEMP: %.2f\n",M[i].maxTemp);
- }
- else if(sd.d!=M[i].date.d&&sd.m!=M[i].date.m&&sd.y!=M[i].date.y){
- printf("Not found meteo record for date %d/%d/%d\n",sd.d,sd.m,sd.y);
- break;
- }
- }
- }
- }
- int main(){
- int n=3;
- float mintemp=0;
- Date sd;
- MeteoRecord m;
- MeteoRecord M[n];
- inputYearTable(M,n);
- calAvgTemp(M,n);
- mintemp=findMinTemp(M,n);
- accumRainMonthly(M,n);
- printf("\n\nmintemp = %.2f",mintemp);
- printf("\n\nEnter Day/Month/Year with find : ");
- scanf("%d %d %d",&sd.d,&sd.m,&sd.y);
- fflush(stdin);
- m = findDateMeteo(M,n,sd);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement