Неправлильно заносит в массив

сам замысел программы - список дел.

#include <iostream>
#include <string>
#include <locale>
using namespace std;

int main()
{
    setlocale(LC_ALL, "RU");
    string* arr = new string[10]{ "ДЗ ", "убраться " }; 
    string* arr1 = new string[10]{ };
    int element = 2; 
    
    cout << "1. Вывести дела, которые должен сделать." << endl;
    cout << "2. Очистить список дел." << endl;
    cout << "3. Добавить в список дел что-то" << endl;
    cout << "4. Сохранить задания" << endl;

    int chto;
    cout << "Выберите действие, которое хотите сделать.(Сверху написано выбор)" << endl;
    cin >> chto;
        switch (chto) {

        case 1:
            for (int i = 0; i < element; i++) {
                cout << arr[i] << endl;
            }
            break;

        case 2:
            cout << "Ваш список дел: " << endl;

            delete[] arr;
            for (int i = 0; i < element; i++) {
                cout << arr[i] << endl;
            }
            break;

        case 3:
            if (element < 10) {
                string abc;
                cin>>abc;
                arr[element] = abc;
                element++;
                for (int i = 0; i < element; i++) {
                    cout << arr[i] << endl;
                }
            }
            else {
                cout << "Список дел полон." << endl;
            }
            break;
        case 4:
            arr1 = arr;
            cout << "Ваш новый массив - arr1. " << endl;
            for (int i = 0; i < 10; i++) {
                cout << arr1[i] << " " << endl;
            }
            break;

        default:
            cout << "Нет такого значения!" << endl;
        }

        
   

}

При выбора 3 варианта просит ввести слово, т.к мне более понятен русский язык и пишу на русском. Но после вывода массива выводит непонятные символы. Как исправить это? Заранее спасибо


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