(Latest Revision: Wed Nov 26 12:18 PST 2014 )

SIXTH CS 1500 SOLO PROGRAM: Array Arithmetic Program


OBJECTIVE: The purpose of this programming assignment is to get practice using files, arrays, and loops.


ASSIGNMENT SYNOPSIS:

Write a program that reads two sets of numbers from a file and performs some arithmetic operations with them.


DETAILS:

To get a clear idea of what the program is supposed to do, have a look at the sample runs.


INPUT:

You must write the program with certain facts, assumptions, and preconditions in mind:
THE DESIGN OF THE PROGRAM:

The program must have at least two functions (in addition to the main() function).

At least two of the additional functions must have one or more parameters.

You are not allowed to use any global variables.

I expect you to employ good principles of top-down design when you develop the program.

I want you to have the experience of writing a program that reads from a file and uses arrays appropriately. Therefore You should use this kind of declaration in your program:

char fileName[256] ;

to give your program the variable needed for accepting the filename from the user.

The array is nice and long - 256 slots - so it has more than enough capacity for most filenames. 256 slots is enough for 255 characters in a string, plus the null character ('\0') that is used to mark the end of the string.

You can use a command like
ifstream fin(filename) ;
OR these commands
ifstream fin ;
fin.open(fileName);
to declare an ifstream named fin, and attach it to the file whose name is stored in the fileName string variable (array of char).

Note: Come to class to get more discussion of how to design the code.


FORM AND FORMATTING REQUIREMENTS:

At the beginning of your program file put a header comment like this:

  /* PROGRAM: Array Arithmetic */

  /*

  Name:          Gordon Goodguy
  User Name:     goodge
  Course:        CS 1500, Computer Programming I
  Instructor:    John Sarraille
  Date:          January 01, 1970

  */
Of course, in place of "Gordon Goodguy," you must put your own full name. In place of "goodge" put your user (login) name. In place of the Unix epoch, "January 01, 1970," put the date that you finished the program. Note that the comment delimiters /* and */ are important. They need to be placed correctly or you will get compiler errors.


TESTING:

When you make your test script, include the two tests that are in the sample runs. Also perform a test where the input file does not exist. (In this case the program should write a message saying there was a failure to open the file, and then exit immediately.) To make it easier for me to check the work in your script, order your tests so that When you do your testing, verify that all the output of the program is correct.


WHAT TO TURN IN:

You will be sending me two e-mail messages. Please follow these rules: Here is the list of things you have to turn in: Note that there are no spaces in the subject lines given. It is important that you do not insert any spaces. My e-mail address is:

john@ishi.csustan.edu



WHEN IS THIS ASSIGNMENT DUE?

Look for the due date in the class schedule. (It's at the top level of the class directory.)