Здраствуйте,мне нужно,чтоб при выполнении кода, я возвращался назад, и мог внести новые данные, а одно старое сохранялось

вот весь код, пробовал через циклы do, while,for и if нужно после выполнения кода, чтоб по новой писать go или quit и записывать новые значения, а так же сохранять переменную с

#include<iostream>
#include <string>

using namespace std;

struct car
{
    string Brand;
    string Model;
    int Year;
    float Сar_mileage;
    string  colore;
};

struct mile
{

};

int main()
{
    int c;
    int z;
    string a;
    cout << "введите quit,чтоб закрыть программу " << "\n";
    cout << "введите go, чтоб вписать данные машины " << "\n";
    cin >> a;
    bool stop = false;
    do
    {
        if(a == "go")
        {
            cout << "введите даные о машинах " << "\n";
            car aoi;
            cout << "введите бренд машины" << ": ";
            cin >> aoi.Brand;
            cout << aoi.Brand << "\n";
            cout << "введите модель машины" << ": ";
            cin >> aoi.Model;
            cout << aoi.Model << "\n";
            cout << "введите год машины" << ": ";
            cin >> aoi.Year;
            cout << aoi.Year << "\n";
            cout << "введите пробег машины" << ": ";
            cin >> aoi.Сar_mileage;
            cout << aoi.Сar_mileage << "\n";
            cout << "введите цвет машины" << ": ";
            cin >> aoi.colore;
            cout << aoi.colore << "\n";
            c += aoi.Сar_mileage;
            z += 1;
            cout << c;
            cout << z;
            return 1;
        }
        else if(a == "quit")
        {
            stop = true;
        }
    }
    while(!stop);
    cout << "end";
}

Ответы (1 шт):

Автор решения: Koto SCrafter

Цикл с постусловием не нужен, просто надо переместить ввод переменной в начало тела цикла и заменить do while на простой while. Для этого кода необходимо включение библиотеки Windows.h для использования функций SetConsoleCP и SetConsoleOutputCP. Эти функции "говорят" использовать русскую локализацию. "ттхфшЄх quit,ўЄюс чръЁ√Є№ яЁюуЁрььє" - так выглядит вывод без локализации

int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int c = 0;
    int z = 0;
    string a = "NULL";
    cout << "введите quit,чтоб закрыть программу " << "\n";
    cout << "введите go, чтоб вписать данные машины " << "\n";
    bool stop = false;
    while(!stop)
    {
        cin >> a;
        if(a == "go")
        {
            cout << "введите даные о машинах " << "\n";
            car aoi;
            cout << "введите бренд машины" << ": ";
            cin >> aoi.Brand;
            cout << aoi.Brand << "\n";
            cout << "введите модель машины" << ": ";
            cin >> aoi.Model;
            cout << aoi.Model << "\n";
            cout << "введите год машины" << ": ";
            cin >> aoi.Year;
            cout << aoi.Year << "\n";
            cout << "введите пробег машины" << ": ";
            cin >> aoi.Сar_mileage;
            cout << aoi.Сar_mileage << "\n";
            cout << "введите цвет машины" << ": ";
            cin >> aoi.colore;
            cout << aoi.colore << "\n";
            c += aoi.Сar_mileage;
            z += 1;
            cout << c;
            cout << z;
            return 1;
        }
        else if(a == "quit")
        {
            stop = true;
        }
    }
    cout << "end";
}
→ Ссылка