Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
46 / 22 / 6
Регистрация: 09.06.2017
Сообщений: 286
Записей в блоге: 18
1

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

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

Author24 — интернет-сервис помощи студентам
Раз десять проглядел соответствующий раздел, никак не пойму. Вот задача:
Структура содержит 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2017, 13:30
Ответы с готовыми решениями:

Получить файл g, образованный из файла f с исключением всех слов, встречающихся больше одного раза
Создать и заполнить текстовой файл f. Получить файл g, образованный из файла f с исключением всех...

Запрет на ввод больше одного знака "-" в TextBox
Привет. public partial class Form1 : Form { public Form1() { ...

Найти слово, состоящее только из цифр. Если таких слов больше одного, найти второе из них
Ввести n слов с консоли. Найти слово, состоящее только из цифр. Если таких слов больше одного,...

В каждой строке для всех слов, которые встречаются в строке больше одного раза, оставить только первое вхождение
Народ, помогите Нужно в каждой строке для всех слов, которые встречаются в строке больше одного...

4
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
23.06.2017, 13:49 2
AmbA,
Распространенные ошибки
0
7787 / 6555 / 2983
Регистрация: 14.04.2014
Сообщений: 28,633
23.06.2017, 13:49 3
getline() и название вводи первым.
0
46 / 22 / 6
Регистрация: 09.06.2017
Сообщений: 286
Записей в блоге: 18
23.06.2017, 14:05  [ТС] 4
Цитата Сообщение от Даценд Посмотреть сообщение
Распространенные ошибки
C++
1
(cin >> n).get();
По такому принципу и делаю. Думал, можно как-то ещё. Но за ссылку спс )
Цитата Сообщение от nmcf Посмотреть сообщение
getline()
Это строковый ввод в массив, а у меня - в string.
0
7787 / 6555 / 2983
Регистрация: 14.04.2014
Сообщений: 28,633
23.06.2017, 14:29 5
Цитата Сообщение от AmbA Посмотреть сообщение
а у меня - в string
Ты плохо изучил документацию.
C++
1
std::getline(cin, omn->name);
И убери эти скобки.
0
23.06.2017, 14:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2017, 14:29
Помогаю со студенческими работами здесь

Текстовый файл. Получить новый файл, образованный исключением всех слов, встречающихся больше одного раза в исходном файле
Текстовый файл. Создать и заполнить текстовой файл f. Получить файл g, образованный из файла f с...

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru