Lab 2
Logistics
- Due: Sunday, May 16th no later than 11:59pm.
- Submission instructions: push a commit with the tag
lab2
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Learning outcomes
- Practice using
if
statements. - Practice using loops.
Assignment
This is based on problem 7, chapter 5 on page 309.
Write a program to process a collection of daily high temperatures. Your program should count the number of hot days (high temperature 85 or higher), the number of pleasant days (high temperature 60-84), and the number of cold days (high temperatures less than 60). Then, it should print a visualization of those numbers (see sample output for an example) and the average temperature.
Requirements
- Write your program in a file called
lab2.c
in yourcsci112-firstname-lastname/labs/lab2/
directory. - You can assume that the user will only enter integers.
Example output
[p19t655@csci112 lab2]$ ./lab2
Enter a high temp reading (-99 to quit)> 100
Enter a high temp reading (-99 to quit)> 0
Enter a high temp reading (-99 to quit)> 50
Enter a high temp reading (-99 to quit)> -99
Hot days: 1
Pleasant days: 0
Cold days: 2
The average temperature was 50.00 degrees.
[p19t655@csci112 lab2]$ ./lab2
Enter a high temp reading (-99 to quit)> 52
Enter a high temp reading (-99 to quit)> 62
Enter a high temp reading (-99 to quit)> 68
Enter a high temp reading (-99 to quit)> 74
Enter a high temp reading (-99 to quit)> 59
Enter a high temp reading (-99 to quit)> 45
Enter a high temp reading (-99 to quit)> 41
Enter a high temp reading (-99 to quit)> 58
Enter a high temp reading (-99 to quit)> 60
Enter a high temp reading (-99 to quit)> 67
Enter a high temp reading (-99 to quit)> 65
Enter a high temp reading (-99 to quit)> 78
Enter a high temp reading (-99 to quit)> 82
Enter a high temp reading (-99 to quit)> 88
Enter a high temp reading (-99 to quit)> 91
Enter a high temp reading (-99 to quit)> -99
Hot days: 2
Pleasant days: 8
Cold days: 5
The average temperature was 66.00 degrees.
Grading - 100 points
- 5 points: code is indented so it is readable
- 10 points: compiles successfully with
-Wall
– no warnings - 10 points - the program stops collecting data when the user enters -99, and -99 is not counted as a temperature
- 5 points - hot temperatures are counted correctly
- 5 points - pleasant temperatures are counted correctly
- 5 points - cold temperatures are counted correctly
- 20 points - the average computation is correct
- 5 points - the average temperatures is printed with exactly two decimal places
Grading turnaround
This lab will be graded within one week of its due date.
Go beyond
- Use functions to avoid repeated code when printing your visualization.
- Use the increment operator
++
and addition assignment+=
when possible.