Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Del_Piero_10
Smart is the new Sexy
24 / 24 / 1
Регистрация: 29.12.2008
Сообщений: 109
#1

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

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

Код
#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) ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2009, 14:40     Требуется подкорректировать программу
Посмотрите здесь:

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

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

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

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

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

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

Помогите подкорректировать! - C++
//---------------------ZADANIE ------------------------- // Dany natural'noe chislo N, deystvitel'nye chisla // a, ... , a. Poluchit'...

Требуется дописать программу С++ сорировка - C++
Требуется упорядочить матрицу по столбцам методом прямого выбора без использования дополнительного массива. Вот программа: #include...

подкорректировать код(логин и пароль) - C++
Доброго времени суток господа. Помогите подкорректировать код пожалуйста. Нужно что бы в данном коде было несколько вариантов логинов и...

Вычисление sin. Подкорректировать код. - C++
#include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; using namespace std; const int...


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

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

Добавлено через 20 минут 22 секунды
Вот, посмотри здесь пример кода программы, в котором то же самое:
http://www.cyberforum.ru/cpp-beginne...post89643.html
Просто использовано два вызова get. Один - чтобы снять с потока, что там осталось, а второй, чтобы ожидать нажатия от пользователя.
Del_Piero_10
Smart is the new Sexy
24 / 24 / 1
Регистрация: 29.12.2008
Сообщений: 109
10.01.2009, 15:45  [ТС]     Требуется подкорректировать программу #3
Спасибо большое, за полное объяснение. Все заработало.
Yandex
Объявления
10.01.2009, 15:45     Требуется подкорректировать программу
Закрытая тема Создать тему
Опции темы

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