Question: Restrictions / Hints 1. You may NOT use string streams for this lab. 2. You MUST use the given template. 3. You may ONLY write

Restrictions / Hints

1. You may NOT use string streams for this lab.

2. You MUST use the given template.

3. You may ONLY write the four prototyped functions: CharToInt, IntToChar, StringToInt, IntToString.

4. You may NOT call any C++ library function from within your four functions. However, you may call one of your other four functions.

5. No error checking is required.

 #include  #include  using namespace std; //Prototypes for the functions that you will write int CharToInt(char v); char IntToChar(int v); int StringToInt(string val); string IntToString(int val); int main(int argc, char *argv[]) { string sresult; int left; int right; char op; if (4 != argc) { printf("Usage: %s    ", argv[0]); return -1; } //Notice that this calls your StringToInt. So, make sure you debug //StringToInt() to make sure that left and right get a proper //value. left = StringToInt(argv[1]); right = StringToInt(argv[3]); op = argv[2][0]; //Calculate based on the op. Notice that this calls IntToString, //so debug your IntToString() function to make sure that sresult //is given the proper result. This assumes your StringToInt already //works. switch (op) { case 'x': sresult = IntToString(left * right); break; case '/': sresult = IntToString(left / right); break; case '+': sresult = IntToString(left + right); break; case '-': sresult = IntToString(left - right); break; case '%': sresult = IntToString(left % right); break; default: sresult = IntToString(left); break; } //Remember, printf is the only output function you may use for this lab! //The format string is %d %c %d = %s. This means that the first argument //is %d (decimal / integer), %c (character), %d (decimal /integer), //%s (string). Notice that because printf() is a C-style function, you //must pass strings as character arrays. We can convert a C++ string //to a character array (C-style string) by using the c_str() member function. printf("%d %c %d = %s ", left, op, right, sresult.c_str()); return 0; }

Write four functions: IntToString, StringToInt, CharToInt, IntToChar, which are already prototyped in the above template:

CharToInt

This function will take a single, positive character between the values 0 - 9 and return the single digit integer equivalent. For example, '0' will return 0 and '8' will return 8 (as an 8-bit integer).

IntToChar

This function will take a single digit, positive integer and return the character equivalent. This is essentially the reverse of CharToInt. For example, 0 will return '0', 8 will return '8'.

IntToString

This function will take any sized integer, including negative numbers, and convert it into a string. For example, -12345678 will return "-12345678".

StringToInt

This function will take a string and convert it to the equivalent number, including negative numbers. For example, "-123456" will return -123456.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!