Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Smart is the new Sexy
32 / 32 / 1
Регистрация: 29.12.2008
Сообщений: 109

Требуется подкорректировать программу

10.01.2009, 14:40. Показов 1043. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
class phone_name {
    char name[20];
    long int phone;
public:
    void set_phone() { long int x; cin >> x; phone = x; }
    void set_name() { gets (name); }
    void show() { cout << name << " " << phone; }
};
 
void main() {
    phone_name *ob;
    ob = new phone_name;
    ob->set_phone();
    ob->set_name();
    ob->show();
}
Вопрос: Почему пропусукает и не выполняет функцию gets (name) ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.01.2009, 14:40
Ответы с готовыми решениями:

Подкорректировать программу
Помогите в данной програме сделать так чтобы выводило нормально результат вычисление матрицы и помогите найти её найменьший элемент всех...

Подкорректировать программу!
Ребят помогите пожалуйста! нужно немного изменить код! Вот начальный код: #include &lt;iostream&gt; #include &lt;string&gt; ...

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

2
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
10.01.2009, 15:32
Ты используешь перед этим такой вызов:
cin >> x;
что он делает? Грубо говоря, он считывает с потока строку, потом ее в int "превращает". Символ перехода на новую строку он оставляет в потоке. У тебя же не должен символ \n попасть в число? Вот следующим вызовом твоя gets и читает этот \n оставшийся в потоке, считая что ты ввел пустую строку. Это нормальное поведение, так и должно быть.
Вызывай два раза, чтобы избавится от этого. Желательно вызывать один раз сразу после ввода (чтобы в вызове функции сразу же убрать символ перехода из потока), чтобы не запутаться. Тогда после вызова гарантировано все будет работать, как ожидается при любом вызове.

Добавлено через 20 минут 22 секунды
Вот, посмотри здесь пример кода программы, в котором то же самое:
https://www.cyberforum.ru/cpp-... 89643.html
Просто использовано два вызова get. Один - чтобы снять с потока, что там осталось, а второй, чтобы ожидать нажатия от пользователя.
1
Smart is the new Sexy
32 / 32 / 1
Регистрация: 29.12.2008
Сообщений: 109
10.01.2009, 15:45  [ТС]
Спасибо большое, за полное объяснение. Все заработало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.01.2009, 15:45
Помогаю со студенческими работами здесь

Помогите подкорректировать программу
Задание: Составить программу, которая содержит текущую информацию о заявках на авиабилеты. каждая заявка включает: - пункт...

подкорректировать программу со строками
#include &lt;string&gt; #include &lt;iostream&gt; int main() { std::string vowel = &quot;AaEeIiOoUuYy&quot;; std::string str; ...

Как можно упростить программу?(или подкорректировать)
(ссылка на задание) Вот мое решение : Код: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include...

подкорректировать программу
нужно сделать так что-бы А) поиск осуществлялся по всем комбобоксам и при вводе текстовое поле имени ! Б) Проверить на наличие ошибок...

Нужно подкорректировать программу
задача вкратце звучит так: нужно поменять местами десятки и сотни(т.е. из 123 получим 213) мой код: a = int(input(&quot;Введите...


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

Или воспользуйтесь поиском по форуму:
3
Закрытая тема Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru