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

Не работает gets (программа игнорирует операцию ввода) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переделать код! http://www.cyberforum.ru/cpp-beginners/thread666990.html
Вот есть задача: Найти площадь шестиугольника, стороны которого равны a, b, c, d, е, f и диагонали, которые разбивают шестиугольник на четыре треугольника, равны 4, 4.5, 6. Я написал код, но для пятиугольника. Как переделать для шестиугольника!? #include <iostream> using namespace std; float pl(float,float,float); void main() { float e=4;
C++ Не происходит перерисовка окна во время длительных вычислений При написание программы с использованиям Windows Forms возникла следующая проблема: окно программы вовремя выполнения расчета не перерисовается, после перекрытия другим окном, в результате вместо окна программы, в то время, когда она выполняет расчет, я вижу кусок другого окна или рабочего стола. Хотелось бы узнать из-за чего возникает данная и проблема и как ее решить. http://www.cyberforum.ru/cpp-beginners/thread666983.html
Записать правильно встраиваемую функцию C++
Разные источники предлагают немного отличающиеся записи: 1) Учебник Либерти так: #include <iostream> using namespace std; inline int Double(int); // прототип функции int main() {
Найти сумму ряда с точностью eps C++
Найти сумму ряда с точностью eps , общий член которого равен an=n!/2n! . Точность считается достигнутой, если следующий член последовательности меньше заданного .
C++ Вычислить значение выражения (исправить код) http://www.cyberforum.ru/cpp-beginners/thread666903.html
Даны целые числа а, b, с. Вычислить в-сумму у = min (a, b + c) + max (ac, b)-min (a2, c). Вот что я написал: #include <iostream> using namespace std; int min(int,int,int); void main(){ int a,b,c,y; cin>>a>>b>>c; y=min(a,b+c)+max(a*c,b)-min(a*2,c); cout<<y;
C++ Анализ треугольника и вычисление его площади 1. Ввести три числа(три стороны треугольника) a,b,c в порядке возрастания. Выдать a,b,c на экран 2. Если a<=c-b то треугольник не существует. Выдать информацию об этом и закончить вычисления. 3. Если c>=a+b, треугольник не существует. Выдать информацию об этом и закончить вычисления. 4. Если a=b=с , то треугольник равносторонний. Выдать информацию об этом и перейти к пункту 8. 5. Если a=b... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
09.10.2012, 15:00     Не работает gets (программа игнорирует операцию ввода)
GarrisonD, после
Цитата Сообщение от GarrisonD Посмотреть сообщение
cin >> key;
в потоке ввода остаётся символ перевода строки, который gets() ваша и ловит в качестве ввода. И кстати, кто Вас надоумил совмещать операции ввода/вывода из С++ с вводом в стиле С, да ещё и с функцией, которую во всех руководствах настоятельно рекомендуют не использовать и держат исключительно для обратной совместимости?
SECURITY CONSIDERATIONS
The gets() function cannot be used securely. Because of its lack of
bounds checking, and the inability for the calling program to reliably
determine the length of the next incoming line, the use of this function
enables malicious users to arbitrarily change a running program's func-
tionality through a buffer overflow attack. It is strongly suggested
that the fgets() function be used in all cases. (See the FSA.)
man gets
 
Текущее время: 10:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru