Search our Repository

Order a high quality custom written paper

This revision paper should be used as a source of ideas / reasoning / inspiration for your own research. You should never submit it as your own work. Need something custom and original? Choose from a wide range of academic writing tasks and get the one you need.

Price $21

Pay with paypal

* Once your purchase is processed by paypal you will be redirected back to this page and you'll have the option to download the paper. We'll also send the paper to your paypal email address as proof of purchase.
Download Paper

Cmis 102 Hands On Lab Week 8

Question

CMIS 102 Hands-On Lab

Week 8

Overview

This hands-on lab allows you to follow and experiment with the critical
steps of developing a program including the program description,
analysis, test plan, and implementation with C code. The example
provided uses sequential, repetition, selection statements, functions,
strings and arrays.

Program Description

This program will input and store meteorological data into an array. The
program will prompt the user to enter the average monthly rainfall for a
specific region and then use a loop to cycle through the array and
print out each value. The program should store up 5 years of
meteorological data. Data is collected once per month. The program
should provide the option to the user of not entering any data.

Analysis

I will use sequential, selection, and repetition programming statements and an array to store data.
I will define a 2-D array of Float number: Raindata[][] to store the
Float values input by the user. To store up to 5 years of monthly data,
the array size should be at least 5*12 = 60 elements. In a 2D array this
will be RainData[5][12]. We can use #defines to set the number of years
and months to eliminate hard-coding values.
A float number (rain) will also be needed to input the individual rain data.

A nested for loop can be used to iterate through the array to enter
Raindata. A nested for loop can also be used to print the data in the
array.

A array of strings can be used to store year and month names. This will allow a tabular display with labels for the printout.

Functions
will be used to separate functionality into smaller work units.
Functions for displaying the data and inputting the data will be used.

A selection statement will be used to determine if data should be entered.

Test Plan

To verify this program is working properly the input values could be used for testing:

Test Case
Input
Expected Output

1
Enter data? = y
year
month
rain

1.2
2011
Jan
1.20

2.2
2011
Feb
2.20

3.3
2011
Mar
3.30

2.2
2011
Apr
2.20

2011
May
10.20

10.2

2011
Jun
12.20

12.2

2011
Jul
2.30

2.3

2011
Aug
0.40

0.4

2011
Sep
0.20

0.2

2011
Oct
1.10

1.1

2011
Nov
2.10

2.1

2011
Dec
0.40

1

0.4
2012
Jan
1.10

1.1
2012
Feb
2.20

2.2
2012
Mar
3.30

3.3
2012
Apr
2.20

2.2
2012
May
10.20

2012
Jun
12.20

10.2

2012
Jul
2.30

12.2

2012
Aug
0.40

2.3

2012
Sep
0.20

0.4

2012
Oct
1.10

0.2

2012
Nov
2.10

1.1

2012
Dec
0.40

2.1

2013
Jan
1.10

0.4

2013
Feb
2.20

1.1
2013
Mar
3.30

2.2
2013
Apr
2.20

3.3
2013
May
10.20

2.2
2013
Jun
12.20

10.2
2013
Jul
2.30

12.2
2013
Aug
0.40

2.3
2013
Sep
0.20

2013
Oct
1.10

0.4

2013
Nov
2.10

0.2

2013
Dec
0.40

1.1

2014
Jan
1.10

2.1

2014
Feb
2.20

0.4

2014
Mar
3.30

1.1

2014
Apr
2.20

2.2

2014
May
10.20

3.3

2014
Jun
12.20

2.2
2014
Jul
2.30

10.2
2014
Aug
0.40

12.2
2014
Sep
0.20

2.3
2014
Oct
1.10

0.4
2014
Nov
2.10

0.2
2014
Dec
0.40

1.1
2015
Jan
1.10

2015
Feb
2.20

2.1

2015
Mar
3.30

0.4

2015
Apr
2.20

1.1

2015
May
10.20

2.2

2015
Jun
12.20

3.3

2015
Jul
2.30

2.2

2015
Aug
0.40

10.2

2015
Sep
0.20

12.2

2015
Oct
1.10

2.3
2015
Nov
2.10

0.4
2015
Dec
0.40

0.2
Please try the


1.1
Precipitation program

2.1
again.



0.4






2
Enter data? = n
No data was input at this time.

2
Please try the Precipitation program again.



C Code

The following is the C Code that will compile in execute in the online compilers.

//  C code
//  This program will input and store meteorological data into an array.

//  Developer: Faculty CMIS102
//  Date: Jan 31, XXXX

#define NUMMONTHS 12 #define NUMYEARS 5 #include <stdio.h>

//  function prototypes void inputdata();

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"); scanf("%c",&enterData);

if (enterData == 'y') {

// Call Function to Input data inputdata();

// Call Function to display data printdata();

}
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); scanf("%f",&Rain);
Raindata[year][month]=Rain;


3

}
}

}

//  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++) {

printf("%s\t %s\t %5.2f\n", years[year],months[month],Raindata[year][month]);
}

}
}


Setting up the code and the input parameters in ideone.com:

You can change these values to any valid integer values to match your test cases.

Results from running the programming at ideone.com

Learning Exercises for you to complete

1.       Modify the program to add a function to sum the rainfall for each year.
(Hint: you need to sum for each year. You can do this using a looping
structure). Support your experimentation with screen captures of
executing the new code.

2.       Enhance the program to
allow the user to enter another meteorological element such as windspeed
(e.g. 2.4 mph). Note, the user should be able to enter both rainfall
and windspeed in your new implementation. Support your experimentation
with screen captures of executing the new code.

3.       Prepare a new test table with at least 2 distinct test cases listing
input and expected output for the code you created after step 2.

4.       What happens if you change the NUMMONTHS and NUMYEARS definitions to
other values? Be sure to use both lower
experimentation with screen captures of executing the new
code

Solution

Title: Cmis 102 Hands On Lab Week 8
Length: 8 pages (2000 Words)
Style: APA

Preview

C Code

// C code

// This program will input and store meteorological data into an array.

// Developer: Faculty CMIS102

// Date: Jan 31, XXXX

#define NUMMONTHS 12

#define NUMYEARS 5

#include <stdio.h>

// function prototypes

void inputdata();

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" };

float sumRainfall[NUMYEARS];

$21.00

Do you need an affordable high quality custom written paper?

Order a high quality custom written paper

With a team of proficient and enthusiastic writers, we are able to produce a compelling text on practically any topic.

Plagiarism Free

Excellent Quality

100% MONEYBACK