Как сделать переменную в if, глобальной

159
09 января 2019, 16:00

Нужно сделать простейший калькулятор чтобы он работал с числовыми и строковыми значениями. Операции + - * /

#include <iostream>
using namespace std;
int main() {
    string answer;
    char type; // тип числа 
    cout << " Введите тип числа (n/s)" << endl;
    while (type != 'n' && type != 's')
        cin >> type;
        if (type == 'n') {  // n = number
         // локальные переменные
         double n1 = 0.0; // числовое значение
         double n2 = 0.0;
       }
        else if (type == 's') { // s = string
       // локальные переменные
        string n1 = 0.0; // строковое 
                       // значение
        string n2 = 0.0; 
       }
        else {
        cout << " Введено неправильное значение";
       }
       // Операции калькулятора
   cout << " Введите число и знак действия. Для выхода из программы введите [q]" << endl;
       while (cin >> answer) {
           if (answer == "q") {
           break;
          }
           cin >> n1;
           else if (answer == "+") { // сложение
           cin >> n2;
           cout << "Сумма " << n1 << " и " << n2 << " равна " << n1 + n2 << endl;
          }
           else if (answer == "-") { // вычитание
           cin >> n2;
           cout << "Разность " << n1 << " и " << n2 << " равна " << n1 - n2 << endl;
          }
           else if (answer == "*") { //умножение
           cin >> n2;
           cout << "Произведение " << n1 << " и " << n2 << " равно " << n1 * n2 << endl;
          }
           else if (answer == "/") { // деление
           cin >> n2;
           cout << "Частное " << n1 << " и " << n2 << " равно " << n1 / n2;
          }
           else {
           cout << "Введите првильный знак";
        }
    }
}

Как сделать пременную double n1 n2, или string n1 n2 (в зависимости от ответа) глобальными переменными чтобы использовать их в следующеем цикле ?

READ ALSO
Почему у меня вылетает программа когда я ввожу данные студента?

Почему у меня вылетает программа когда я ввожу данные студента?

Задача у меня была вот в чём: Создайте программу, имитирующую многоквартирный домНеобходимо иметь классы “Человек”, “Квартира”, “Дом”

209
Почему ошибка Run-Time Check Failure #2 - Stack around the variable &#39;var&#39; was corrupted.

Почему ошибка Run-Time Check Failure #2 - Stack around the variable 'var' was corrupted.

По завершению работы функции выдает ошибку

171
Поиск повторений через map

Поиск повторений через map

Решал задачу, суть которой было найти максимальное количество повторенийПосле решения задачи посмотрел предложенный вариант её решения

176
Найти количество дубликатов в std::map

Найти количество дубликатов в std::map

Как найти количество дубликатов в map?

167