Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- using namespace std;
- const int MAX_SIZE = 100;
- int operationPlus(int a, int b)
- {
- return a + b;
- }
- int operationMinus(int a, int b)
- {
- return a - b;
- }
- int operationMulti(int a, int b)
- {
- return a * b;
- }
- int operationDivie(int a, int b)
- {
- return a / b;
- }
- int parseToNum(char firstWord[], int i)
- {
- int num;
- if (firstWord[i] == '\0')
- {
- return num;
- }
- else
- {
- (int(firstWord[i]) - 48)* pow(10, i);
- parseToNum(firstWord, i + 1);
- }
- }
- void getFirstNum(char str[], char firstWord[], int i)
- {
- if (str[i] <= '0' || str[i] >= '9')
- return;
- else {
- firstWord[i] = str[i];
- getFirstNum(str, firstWord, i + 1);
- }
- }
- void getSecondNum(char str[], char secondWord[], int i)
- {
- if (str[i] <= '0' || str[i] >= '9')
- return;
- else {
- secondWord[i] = str[i];
- getFirstNum(str, secondWord, i + 1);
- }
- }
- int sumOfStr(char str[], int length, char firstWord[], int i)
- {
- static int sum = 0;
- static int firstNum;
- static int secondNum;
- if (i == length + 1)
- {
- return sum;
- }
- if (str[i] == '+')
- {
- sum = operationPlus(firstNum, secondNum);
- }
- else if (str[i] <= '0' || str[i] >= '9')
- {
- sumOfStr(str, length,firstWord, i + 1);
- }
- else
- {
- getFirstNum(str, firstWord, 0);
- parseToNum(firstWord, 0); //firstNum or secondNum = parse;
- }
- }
- int lengthOfStr(char str[], int i)
- {
- static int counter = 0;
- if (str[i] == '\0')
- return counter;
- else
- {
- counter++;
- lengthOfStr(str, i + 1);
- }
- }
- int main()
- {
- char str[MAX_SIZE];
- char firstWord[10];
- char secondWord[10];
- cin.getline(str, MAX_SIZE);
- int length = lengthOfStr(str, 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement