Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Make a C++ program that reads from a file name specified in the command line as an argument, and ignores any extra command line arguments

Make a C++ program that reads from a file name specified in the command line as an argument, and ignores any extra command line arguments that are provided after the file name. However, if no file name is provided, the program should use the standard input instead of a file. If the file cannot be opened, print on a new line "File cannot be opened: ", followed the file name, and exit. The program should read from the file character by character until the end of file. If the input file is empty, print out the message "File is empty." on a new line and then exit. The program should count the number of lines, number of words, number of characters, number of digit characters ('0' - '9'), and the number of alphabetic characters seen in the file.(do not open the files using cin instead make sure you are using command line arguments through the argv[] array)

For example, with an input file of the following contents:

3456 Georgre 10.25

1234 smith 4.5

4321 staci 12.75

278 sandra 25.35

The displayed output is as shown below:

LINES: 4

WORDS: 12

CHARS: 75

DIGITS: 29

LETTERS: 21

Hints:

1. Use functions such as: isdigit(), isalpha(), and isspace().

2. You can use get() method for reading from the input.

3. Download the zipped file for the test cases from Canvas. These are the test cases you will be graded against on your submission to Vocareum. Use the test cases to test your implementation. Note that case 1 myfile1 is not included in the set. Your program will be checked against a file name, myfile1, that does not exist.

4. There are 4 test cases. Case 2 is for an empty file, myfile2. Note that case 3 is for checking you against no file is provided in the command line and your program switches to read from the stdin. The input for case 3 is from myfile3 on vocareum. Case 4 reads from a provided file name in the command line, myfile4.

do not open the files using cin instead make sure you are using command line arguments through the argv[] array

5. If you want to look at the input for one of the test cases, use the linux "cat" command. The cases are in the directory $LIB/public/recitationSP21\RA3. You can, for example, look at myfile3 by saying "cat $LIB/public/recitationSP21/myfile3", and you can look at the expected output by saying "cat $LIB/public/recitationSP21/case3.correct".

TEST CASES

https://drive.google.com/file/d/1vWczldafarS4vv6I_pBiYCHWY7RWHpN8/view?usp=sharing

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Financial management theory and practice

Authors: Eugene F. Brigham and Michael C. Ehrhardt

12th Edition

978-0030243998, 30243998, 324422695, 978-0324422696

Students also viewed these Programming questions