Question
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
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started