Hands On C++: Project 8


Objectives

1. Practice performing file I/O via fstreams.
2. Practice designing and implementing programs.

Introduction

Each of the following projects involves the use of file I/O. Your instructor will tell you which of them you are to do, and will provide any input files to be used to test your program.

Projects

8.1. Write a program that reads from a file of real numbers, and displays the minimum, maximum, average, and range of the numbers in the file. The user should be able to enter the name of the input file from the keyboard.

8.2. Write a program that reads the contents of a file and creates an exact copy of the file, except that each line is numbered. For example, if the input file contains the following text:

   'Twas brillig, and the slithy toves
      Did gyre and gimble in the wabe;
   All mimsy were the borogoves,
      And the mome raths outgrabe.
                           - Lewis Carroll
then the output file should appear something like this:
   1: 'Twas brillig, and the slithy toves
   2:    Did gyre and gimble in the wabe;
   3: All mimsy were the borogoves,
   4:    And the mome raths outgrabe.
   5:                         - Lewis Carroll
The user should be able to enter the names of the input and output files from the keyboard.

8.3. Using the PigLatin() function we wrote in exercise 4, write a program that reads a file of words and translates each word in that file into pig latin. The user should be able enter the names of the input and output files from the keyboard.

8.4. Write a text-analysis program that reads an essay or composition stored in a text file, and determines the number of words, the number of sentences, the average number of words per sentence, the average number of letters per word, and a complexity rating, using:

   complexity = 0.5 ¥ averageSentenceLength + 0.5 ¥ averageWordLength.
Based on these calculations, your program should assess the writing level of the essay as:
Grammar School, if complexity < 6 College, if 8 <= complexity < 9
Junior High, if 6 <= complexity < 7 Graduate, if complexity >= 9
High School, if 7 <= Complexity < 8
The user should be able to enter the name of the input file from the keyboard.

Turn In: A hard copy of this grade sheet, attached to hard copies of

  1. all source files you created for this project;
  2. an execution record showing a run of your program;
  3. the input file from the run of your program; and
  4. the output file from the execution of your program (if apppropriate).

Don't forget to clean up your directory when you are all finished...


Back to the Lab Exercise

Back to This Lab's Home Page


Copyright 1998 by Joel C. Adams. All rights reserved.