Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C programming. I really just need a good format. I am good with the debugging. So basic C code for the program, definitely more than

C programming.

I really just need a good format. I am good with the debugging. So basic C code for the program, definitely more than pseudocode. Even something where I would go through and change "put FILE * open_input_file (void) here" or the like. Or you could have the code but change some word to ________ (bunch of underscores/fill in the blank style.

There were other answers for this question but they didn't answer the question in the C language. They would be in C++ or such.

Thanks so much.

File Processing with Functions

Write a program that performs character processing on 10 characters read in from a file, and writes the results to output files. The program should read from input.dat. The program should write the ASCII values of the characters to output_ascii.dat. The program should print statistics about the characters to output_stats.dat. Do NOT use loops or arrays to solve this problem.

NOTE: You may NOT use the standard library functions found in .

Your program should define the following functions:

  • (2 pts) FILE * open_input_file (void) Opens "input.dat" for reading.
  • (2 pts) char read_character (FILE *infile) Reads one character from the input file. Precondition: the input file must already be open!
  • (2 pts) int determine_ascii_value (char character) Returns the ASCII value of the character passed into the function.
  • (4 pts) int is_line (char character) Determines if the character is a newline, if the character is a newline a 1 is returned otherwise a 0 is returned. Make sure that you #define two constants NEWLINE and NOT_NEWLINE as 1 and 0, respectively. Return the #defined constant.

(4 pts) int number_lines (char character, int current_number_lines)

Determines if the character passed into the function indicates the end of a line (use is_line ( )). If so the function adds 1 to the current_number_lines and returns the value; otherwise it returns the current_number_lines without any modification.

(4 pts) int is_vowel (char character) Determines if the character is a vowel

(note: the character may be lower or upper case), if the character is a vowel a 2 is returned otherwise a 0 is returned. Make sure that you #define two constants VOWEL and NOT_VOWEL as 2 and 0, respectively. Return the #defined constant.

(4 pts) int number_vowels (char character, int

current_number_vowels) Determines if the character passed into the function is a vowel (use is_vowel ( )). If so the function adds 1 to the current_number_vowels and returns the value; otherwise it returns the current_number_vowels without any modification.

(4 pts) int is_digit (char character) Determines if the character is a digit (i.e.

'0' - '9'), if the character is a digit a 3 is returned otherwise a 0 is returned. Make sure that you

#define two constants DIGIT and NOT_DIGIT as 3 and 0, respectively. Return the #defined constant.

(4 pts) int number_digits (char character, int

current_number_digits) Determines if the character passed into the function is a

digit (use is_digit ( )). If so the function adds 1 to the current_number_digits and returns the value; otherwise it returns the current_number_digits without any modification.

(4 pts) int is_alpha (char character) Determines if the character is an alpha

character (i.e. 'a' - 'z', 'A' - 'Z'), if the character is an alpha character a 4 is returned otherwise a 0 is returned. Make sure that you #define two constants ALPHA and NOT_ALPHA as 4 and 0, respectively. Return the #defined constant.

(4 pts) int number_alphas (char character, int

current_number_alphas) Determines if the character passed into the function is an alpha character (use is_alpha ( )). If so the function adds 1 to the current_number_alphas and returns the value; otherwise it returns the current_number_alphas without any modification.

(4 pts) int is_lower (char character) - Determines if the character is a lowercase character, if the character is a lowercase character a 5 is returned otherwise a 0 is returned.

Make sure that you #define two constants LOWER and NOT_LOWER as 5 and 0, respectively.

Return the #defined constant.

(4 pts) int number_lowers (char character, int

current_number_lowers) Determines if the character passed into the function is a lowercase character (use is_lower ( )). If so the function adds 1 to the current_number_lowers and returns the value; otherwise it returns the current_number_lowers without any modification.

(4 pts) int is_upper (char character) - Determines if the character is an uppercase character, if the character is an uppercase character a 6 is returned otherwise a 0 is returned.

Make sure that you #define two constants UPPER and NOT_UPPER as 6 and 0, respectively.

Return the #defined constant.

(4 pts) int number_uppers (char character, int

current_number_uppers) Determines if the character passed into the function is an uppercase character (use is_upper ( )). If so the function adds 1 to the current_number_uppers and returns the value; otherwise it returns the current_number_uppers without any modification.

(4 pts) int is_space (char character) - Determines if the character is a whitespace character (i.e. space ' ', form feed '\f', new-line ' ', carriage return ' ', horizontal tab '\t', and vertical tab '\v'). If the character is a whitespace character a 7 is returned otherwise a 0 is

returned. Make sure that you #define two constants WHITESPACE and NOT_WHITESPACE as 7 and 0, respectively. Return the #defined constant.

(4 pts) int number_spaces (char character, int

current_number_spaces) Determines if the character passed into the function is a space character (use is_space ( )). If so the function adds 1 to the current_number_spaces and returns the value; otherwise it returns the current_number_spaces without any modification.

(4 pts) int is_alnum (char character) - Determines if the character is an alpha or digit character, if the character is an alpha or digit character a 8 is returned otherwise a 0 is returned. Make sure that you #define two constants ALNUM and NOT_ALNUM as 8 and 0, respectively. Return the #defined constant.

(4 pts) int number_alnums (char character, int

current_number_alnums) Determines if the character passed into the function is an alphanumeric character (use is_alnum ( )). If so the function adds 1 to the current_number_alnums and returns the value; otherwise it returns the current_number_alnums without any modification.

  • (4 pts) int is_punct (char character) - Determines if the character is a punctuation character (i.e. '.', '!', ',', etc.) if the character is a punctuation character an 9 is returned otherwise a 0 is returned. Make sure that you #define two constants PUNCT and NOT_PUNCT as 9 and 0, respectively. Return the #defined constant.
  • (4 pts) int number_puncts (char character, int current_number_puncts) Determines if the character passed into the function is a punctuation character (use is_punct ( )). If so the function adds 1 to the current_number_puncts and returns the value; otherwise it returns the current_number_puncts without any modification.
  • (3 pts) void print_int (FILE *outfile, int number) Prints an integer to an output file.
  • (3 pts) void print_stats (FILE *outfile, char header[ ], int number) Prints a line like the following: Number Vowels: 45

where "Number of vowels" is the string represented by the variable header and 45 is

represented by number.

  • (10 pts) A main function that does the following:

Opens an input file input.dat for reading

Opens an output file output_stats.dat for writing all data generated by print_stats ( );

Opens an output file output_ascii.dat for writing all ascii values of each character;

Reads one character at a time from the input file (input.dat), until all 10 characters have been read; For each character that is read in, its corresponding ASCII value should be printed to the output file, output_ascii.dat; Hint: use the print_int ( ) function to print the ASCII values;

Prints the number of lines in the file to output_stats.dat;

Prints the number of vowels in the file to output_stats.dat;

Prints the number of digits in the file to output_stats.dat;

Prints the number of alpha characters in the file to output_stats.dat;

Prints the number of lowercase characters in the file to output_stats.dat;

Prints the number of uppercase characters in the file to output_stats.dat;

Prints the number of space characters in the file to output_stats.dat;

Prints the number of alphanumeric characters in the file to output_stats.dat;

Prints the number of punctuation characters in the file to output_stats

.dat;

Closes all opened files;

  • (6) Proper program comments

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_2

Step: 3

blur-text-image_3

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

Sybase Database Administrators Handbook

Authors: Brian Hitchcock

1st Edition

0133574776, 978-0133574777

More Books

Students also viewed these Databases questions

Question

2. Describe the three fundamental features of science.

Answered: 1 week ago