Create a custom calculator program, C/C++ Programming

Assignment Help:

//Create a custom calculator program capable of reading the input stream of an expression

//and make basic computations to provide answer.

//Your program will ask the user to enter an expression in one single line

//Use an array to capture the input

//Choose how you want to word the request to the user (bound your request)

//Your calculator should be able to do the following operations individually or in combinaison:

//Multiplication

//Division

//Addition

//Substration

//maximum

//minimum

//square

//squareroot

//solve a system of equations with 2 variables (using 2 dimensional arrays) (max power is 1)

/*

Ax + By = C

Dx + Ey = F

*/

//solve a quadratic equation of the form Ax2 + Bx + C = 0

//Iplement each operation process in a separate function, and use pointers to access values used in computations

//Use the Shunting-yard_algorithm found at https://en.wikipedia.org/wiki/Shunting-yard_algorithm to obtain the

//output string that you would procees further to compute the answer

//Make use of Matrix for the last two operations and access elements using pointers

//Create your program so that the user may enter input indefinitely if needed

//Make use of the program skeleton provided below, debug and develop your code based on it.

//You can expand on it, but you must use all variables and structures defined

//At any time, ask the user he/she would like to continue

//(i.e. continue to prompt user whether to repeat exercise again)

//Print the result at each stage

//Variable declaration

const int SysEqMatrixSize = 3;

const int QuadEqArraySize = 3;

const int sizeOfInputString = 50;

const int sizeOfOutputString = 128;

//Function Declaration *********************

//Initialize the matrix provided with zeros

int myMatrixInit(int **myMatrix, int numRows, int numCols);

int processMyOutput(char *stringForProcess);

int main()

{

    int myRow;

    int myColumn;

    char myInput[sizeOfInputString];

    char myOutput[sizeOfOutputString];

    int myInputLocation;   

    int mySysOfEqu2[SysEqMatrixSize][SysEqMatrixSize];

    int QuadEqu1[QuadEqArraySize];

    int repeat = 0;

    int answer = 0;   

    //Tell the user about your program: What it does and what is expected of user   

        //Ask whether to proceed   

        //Proceed and continue processing as long as the user wants

    while(repeat == 1)

    {

        myMatrixInit(mySysOfEqu2, SysEqMatrixSize, SysEqMatrixSize);

        myMatrixInit(QuadEqu1, QuadEqArraySize, 0);

       //Collect input from user: initialize input array (load all element with \0)

       //Call input function: use scanf("%s", myInput);

       //The 's' argument type after the percent character is for string input

       //character string (not quoted); char * ; pointing to an array of characters

       //large enough for the string and a terminating '\0' that will be added

       //The name of the array is a pointer to the address of that array      

       //Check input: Design the format you want for your input and request it from user

       // if the input violates your requirements, then print error and prompt user again

       //Process execution: You must use the core code structure below

       // You may rearange it elsewhere in a function

       //***********

       //If regular expression, then do this

       //Use the Shunting-yard_algorithm found at https://en.wikipedia.org/wiki/Shunting-yard_algorithm to obtain the

       //output string that you would procees further to compute the answer

       if(shunting_yard(myInput, myOutput))

            answer = processMyOutput(myOutput);

       //Print the result at each stage

 

//Function Definitions ****************

//Passing by address

int myMatrixInit(int **myMatrix, int numRows, int numCols)

{

    //Complete with code

}

int processMyOutput(char *stringForProcess){

    //Complete with code

}

//*****************

//insert other function definition here


Related Discussions:- Create a custom calculator program

Explain high-order and low-order bytes., Explain high-order and low-order b...

Explain high-order and low-order bytes. - Numbers are written from left to right in decreasing order of significance. In the same way, bits in a byte of computer memory can be

#compiler design limiting instrutions, Ravi is a newbie to the programming ...

Ravi is a newbie to the programming and while learning the programming language he came to know the following rules: · Each program must start with ''''''''{'''''''' and end wi

Object tracking project, Identify 2 to 3 existing algorithms commonly used ...

Identify 2 to 3 existing algorithms commonly used for object tracking. Algorithms should be in C or written in MATLAB language. Document these algorithms in flowcharts and run thes

Program to define simulation method, This problem familiarizes you with usi...

This problem familiarizes you with using random numbers in C++. The program is to compute a good approximation of π using a simulation method called "Monte Carlo". The following fi

Write a function to calculate the exchange rate, Write a function to calcul...

Write a function to calculate the exchange rate of pounds to dollars  Answer       Td = 2xTp   The parameter passed over is the number of pounds and returned the value in do

Palindrome, A palindrome is a string that reads the same from both the ends...

A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome

Program that calculates bowling scores, Homework – Chapter 5 – Bowling Scor...

Homework – Chapter 5 – Bowling Scores 33. Write a complete C++ program to do the following: The main program reads in and prints three bowling scores, score1, score2, and score

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd