Повторный запуск программы С++
У нас есть главное окно программы (см. 1 изобр.). Если в поле «Ввод:» ввести любой ответ, с которым программа не знакома (то есть, сработает else
), то мы получаем бесконечный цикл повторного открытия главного окна (см. 2 изобр.). Из-за чего это происходит?
Если я не прав насчёт такой реализации «повторного» запуска программы, то почему же так нельзя сделать?
int main()
{
setlocale(LC_ALL, "Russian");
int setting;
std::cout << "Укажите тип ввода данных:\n1 — С клавиатуры\n2 — Из файла\nВвод: ";
std::cin >> setting;
if (setting == 2){
open_and_read();
}
else if (setting == 1) {
per_enter();
int setting;
std::cout << "Хотите повторить ввод исходных данныех?\n1 — Да\n2 — Нет\nВвод: ";
std::cin >> setting;
if (setting == 1 || "Да") {
main();
}
else if (setting == 2 || "Нет") {
std::cout << "Работа программы заврешена." << std::endl;
}
}
else{
std::cout << "Ответ не соответствует ни одному из доступных вариантов ввода." << std::endl;
main();
}
}