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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ программа которая рисует 4 треугольника слева на право http://www.cyberforum.ru/cpp-beginners/thread20616.html
:help: есть код #include <iostream.h> #include <conio.h> int main() { char znak='*'; //-------------------------------------------------------------------- for(int i=0; i<10;...
C++ Конкретизация шаблона функции Есть шаблон функции :template<typename Type> Type arrlen(void *memory) { return static_cast<Type>(_msize(memory) / sizeof(Type)); } Как его конкретизировать (если это вообще возможно). То есть... http://www.cyberforum.ru/cpp-beginners/thread20613.html
Определить номер столбца матрицы, в котором нет ни одного отрицательного элемента C++
Помогите пожалуйста!!! Как присвоить переменной номер столбца, двухмерного массива nxn, в котором нет ни одного отрицательного элемента (зная, что такой столбец единственный). При надобности...
C++ Генератор буквенных символов
помогите создать генератор букв латинского алфавита
C++ немогу никак понять в чем ошибка=(помогите плиз! http://www.cyberforum.ru/cpp-beginners/thread20579.html
есть вот такой вот код : #include <iostream.h> #include <math.h> void main(void) { int a,b,i,m,k,y=0,u=0,p,j,t=0,s,h=0,nb=-1,z,n=0,kol=0,pr=0; double g,d,r,l,e=0; cout<<"Vvedite chislo...
C++ 8ричное и 16ричное представления Привет всем.Я вот недавно решил изучать С(си).Вот столкнулса с такой проблемой.Не могли би ви обяснить поподобнее что такое восьмиричное и шестнадцатиричное представление?А то я ничево в етом не... подробнее

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

Добавлено через 20 минут 22 секунды
Вот, посмотри здесь пример кода программы, в котором то же самое:
http://www.cyberforum.ru/cpp-beginne...post89643.html
Просто использовано два вызова get. Один - чтобы снять с потока, что там осталось, а второй, чтобы ожидать нажатия от пользователя.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru