Final Exam Prep

Practice Quiz 8


Telephone Numbers

  • Write a program that reads in a series of numbers, as strings, from a file and converts them to valid telephone numbers.
  • The numbers are contained in file is called numbers.txt.
  • The numbers must read into the file using a loop, and stored as an array of strings. Note that you may assume that the size of the array is known ahead of time to be 10.
  • As it reads in each number, it should convert the number to a valid telephone number in the format XXX.XXX.XXXX by calling a function named formatPhone.
  • Here is the information about this function:
    • The function is named formatPhone
    • It take in a string variable by reference
    • It alters the string to be a properly formatted phone number, in the format XXX.XXX.XXXX
    • This function must use the substring function to format the numbers
    • It returns nothing.
  • The program must also contain a second function which writes out the contents of the array in a file named phones.txt
  • Here is the information about the second function:
    • The function is named printArray
    • It takes in two parameters - one is an array of strings, and the second is an int for the size of the array
    • It creates a new output file stream variable and opens up a file called phones.txt
    • It also checks for failure if the file cannot open
    • It uses a for loop to print out the contents of the array in the file.
    • It then closes the file.
    • It returns nothing.
  • Copy and paste the starter code below into a new file called phones.cpp

/*
* Name
* Section info
*/
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

void formatPhone(string& number);
//converts a string to a formatted phone number in the format XXX.XXX.XXXX

void printArray(string nums[], int size);
//prints out an array to a file named phones.txt

int main() {
    //write the program logic here
    string number;


}

//write your functions here

  • Copy and paste the below data into a file called numbers.txt:

5556667777
3334445555
1118884944
3332225677
1234445555
8889990000
1116664344
2224563333
1112229999
4568899399

  • Below is the output that your program should give inside of the phones.txt file
555.666.7777
333.444.5555
111.888.4944
333.222.5677
123.444.5555
888.999.0000
111.666.4344
222.456.3333
111.222.9999
456.889.9399
Once you have the correct output inside of the phones.txt file, your program is complete.


Customers
  • Write a program that reads in a series of names in all lower case, along with their gender from a file.
  • The file is called names.txt.
  • The program uses a loop to read in each name from the file and store each person's title (Mr. or Ms.) + name in an array called customers.
  • The program should then call two functions.
  • The first function:
    • The function is named capitalizeName
    • It take in a string parameter BY REFERENCE
    • It capitalizes the first letter of the first name and the first letter of the last name
    • It cannot call any outside functions that we have not discussed in this class.
    • It returns nothing.
  • The second function:
    • The function is named printArray
    • It takes in two parameters - one is an array of strings and the second is an int for the size
    • It creates a new output file stream variable and opens up a file called customers.txt
    • It also checks for failure if the file cannot open
    • It uses a for loop to print out the contents of the array in the file.
    • It then closes the file
    • It returns nothing
  • Inside of main, read in the values in the names.txt file using a while loop (required).
  • Alter each name to have Mr. or Ms. in front of the name depending on the gender specified beneath the name in the names.txt file. You must also capitalize each name and store it in an array of strings.
  • Note that you may assume that the size of the array is known ahead of time to be 8.
  • Finally, call the printArray function, to write the array into a file called customers.txt
  • Copy and paste the starter code into a new C++ file called customers.cpp

#include <iostream>
//add two more libraries here for file I/O
using namespace std;

void capitalizeName(string& name);
//Capitalizes the first initial and the first letter of the last name.

void printArray(string names[], int size);
//Writes the contents of an array of strings into a file called customers.txt

int main() {
    string name, gender;
    return 0;
   
}

//Write your two functions here

  • Copy and paste the below data into a file called names.txt:
b. stanton
female
t. martinez
male
g. gu
female
x. xiao
male
d. kim
female
t. white
female
a. ngo
female
a. fadel
male

  • Below is the output that your program should give in a file called customers.txt:
MS. B. Stanton
MR. T. Martinez
MS. G. Gu
MR. X. Xiao
MS. D. Kim
MS. T. White
MR. A. Ngo
MR. A. Fadel
  • When your code is providing the correct output in the contacts.txt file, your program is complete