idastan97

CSCI151 L25 P2

Nov 9th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1. /*
  2.  * prog.c
  3.  *
  4.  *  Created on: Nov 10, 2016
  5.  *      Author: dastan.iyembergen
  6.  */
  7.  
  8. #include <stdio.h>
  9.  
  10. int i;
  11.  
  12. typedef struct{
  13.     int rain;
  14.     double t;
  15.     double w;
  16. } weather;
  17.  
  18. int totalRain(weather *p){
  19.     int sum=0;
  20.     for (i=0; i<12; i++){
  21.         sum+=p[i].rain;
  22.     }
  23.     return sum;
  24. }
  25.  
  26. double lowestTemp(weather *p){
  27.     double lowest=p[0].t;
  28.     for (i=1; i<12; i++)
  29.         if (p[i].t<lowest)
  30.             lowest=p[i].t;
  31.     return lowest;
  32.  
  33. }
  34.  
  35. double aveWind(weather *p){
  36.     double sum=0;
  37.     for (i=0; i<12; i++){
  38.         sum+=p[i].w;
  39.     }
  40.     return sum/12.0;
  41. }
  42.  
  43. void printWeather(weather *p){
  44.     for (i=0; i<12; i++){
  45.         printf("%4i %7.1f %6.1f\n", p[i].rain, p[i].t, p[i].w);
  46.     }
  47. }
  48.  
  49. int main(void) {
  50.     weather *data=(weather*)malloc(12 * sizeof(weather));
  51.     FILE *infile;
  52.     infile=fopen("astana.txt", "r");
  53.     for (i=0; i<12; i++){
  54.         int r;
  55.         double te, wi;
  56.         fscanf(infile, "%i %lf %lf", &r, &te, &wi);
  57.         data[i].rain=r;
  58.         data[i].t=te;
  59.         data[i].w=wi;
  60.     }
  61.     fclose(infile);
  62.     printf("The total rainfall: %4i\n", totalRain(data));
  63.     printf("The lowest temperature: %7.1f\n", lowestTemp(data));
  64.     printf("average wind speed: %6.1f\n\n", aveWind(data));
  65.     printWeather(data);
  66.  
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment