Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AmbA
32 / 15 / 4
Регистрация: 09.06.2017
Сообщений: 94
Записей в блоге: 2
#1

Строковый ввод (слов больше одного) - C++

23.06.2017, 13:30. Просмотров 91. Ответов 4
Метки нет (Все метки)

Раз десять проглядел соответствующий раздел, никак не пойму. Вот задача:
Структура содержит 3 члена: диаметр пиццы, название компании-производителя, вес пиццы. Напишите программу, которая принимает значения и затем отображает, с применением операции new для размещения структуры в свободном хранилище.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <string>
int main()
{
    using namespace std;
 
    struct PizzaBar
    {
        int diam;
        string name;
        float weight;
    };
            
    PizzaBar *omn = new PizzaBar;
        
    cout << "enter diam for omn: ";
    cin >> (*omn).diam;
    cout << "enter name for omn: ";
    cin >> (*omn).name; cin.get();
    cout << "enter weight for omn: ";
    cin >> (*omn).weight;
        
    cout << "\ndiam omn: " << (*omn).diam << endl;
    cout << "Name omn: " << (*omn).name << endl;
    cout << "weight omn: " << (*omn).weight << endl;
 
    delete omn;
    return 0;
}

Суть в том, что cin пробел после первого слова воспринимает как конец ввода. В результате в очереди остаются последующие слова, и падают в следующий cin. Сейчас я решаю это с помощью cin.get();, но выглядит это очень тупо. Есть нормальный метод ввода строк?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2017, 13:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Строковый ввод (слов больше одного) (C++):

Строковый ввод-вывод - C++
Прошу помочь в решении задачи на С++. Только начал изучать. Постановка задачи. 1. Создать текстовый файл F1 не менее, чем из 10...

Строковый ввод-вывод - C++
1) Скопировать из файла F1 в файл F2 строки, начиная с N до K. 2) Подсчитать количество согласных букв в файле F2. заранее...

Строковый ввод-вывод - C++
Приветствую. Необходима помощь. Постановка задачи: Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию....

Строковый ввод-вывод - C++
Помогите пожалуйста решить задачу, вот она: Нужно создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию ...

Строковый ввод-вывод - C++
Добрый вечер) Я решала задачу. Первый пункт выполняет отлично. А на второй она выводит 0. Из файла 1 в файл 2 переносит все слова...

Строковый ввод-вывод - C++
Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию. Скопировать из файла F1 в файл F2 строки, начиная с 4. ...

4
Даценд
Модератор
Эксперт .NET
4035 / 3874 / 1952
Регистрация: 20.04.2015
Сообщений: 7,038
23.06.2017, 13:49 #2
AmbA,
Распространенные ошибки
0
nmcf
6196 / 5507 / 1929
Регистрация: 14.04.2014
Сообщений: 23,118
23.06.2017, 13:49 #3
getline() и название вводи первым.
0
AmbA
32 / 15 / 4
Регистрация: 09.06.2017
Сообщений: 94
Записей в блоге: 2
23.06.2017, 14:05  [ТС] #4
Цитата Сообщение от Даценд Посмотреть сообщение
Распространенные ошибки
C++
1
(cin >> n).get();
По такому принципу и делаю. Думал, можно как-то ещё. Но за ссылку спс )
Цитата Сообщение от nmcf Посмотреть сообщение
getline()
Это строковый ввод в массив, а у меня - в string.
0
nmcf
6196 / 5507 / 1929
Регистрация: 14.04.2014
Сообщений: 23,118
23.06.2017, 14:29 #5
Цитата Сообщение от AmbA Посмотреть сообщение
а у меня - в string
Ты плохо изучил документацию.
C++
1
std::getline(cin, omn->name);
И убери эти скобки.
0
23.06.2017, 14:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2017, 14:29
Привет! Вот еще темы с ответами:

Нужна Помощь! Строковый ввод-вывод! - C++
Лабораторная работа № 6 &quot;Строковый ввод-вывод&quot; Цель: Работа с текстовыми файлами, ввод-вывод текстовой информации и ее хранение на...

Проверка на ввод только символов (строковый класс) - C++
Здравствуйте, проблема заключается в том, что не знаю как сделать проверку на ввод только символов в строковом классе. string color; ...

Строковый ввод-вывод и считывание последнего слова в строке - C++
Добрый вечер. Возник вопрос по следующей задаче: &quot;1) Скопировать из файла F1 в файл F2 строки, начиная с 4. 2) Подсчитать количество...

Можно ли сделать строковый ввод для многомерного массива? - C++
Можно ли сделать строковый ввод для многомерного массива, если да то как?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru