Страницы

Поиск по вопросам

воскресенье, 9 февраля 2020 г.

Как сделать так чтобы передавалась строка, а не одно слово?

#cpp #строки


Собственно нужно чтобы там где нужно вводить дату изъятия можно было ввести целую
строку, например 12 July, а не просто слово

 #include "pch.h"
    #include 
    #include 
    using namespace std;
    struct itemsinfo {
        string dateiz;
        string nameofitem;
        int amount;
        float costdollars;
    };
    int main()
    {
        int size;
        cout << "Enter size: ";
        cin >> size;
        itemsinfo *item = new itemsinfo[size]; //динамический массив на введеное
кол. элментов
        for (int i = 0; i < size; i++)
        {
            cout << "enter date of withdrawal: "; //нужно ввести дату изъятия
            cin >> item[i].dateiz;
            cout << "enter name of item: "; //нужно ввести название предмета
            cin >> item[i].nameofitem;
            cout << "enter amount: "; //нужно ввести количество
            cin >> item[i].amount;
            cout << "enter cost in dollars: "; //нужно ввести стоимость
            cin >> item[i].costdollars;
            cout << "=============================" << endl;
        }

    


Ответы

Ответ 1



Используйте std::getline вместо оператора >>, не забывая при этом удалить остатки предыдущего ввода из входного буфера при помощи cin.ignore std::cout << "enter date of withdrawal: "; std::cin.ignore(std::numeric_limits::max(), '\n'); std::getline(std::cin, item[i].dateiz);

Комментариев нет:

Отправить комментарий