UMBC CMSC104

Project 2 - Student Ages

Due Dates

Section 0201: Wednesday, November 22 by midnight
Section 0601: Friday, November 17 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:

a.out < proj2.dat This is how UNIX redirection is done. It is saying to run your executable file using the file proj2.dat as input. The file, proj2.dat, can be seen by following this link. Within your gl account, bring up Netscape and go to this link. Then under the File menu, choose the Save As option. This will save a copy of the proj2.dat file into your directory so that you can use it as input. DO NOT just cut and paste to capture the text and put it into a file because you may capture some unwanted extra spaces.

Here is an example of what a data file might look like:

18 39 23 18 19 15 28 -1 Note that there may be several students of the same age.

Here is the output that would result from using this sample data file:

CMSC 104 Student Age Analysis There are 7 students enrolled in CMSC 104. The youngest student is 15 years old. The oldest student is 39 years old. The average age is 22 years. The number of students under the age of 19 is 3. The number of students 19 years of age or older is 4.

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.

Project Submission

Submit your project by e-mailing your source code (proj2.c) to Evelyn (cwang3@cs.umbc.edu) as an attachment. Make the Subject of the e-mail Project 2 so that Evelyn knows what it is. Do NOT send your executable file (a.out).


Last Modified: Saturday, 04-Nov-2000 11:28:56 EST

Saturday, 04-Nov-2000 11:28:56 EST