In C: Write a program that will open a file and evaluate its contents as a mathe
ID: 3913610 • Letter: I
Question
In C: Write a program that will open a file and evaluate its contents as a mathematical expression and show the result. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
Greets the user and informs them that the program will accept an input of the name of a file to load a string from, and that the string loaded from the file will be evaluated as a simple mathematical expression.
Accept a string input from the user and open the corresponding file from the filesystem.
If the file does not exist, inform the user and exit the program.
Read the entire contents of the file, stripping any whitespace characters and concatenating all lines into a single string.
Evaluate the string as a mathematical expression by parsing operators and operands. Assume the string contains only positive numbers (may include decimals), addition, and subtraction (no parentheses, negative values, multiplication, or division). Assume that the string is valid and does not contain any extraneous or illegal characters.
Print the result for the user.
Use functions where appropriate. Do not put all of your code in the main function.
Test your program thoroughly. Create several sample text files with various mathematical expressions.Example: “test.txt”: 1 + 1.1 - 1.1
Result is: 1
Example: “test 2.txt”: 0-5-7+1
Result is: -11
Example: “test.txt”: 123 - 123.0 + 0
Result is: 0
Explanation / Answer
Program:
-------------------------------------------------------------------------------------------------------
#include <stdio.h>
int sum(int res);
int main()
{
int number = 0;
int totalsum = 0; /* the sum of numbers in the file */
FILE* f = fopen("C:/Users/ViswaTeja/Desktop/values.txt", "r"); //Path of text file
while( fscanf(f, "%d,", &number) > 0 ) // parse %d followed by ','
{
totalsum += number; //calculating sum of numbers in text file
}
sum(totalsum); //function call
fclose(f);
}
int sum(int res) //function definition
{
printf("Result is : %d",res); //printing sum of numbers in text file
}
---------------------------------------------------------------------------------------------------
Sample Text file consists of 1+2+3+4+5+6+7-9-10+15
Output:--
Result is : 24
-------------------------------------------------------------------------------------------------------------------