Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 09.10.2022
Сообщений: 17

Ввод ФИО через cin

07.01.2023, 15:41. Показов 2224. Ответов 15

Студворк — интернет-сервис помощи студентам
На втором шаге после ввода числа работников нужно ввести ФИО работника, но как это сделать корректно с пробелами по типу: "Иванова Иван Иванович" и так что бы оно не вбивалось в следуюшие cin (табельный номер, час)?
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
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string>
 
using namespace std;
 
struct sotrudnik 
{
    string fio;
    string nomer;
    double chas = {};
    double tarif = {};
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n, i;
 
    puts("Введите количество работников: "); cin >> n;
    sotrudnik* a = new sotrudnik[n];
    for (i = 0; i < n; i++)
    {
        cout << "Введите данные работника " << i + 1 << ":" << endl;
        puts("ФИО: "); cin >> (a[i].fio);
        puts("Табельный номер: "); cin >> a[i].nomer;
        puts("Отработанных часов: "); cin >> a[i].chas;
        puts("По часовой тариф: "); cin >> a[i].tarif;
    }
 
    for (i = 0; i < n; i++)
    {
        double zp = 0;
        zp = zp + (a[i].chas * a[i].tarif);
        cout << "Работник: " << a[i].fio << "\t Табельный номер: " << a[i].nomer << "\t Заробатная плата: " << zp;
        cout << endl;
    }
    return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.01.2023, 15:41
Ответы с готовыми решениями:

Ввод через пробел. Как остановить ввод. while(cin >> input)
Здравствуйте. Начну с условия задания. Ввести к-во элементов массива. Заполнить массив. Отсортировать и вывести на экран количество...

Ввод 2х строк через cin >> Как игнорировать ввод пустой строки и продолжить чтение
Добрый день! Вводятся две строки comand и argument. При вводе пустого аргумента нужно проигнорировать ввод и читать следующую команду. НЕ...

Ввод через cin
Игра больше, меньше. Когда ввожу числа - все нормально, ввожу char - выдает ошибку (так и должно быть),когда я ввожу (например: 15afdaf) то...

15
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
07.01.2023, 15:46
getline().
1
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
07.01.2023, 17:49
Лучший ответ Сообщение было отмечено Morofer как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    cout<<"Введите количество работников: "; 
    cin >> n;
    cin.get();
    sotrudnik* a = new sotrudnik[n];
    for (i = 0; i < n; i++)
    {
        cout << "Введите данные работника " << i + 1 << ":" << endl;
        cout<<"ФИО: "; 
        getline(cin,a[i].fio);
        cout<<"Табельный номер: "; 
        cin >> a[i].nomer;
        cout<<"Отработанных часов: "; 
        cin >> a[i].chas;
        cout<<"Почасовой тариф: "; 
        cin >> a[i].tarif;
        cin.get();
    }
1
0 / 0 / 0
Регистрация: 09.10.2022
Сообщений: 17
07.01.2023, 17:53  [ТС]
Большое спасибо!
0
6 / 6 / 1
Регистрация: 24.09.2019
Сообщений: 78
07.01.2023, 17:54
Цитата Сообщение от Morofer Посмотреть сообщение
На втором шаге после ввода числа работников нужно ввести ФИО работника, но как это сделать корректно с пробелами по типу: "Иванова Иван Иванович" и так что бы оно не вбивалось в следуюшие cin (табельный номер, час)?
Называть переменные транслитом -- последнее дело. Если Вы не знаете английский -- лучше посидеть с переводчиком, но назвать правильно.
Если слова раннее не убедили Вас, то подумайте о том, как на это отреагирует Ваш преподаватель.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
07.01.2023, 22:47
Цитата Сообщение от Катя__ Посмотреть сообщение
Если слова раннее не убедили Вас, то подумайте о том, как на это отреагирует Ваш преподаватель.
Почему его это должно волновать ?
0
6 / 6 / 1
Регистрация: 24.09.2019
Сообщений: 78
13.01.2023, 11:04
Цитата Сообщение от SmallEvil Посмотреть сообщение
Почему его это должно волновать ?
Конкретно у меня в ВУЗе за такие названия переменных выгоняли из кабинета, не дав запустить программу -- было очень грустно и обидно. Сдачи ЛР происходили раз в 2 недели, ЛР было много. Не сдал в одну сдачу -- потерял темп. Ближе к концу семестра вводилось правило о сдаче не более 1ой лр за пару.
Предполагаю, что у большинства студентов условия примерно те же.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
13.01.2023, 13:24
Катя__, очень познавательно.
И как итоговые срезы по курсу Информатики ? Какая успеваемость и критическая оценка знаний ?
Думаю не очень. Если английский "вери бед", не вижу смысла делать "вери бед" и остальные предметы .
Но я вас услышал.

Добавлено через 1 минуту
Катя__, кстати, а за такие переменные ?
i,j,k, lp, kmm, sort1, sort2, sortnn, dp, ffm ? )

Добавлено через 1 минуту
Напомнило мне строгий дресскод в школе.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
13.01.2023, 14:06
Цитата Сообщение от SmallEvil Посмотреть сообщение
Думаю не очень.
почему же? Вы считаете всех студентов недалёкими дурачками, которые программировать только вчера начали? Такие конечно встречаются, ну да... называются двоечники! Они скорее исключение, чем правило.
Обычно этап "памагити обявидь пирименнаю" школьники проходят в школе и в универ приходят учиться не совсем тупой базе.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
13.01.2023, 15:09
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Вы считаете всех студентов недалёкими дурачками
Я так не считаю. Где Kuzia domovenok, такое увидел ?
Есть различные методологии обучения.
Методологии строго загоняющие в узкие рамки - не самые лучшие.
Которые провоцируют "хвосты" и стирают личные качества учащихся.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
13.01.2023, 17:05
Цитата Сообщение от SmallEvil Посмотреть сообщение
Методологии строго загоняющие в узкие рамки - не самые лучшие.
Которые провоцируют "хвосты" и стирают личные качества учащихся.
Давайте всё же по порядку, торопить студентов или нет - это отдельный вопрос, который сам собой отпадёт, если мы вернёмся к моему
Обычно этап "памагити обявидь пирименнаю" школьники проходят в школе и в универ приходят учиться не совсем тупой базе.
если с этим все согласны, то и нет смысла выяснять, хорошо или плохо торопить студентов, потому что торопить не из-за чего будет. У них крепкие школьные знания, подтверждённые высокими баллами ЕГЭ по информатике. ЕГЭ сейчас вполне сносно проверяет навыки кодинга. В школе сейчас вполне сносно учат на Пайтоне, факультативно изучают всё что угодно и Си и Математику и Шахматы и Японский язык. При таких входных данных уже немного другой разговор получается, так или нет? Уже как-то и поводов для поблажек для новичков стало меньше, да и новички видятся не совсем новичками...
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
13.01.2023, 17:14
Kuzia domovenok, мы еще говорим про этот конкретный случай ? Потому что я - да.
Цитата Сообщение от Катя__ Посмотреть сообщение
Конкретно у меня в ВУЗе за такие названия переменных выгоняли из кабинета
То есть :
1. студента лишают часа образования за, минуточку, названия переменных.
2.
Цитата Сообщение от Катя__ Посмотреть сообщение
Ближе к концу семестра вводилось правило о сдаче не более 1ой лр за пару.
Переведу, ограничивается возможность сдачи пропущенного/неосвоенного материала !
Мы точно про разные вещи говорим.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
13.01.2023, 18:10
Признаю, я немного не про то говорил, ну тогда поговорим о
Цитата Сообщение от SmallEvil Посмотреть сообщение
студента лишают часа образования за, минуточку, названия переменных.
Это про студента-двоечника. Я продолжаю настаивать, что в основной массе российские студенты молодцы и программировать учатся ещё в школе. Имеют право/не имеют лишать двоечников часа... тоже немного другой вопрос. Даже если не имеют, основной массы студентов эта неприятность не коснётся и на успеваемость всего потока не повлияет!
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
13.01.2023, 18:59
Kuzia domovenok, приведенные Катя__-ей, моменты обучения, очень вероятно, проявление более запущенной и системной проблемы. Которую я уже описал.
То-есть, узкие рамки. Без инициативы и творчества. То есть будут учится на "отгребись".
И то что средняя успеваемость будет "типа" в норме, ничего не скажет об реальном усвоении материала.
Славный оффтопик получился

Добавлено через 1 минуту
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
студента лишают часа образования за, минуточку, названия переменных.
Это про студента-двоечника.
Совсем нет.
0
6 / 6 / 1
Регистрация: 24.09.2019
Сообщений: 78
13.01.2023, 23:29
Цитата Сообщение от SmallEvil Посмотреть сообщение
Катя__, кстати, а за такие переменные ?
i,j,k, lp, kmm, sort1, sort2, sortnn, dp, ffm ? )
С этим всё в порядке. На самом деле, озвученные мной моменты лично на меня повлияли, как я считаю, положительно как минимум в том плане, что кодстайл соблюдается всегда.
Такой пендель даёт мотивацию учиться, хотя, конечно, есть люди, на которых это всё производит обратный эффект.

Добавлено через 1 минуту
Цитата Сообщение от SmallEvil Посмотреть сообщение
1. студента лишают часа образования за, минуточку, названия переменных.
Это происходило на отдельной паре -- не лекции, а сдаче ЛР. На сдаче ЛР все сдают ЛР. Не получилось сдать ЛР -- ждёшь следующей сдаче ЛР 2 недели. На таких сдачах не учат -- на них принимают работы, дают доп задания, иногда объясняют какие-то моменты при защите. Учат на лекциях.
1
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
13.01.2023, 23:40
Цитата Сообщение от Катя__ Посмотреть сообщение
Это происходило на отдельной паре -- не лекции, а сдаче ЛР. На сдаче ЛР все сдают ЛР. Не получилось сдать ЛР -- ждёшь следующей сдаче ЛР 2 недели. На таких сдачах не учат -- на них принимают работы, дают доп задания, иногда объясняют какие-то моменты при защите. Учат на лекциях.
Спасибо, теперь пару моментов прояснилось.

Цитата Сообщение от Катя__ Посмотреть сообщение
Сообщение от SmallEvil
Катя__, кстати, а за такие переменные ?
i,j,k, lp, kmm, sort1, sort2, sortnn, dp, ffm ? )
С этим всё в порядке.
Я специально привел такие переменные, потому что в большинстве случаев, это еще более страшно чем транслит.
Так как назначение этих переменных неочевидны. И на такой коде-стайл тоже нужно указывать.
А вообще, любого рода коде-стайл, никак не участвует в обучении алгоритмов. Это дело уже 100500-ое.

Добавлено через 1 минуту
И в этом конкретном случае, это просто бзик препода : не принимать работы с каким то кодо-стайлом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.01.2023, 23:40
Помогаю со студенческими работами здесь

Ввод уравнения через cin
Здравствуйте, столкнулся с проблемой. Нужно ввести значения х_min = pi/5, x_max = 9*pi/5. не пойму как это можно сделать. #include...

Ввод через cin нескольких чисел
Здравствуйте. Требуется, чтобы пользователь ввел через запятую два числа. Используя scanf(), я бы написал примерно так:...

Пропустить ввод через cin нажатием Enter
Задача: при нажатии enter пропустить ввод значения от пользователя Пытаюсь сейчас понять, как пропустить ввод от пользователя ...

Бесконечный ввод значений через команду cin
Поставлена задача создать целочисельную матрицу и написать к ней такие ф-ции: будут вводить и выводить двомерный массив будет...

Оператор cin. Ввод нескольких переменных через делитель
Всем доброго времени суток. Я начинаю работать с C++ и столкнулся с такой проблемой при написании программы. Мне надо ввести в консольном...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru