Стек вокруг переменной «уравнение» был поврежден

Я пытаюсь создать калькулятор на VC ++, и хотя он работает, он продолжает считывать память, о которой я не сказал, и я не знаю, как это сделать. стоп.

#include <iostream>
#include <ctype.h>

int main(){

char equation[4];
equation[3] = '\0'; //string terminator
int result;
bool wantsToContinue = true;
char yesOrNo;

equationPrompt:
std::cout << "Enter Equation: ";
std::cin >> equation;

while(wantsToContinue){

    switch(equation[1]){
    case '+':
        result = int(equation[0]) + int(equation[2]);
        break;
    case '-':
        result = int(equation[0]) - int(equation[2]);
        break;
    case '*':
        result = int(equation[0]) * int(equation[2]);
        break;
    case '/':
        result = int(equation[0]) / int(equation[2]);
        break;
    }

std::cout << std::endl << "Your answer is " << result << std::endl;
exitPrompt:
std::cout << "Exit? Y/N: ";
std::cin >> yesOrNo;

if(tolower(yesOrNo) == 'n'){
    wantsToContinue = true;
    goto equationPrompt;
}
else if (tolower(yesOrNo) == 'y')
    wantsToContinue = false;
else{
    std::cout << std::endl << "Unknown response." << std::endl;
    goto exitPrompt;
}
}
return 0;
}
0
задан airplaneman19 16 August 2011 в 22:03
поделиться