Welcome to the Most Reliable, Essay Writing Service on the internet

this-hands-on-lab-allows-you-to-follow-and-experiment-with-the-critical-steps

Mar 23

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 hardcoding 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
1

Input

Expected Output

Enter data? = y
1.2
2.2
3.3
2.2
10.2
12.2
2.3
0.4
0.2
1.1
2.1

year
2011
2011
2011
2011
2011
2011
2011
2011
2011
2011
2011
2011

month
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec

rain
1.20
2.20
3.30
2.20
10.20
12.20
2.30
0.40
0.20
1.10
2.10
0.40

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

2

2012
Jan
1.10
2012
Feb
2.20
2012
Mar
3.30
2012
Apr
2.20
2012
May
10.20
2012
Jun
12.20
2012
Jul
2.30
2012
Aug
0.40
2012
Sep
0.20
2012
Oct
1.10
2012
Nov
2.10
2012
Dec
0.40
2013
Jan
1.10
2013
Feb
2.20
2013
Mar
3.30
2013
Apr
2.20
2013
May
10.20
2013
Jun
12.20
2013
Jul
2.30
2013
Aug
0.40
2013
Sep
0.20
2013
Oct
1.10
2013
Nov
2.10
2013
Dec
0.40
2014
Jan
1.10
2014
Feb
2.20
2014
Mar
3.30
2014
Apr
2.20
2014
May
10.20
2014
Jun
12.20
2014
Jul
2.30
2014
Aug
0.40
2014
Sep
0.20
2014
Oct
1.10
2014
Nov
2.10
2014
Dec
0.40
2015
Jan
1.10
2015
Feb
2.20
2015
Mar
3.30
2015
Apr
2.20
2015
May
10.20
2015
Jun
12.20
2015
Jul
2.30
2015
Aug
0.40
2015
Sep
0.20
2015
Oct
1.10
2015
Nov
2.10
2015
Dec
0.40
Please try the
Precipitation program
again.

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)
");
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
");
}
printf("Please try the Precipitation program again.
");
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:
", year+1, month+1);
scanf("%f",&Rain);
Raindata[year][month]=Rain;

3

}
}
}
// Function to printdata
void printdata(){
// Print data
printf ("year month rain
");
for (int year=0;year < NUMYEARS; year++) {
for (int month=0; month< NUMMONTHS; month++) {
printf("%s %s %5.2f
",
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.

4

Results from running the programming at ideone.com

5

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 and higher values. Describe and implement fixes for any issues if errors
results. Support your experimentation with screen captures of executing the new code.
Grading guidelines
Submission
Successfully demonstrates execution of this lab with online
compiler. Includes a screen capture.
Modifies the code to add a function to sum the rainfall for
each year. Support your experimentation with screen
captures of executing the new code
Enhances the program to allow the user to enter another
meteorological element such as windspeed (e.g. 2.4 mph).
Support your experimentation with screen captures of
executing the new code.

Points
2

Provides a new test table with at least 2 distinct test cases
listing input and expected output for the code you created
after step 2.
Describes what would happen if you change the
NUMMONTHS and NUMYEARS definitions to other values?
Applies both lower and higher values. Describes and
implements fixes for any issues if errors results. Support your
experimentation with screen captures of executing the new
code
Document is well-organized, and contains minimal spelling
and grammatical errors.
Total

1

2

2

2

1
10

6

  

CLIENT TESTIMONIALS

The Service Is Okay. I won’t Complain

The writers on the website are courteous and the customer service responds quickly. My paper was handled well; They promised...

Writers here are very professional and are native British

Thanks a lot for helping me out with my PhD Thesis, Writers here are very professional and are native British!!

Jack, The United Kingdom

Very Very Helpful, and On time.

Very Very Helpful, and On time.

Adelio M, Spain

I scored complete A’s in 3 out of four courses

I scored complete A’s in 3 out of four courses

Anonymous, Illinoi Chicago

CLICK HERE  To order your paper

About Essaysmiths Assignment writing service

We are a professional paper writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework. We offer HIGH QUALITY & PLAGIARISM FREE Papers.

How It Works

To make an Order you only need to click on “Order Now” and we will direct you to our Order Page. Fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Are there Discounts?

All new clients are eligible for upto 20% off in their first Order. Our payment method is safe and secure.

 CLICK HERE to Order Your Assignment

 

Get access to cheap essays online, and forget about all your worries

Quality assurance

When we accept your assignment order, we treat it with the utmost seriousness. This means that only the best experts will conduct research on your topic and that they will deliver your paper only after making sure that it is insightful.

Total confidentiality

We use the SSL protocol to ensure that all the details of our customers are 100% safe and secure. So, forget about all worries when sharing personal information on our site. We never disclose the details of our clients.

All round service

24/7 customer support. We don’t want you to fail to submit your paper. So, we work 24 hours a day and 7 days a week to provide you with instant feedback.

Original Essays

One of the key principles of our work is to be creative and original. We hire only talented and experienced essay writers that are able to create authentic papers. Each regular essay or term paper is written from scratch in accordance with all your guidelines.

Cheap Service

Compared to our competitors, we offer a relatively cheap service. We allow you the comfort of a cheap paper writing service to improve your grades. If you are facing an academic problem, we’ll solve it by asking for a fair price.

Rocket fast Essay writing service

Don’t worry! We work in a timely manner to deliver orders before the due date. You’ll have enough time to check whether the finished paper corresponds to all your requirements. If not, provide us with feedback and ask for a revision.

Order Your Essay Today From  reliable Essay writing Service.

Order your Assignment today and save 15% with the discount code ESSAYHELP

X