Due Date: Wednesday, November 22 by midnight
NO LATE PROJECTS WILL BE ACCEPTED!
Point Value
This assignment is worth 50 points.
Assignment
You have been assigned the task of producing statistics based on the ages of all current CMSC 104 students. Given the ages, you are to determine each of the following pieces of information:
Name the program proj2.c. Use a #define preprocessor directive to define the constant AGE as 19. A data file containing the ages for you to use as input to your program will be provided. (These ages are obviously not from a survey of all CMSC 104 students because there are too few ages in the file.) The ages, which can be assumed to be positive, non-zero numbers, are in random order. The last value in the file is -1. This is the sentinel value that signals the program to stop reading ages.
To use the data file as input to your program, you will use UNIX redirection.
By using redirection, you can have UNIX fill the stdin
buffer from a data file
rather than from the keyboard. The scanf
statement that you use in your
program will look exactly the same as it would if you were getting your input
from the keyboard. Since you will be getting the values from a file instead of from a user typing at the keyboard, you will not need to prompt the user.
When you run your program, use the following command:
Here is an example of what a data file might look like:
Here is the output that would result from using this sample data file:
Your program's output should follow this EXACT format.
Coding Standards and Indentation
Make sure that you follow the "C Coding Standards" and "Indentation Styles" given on the Projects web page. Your program will be graded not only on whether or not it produces the correct results, but also on whether or not you follow these standards and styles.
In addition, your file header comment must contain your algorithm.
Project Submission
Submit your project by e-mailing your source code (proj2.c) to Jason (cai1@gl.umbc.edu) as an attachment. Make the Subject of the e-mail Project 2 so that Json knows what it is. Do NOT send your executable file (a.out).