|
0 / 0 / 0
Регистрация: 19.03.2022
Сообщений: 57
|
||||||
Манипулятор setw и метод ввода строки getline05.09.2022, 22:24. Показов 2346. Ответов 33
Всем доброго времени суток! Столкнулся со следующей проблемой.
Задача в "двух словах". Необходимо создать структуру, характеризующую работника, одним из полей которой имеется имя типа std::string. Далее создается массив структур в цикле, когда пользователь прекращает ввод, структуры из массива должны выводиться в консоль в виде таблицы. Для структуры я решил перегрузить ввод и вывод. Собственно, ниже код:
1. Как в перегрузке оператора ввода сделать так, чтобы при вводе имени можно было разделять пробелом имя и фамилию? В моем варианте просто при вводе структуры ничего не вводится или только первая часть до пробела, а если ввод в цикле, то происходит зацикливание, пробовал std::getline, но не помогает. 2. При перегрузке оператора вывода не могу выровнять таблицу, по какой-то причине не добавляются отступы перед s_number. Прошу разъяснить, что не правильно, а также как исправить.
0
|
||||||
| 05.09.2022, 22:24 | |
|
Ответы с готовыми решениями:
33
Setw() манипулятор Не работает манипулятор setw(n) манипулятор ввода |
|
фрилансер
6444 / 5637 / 1128
Регистрация: 11.10.2019
Сообщений: 14,997
|
|
| 05.09.2022, 23:20 | |
|
Shimon, приведи полный код
0
|
|
|
Заблокирован
|
||
| 05.09.2022, 23:38 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 19.03.2022
Сообщений: 57
|
||||||||
| 06.09.2022, 09:53 [ТС] | ||||||||
|
Добавлено через 5 минут
0
|
||||||||
|
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
|
||
| 06.09.2022, 11:52 | ||
<< std::setw(32) << "the name of employee" << std::setw(13) << "|". т.е. 32 + 13 = 45, а в выводе значения << std::setw(22) << std::left << employee.m_name << std::setw(3) << "|" - 22 + 3 = 25.Но всё равно всё это хозяйство в консоль не влезет.
0
|
||
|
0 / 0 / 0
Регистрация: 19.03.2022
Сообщений: 57
|
||
| 06.09.2022, 11:56 [ТС] | ||
|
0
|
||
|
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
|
|||||||
| 06.09.2022, 12:18 | |||||||
0
|
|||||||
|
Заблокирован
|
|
| 07.09.2022, 09:07 | |
|
0
|
|
|
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
|
||
| 07.09.2022, 09:27 | ||
cout << left << setw(22) << 100500, так и cout << setw(22) << left << 100500.
0
|
||
|
0 / 0 / 0
Регистрация: 19.03.2022
Сообщений: 57
|
|||||||
| 07.09.2022, 09:48 [ТС] | |||||||
0
|
|||||||
|
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
|
|||
| 07.09.2022, 10:03 | |||
setw.Добавлено через 1 минуту
0
|
|||
|
0 / 0 / 0
Регистрация: 19.03.2022
Сообщений: 57
|
||
| 07.09.2022, 10:07 [ТС] | ||
|
Но если точечно, то пример в посте выше: граница столбцов строки из символов "|", а содержимое "100500".
0
|
||
|
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
|
|
| 07.09.2022, 10:10 | |
|
0
|
|
|
Заблокирован
|
|||||||
| 07.09.2022, 10:16 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 19.03.2022
Сообщений: 57
|
||
| 07.09.2022, 10:16 [ТС] | ||
|
0
|
||
|
Заблокирован
|
|
| 07.09.2022, 10:18 | |
|
Shimon, и что бы это все форматирование имело смысл, стоит выделить часто используемые текстовые представления в именованные переменные (константные конечно, если нет веских нужд для их изменения)..
0
|
|
|
фрилансер
6444 / 5637 / 1128
Регистрация: 11.10.2019
Сообщений: 14,997
|
|
| 07.09.2022, 10:18 | |
|
Shimon, если по заданию нет ограничений на ОЗУ, то могу предложить такое решение:
копим вектор векторов строк (таблица), затем для каждой колонки считаем максимальную ширину. При распечатке таблицы под эту ширину подгонять элементы пробелами или тем же setw
0
|
|
|
0 / 0 / 0
Регистрация: 19.03.2022
Сообщений: 57
|
|
| 07.09.2022, 10:20 [ТС] | |
|
0
|
|
|
Заблокирован
|
|
| 07.09.2022, 10:20 | |
|
0
|
|
|
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
|
|||
| 07.09.2022, 10:23 | |||
|
После надо добавить в setw для поля имени, об этом я уже писал выше. Добавлено через 1 минуту
0
|
|||
| 07.09.2022, 10:23 | |
|
Помогаю со студенческими работами здесь
20
Манипулятор ввода / вывода There are no arguments to 'setw' that depend on a template parameter, so a declaration of 'setw' must be available Написать программу «Манипулятор робота» так, чтобы она рисовала манипулятор из n сегментов Манипулятор ввода, который поочередно то считывает, то пропускает каждые десять символов Неправильный вывод UTF8 строки вместе с setw Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs
. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|