// C code
// This program will input and store meteorological data into an array
//will sum rain fall of each year
// Developer: Imebet Negede
// Date: December 13, 2017
#define NUMMONTHS 6
#define NUMYEARS 2
#include <stdio.h>
// function prototypes
void inputdata( ) ;
void sum( ) ;
void printdata( ) ;
// Global variables
// These are available to all functions
float Raindata[ NUMYEARS] [ NUMMONTHS] ;
char years[ NUMYEARS] [ 5 ] = { "2011" , "2012" , "2013" , "2014" , "2015" } ;
char months[ NUMMONTHS] [ 12 ]
= { "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" } ;
int main ( )
{
char enterData = 'y' ;
printf ( "Do you want to input Precipatation data? (y for yes)\n " ) ; if ( enterData == 'y' ) {
// Call Function to Input data
inputdata( ) ;
// Call Function to display data
printdata( ) ;
sum( ) ;
}
else {
printf ( "No data was input at this time\n " ) ; }
printf ( "Please try the Precipitation program again. \n " ) ; return 0 ;
}
// function to inputdata
void inputdata( ) {
/* variable definition: */
float Rain= 1.0 ;
// Input Data
for ( int year= 0 ; year < NUMYEARS; year++ ) {
for ( int month= 0 ; month< NUMMONTHS; month++ ) {
printf ( "Enter rain for %d, %d:\n " , year
+ 1 , month
+ 1 ) ; Raindata[ year] [ month] = Rain;
}
}
}
// Function to printdata
void printdata( ) {
// Print data
printf ( "year\t month\t rain\n " ) ; for ( int year= 0 ; year < NUMYEARS; year++ ) {
for ( int month= 0 ; month< NUMMONTHS; month++ ) {
years[ year] , months[ month] , Raindata[ year] [ month] ) ;
}
}
}
void sum( ) {
for ( int year= 0 ; year < NUMYEARS; year++ ) {
float sum = 0.00 ;
for ( int month= 0 ; month< NUMMONTHS; month++ ) {
sum = sum + Raindata[ year] [ month] ;
}
printf ( "sum of rain for year %s\t %5.2f\n " , years
[ year
] , sum
) ; }
}
Ly8gQyBjb2RlCi8vIFRoaXMgcHJvZ3JhbSB3aWxsIGlucHV0IGFuZCBzdG9yZSBtZXRlb3JvbG9naWNhbCBkYXRhIGludG8gYW4gYXJyYXkKLy93aWxsIHN1bSByYWluIGZhbGwgb2YgZWFjaCB5ZWFyCi8vIERldmVsb3BlcjogSW1lYmV0IE5lZ2VkZQovLyBEYXRlOiBEZWNlbWJlciAxMywgMjAxNwojZGVmaW5lIE5VTU1PTlRIUyA2CiNkZWZpbmUgTlVNWUVBUlMgMgojaW5jbHVkZSA8c3RkaW8uaD4KLy8gZnVuY3Rpb24gcHJvdG90eXBlcwp2b2lkIGlucHV0ZGF0YSgpOwp2b2lkIHN1bSgpOwp2b2lkIHByaW50ZGF0YSgpOwoKLy8gR2xvYmFsIHZhcmlhYmxlcwovLyBUaGVzZSBhcmUgYXZhaWxhYmxlIHRvIGFsbCBmdW5jdGlvbnMKZmxvYXQgUmFpbmRhdGFbTlVNWUVBUlNdW05VTU1PTlRIU107CmNoYXIgeWVhcnNbTlVNWUVBUlNdWzVdID0geyIyMDExIiwiMjAxMiIsIjIwMTMiLCIyMDE0IiwiMjAxNSJ9OwpjaGFyIG1vbnRoc1tOVU1NT05USFNdWzEyXQo9eyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMifTsKaW50IG1haW4gKCkKewoJY2hhciBlbnRlckRhdGEgPSAneSc7CglwcmludGYoIkRvIHlvdSB3YW50IHRvIGlucHV0IFByZWNpcGF0YXRpb24gZGF0YT8gKHkgZm9yIHllcylcbiIpOwoJc2NhbmYoIiVjIiwmZW50ZXJEYXRhKTsKaWYgKGVudGVyRGF0YSA9PSAneScpIHsKLy8gQ2FsbCBGdW5jdGlvbiB0byBJbnB1dCBkYXRhCmlucHV0ZGF0YSgpOwoKLy8gQ2FsbCBGdW5jdGlvbiB0byBkaXNwbGF5IGRhdGEKcHJpbnRkYXRhKCk7CnN1bSgpOwp9CmVsc2UgewpwcmludGYoIk5vIGRhdGEgd2FzIGlucHV0IGF0IHRoaXMgdGltZVxuIik7Cn0KcHJpbnRmKCJQbGVhc2UgdHJ5IHRoZSBQcmVjaXBpdGF0aW9uIHByb2dyYW0gYWdhaW4uIFxuIik7CnJldHVybiAwOwp9Ci8vIGZ1bmN0aW9uIHRvIGlucHV0ZGF0YQp2b2lkIGlucHV0ZGF0YSgpIHsKLyogdmFyaWFibGUgZGVmaW5pdGlvbjogKi8KZmxvYXQgUmFpbj0xLjA7Ci8vIElucHV0IERhdGEKZm9yIChpbnQgeWVhcj0wO3llYXIgPCBOVU1ZRUFSUzsgeWVhcisrKSB7CmZvciAoaW50IG1vbnRoPTA7IG1vbnRoPCBOVU1NT05USFM7IG1vbnRoKyspIHsKcHJpbnRmKCJFbnRlciByYWluIGZvciAlZCwgJWQ6XG4iLCB5ZWFyKzEsIG1vbnRoKzEpOwpzY2FuZigiJWYiLCZSYWluKTsKUmFpbmRhdGFbeWVhcl1bbW9udGhdPVJhaW47Cgp9Cn0KfQovLyBGdW5jdGlvbiB0byBwcmludGRhdGEKdm9pZCBwcmludGRhdGEoKXsKLy8gUHJpbnQgZGF0YQpwcmludGYgKCJ5ZWFyXHQgbW9udGhcdCByYWluXG4iKTsKZm9yIChpbnQgeWVhcj0wO3llYXIgPCBOVU1ZRUFSUzsgeWVhcisrKSB7CgkKZm9yIChpbnQgbW9udGg9MDsgbW9udGg8IE5VTU1PTlRIUzsgbW9udGgrKykgewoKCgoJCnByaW50ZigiJXNcdCAlc1x0ICU1LjJmXG4iLAp5ZWFyc1t5ZWFyXSxtb250aHNbbW9udGhdLFJhaW5kYXRhW3llYXJdW21vbnRoXSk7CgoKfQp9Cn0Kdm9pZCBzdW0oKXsKZm9yIChpbnQgeWVhcj0wO3llYXIgPCBOVU1ZRUFSUzsgeWVhcisrKSB7CmZsb2F0IHN1bSA9IDAuMDA7Cgpmb3IgKGludCBtb250aD0wOyBtb250aDwgTlVNTU9OVEhTOyBtb250aCsrKSB7CgoKc3VtID0gc3VtICsgUmFpbmRhdGFbeWVhcl1bbW9udGhdOwoKfQoKcHJpbnRmKCJzdW0gb2YgcmFpbiBmb3IgeWVhciAlc1x0ICU1LjJmXG4iLCB5ZWFyc1t5ZWFyXSxzdW0pOwp9Cn0K
stdin
eQoxLjIKMi4yCjMuMwoyLjIKMTAuMgoxMi4yCjIuMwowLjQKMC4yCjEuMQoyLjEKMC40CjEuMQoyLjIKMy4zCjIuMgoxMC4yCjEyLjIKMi4zCjAuNAowLjIKMS4xCjIuMQowLjQKMS4xCjIuMgozLjMKMi4yCjEwLjIKMTIuMgoyLjMKMC40CjAuMgoxLjEKMi4xCjAuNAoxLjEKMi4yCjMuMwoyLjIKMTAuMgoxMi4yCjIuMwowLjQKMC4yCjEuMQoyLjEKMC40CjEuMQoyLjIKMy4zCjIuMgoxMC4yCjEyLjIKMi4zCjAuNAowLjIKMS4xCjIuMQowLjQ=
y
1.2
2.2
3.3
2.2
10.2
12.2
2.3
0.4
0.2
1.1
2.1
0.4
1.1
2.2
3.3
2.2
10.2
12.2
2.3
0.4
0.2
1.1
2.1
0.4
1.1
2.2
3.3
2.2
10.2
12.2
2.3
0.4
0.2
1.1
2.1
0.4
1.1
2.2
3.3
2.2
10.2
12.2
2.3
0.4
0.2
1.1
2.1
0.4
1.1
2.2
3.3
2.2
10.2
12.2
2.3
0.4
0.2
1.1
2.1
0.4
stdout
Do you want to input Precipatation data? (y for yes)
Enter rain for 1, 1:
Enter rain for 1, 2:
Enter rain for 1, 3:
Enter rain for 1, 4:
Enter rain for 1, 5:
Enter rain for 1, 6:
Enter rain for 2, 1:
Enter rain for 2, 2:
Enter rain for 2, 3:
Enter rain for 2, 4:
Enter rain for 2, 5:
Enter rain for 2, 6:
year month rain
2011 Jan 1.20
2011 Feb 2.20
2011 Mar 3.30
2011 Apr 2.20
2011 May 10.20
2011 Jun 12.20
2012 Jan 2.30
2012 Feb 0.40
2012 Mar 0.20
2012 Apr 1.10
2012 May 2.10
2012 Jun 0.40
sum of rain for year 2011 31.30
sum of rain for year 2012 6.50
Please try the Precipitation program again.