Супер-модератор
8774 / 2521 / 143
Регистрация: 07.03.2007
Сообщений: 11,872
|
|
1 | |
cin vs scanf20.03.2009, 10:48. Показов 7885. Ответов 30
Метки нет Все метки)
(
Народ, объясните мне, почему многие предпочитают функцию scanf? ИМХО, cin для ввода данных гораздо проще... Может кто знает, что да как, да меня просветит темного.
0
|
|
20.03.2009, 10:48 | |
Ответы с готовыми решениями:
30
Cin точнее scanf? Операторы cin и scanf Из scanf в std::cin Переделаем вместе scanf() в cin>> |
В астрале
![]() 8041 / 4798 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
24.01.2011, 06:12 | 21 | |||||
no0ker, А почему нет-то? оО
0
|
Модератор
![]() ![]() ![]() ![]() 11144 / 7086 / 1674
Регистрация: 25.07.2009
Сообщений: 12,943
|
|
24.01.2011, 13:05 | 22 |
На самом деле функции ввода/вывода С и С++ не сто'ит мешать совсем не только потому, что это "красивости" программе не прибавляет мягко говоря. И функции С и потоки С++ ввод/вывод буферизируют, при чём делают это по-своему. При достаточно фанатичном чередовании тех и других можно добиться того, что ввод, которого ждёт cin, "осел" в буфере, который использует scanf. Ну или обратный случай - вывод в cout перемешивается с выводом printf в какой-нибудь непредсказуемой последовательности. В любом случае - по-моему действительно лучше в С++ не использовать функции библиотеки С без крайней на то необходимости. Но если уж так привыкли к printf/scanf и хочется использовать их в программе на С++, то хотябы с cin/cout их мешать не нужно. Будьте последовательны!
![]()
0
|
101 / 88 / 7
Регистрация: 17.12.2010
Сообщений: 416
|
||||||
24.01.2011, 16:08 | 23 | |||||
ForEveR, в вашем примере переменные вводимые пользователем разделяются пробелами. а мне нужно '/'. =(
Добавлено через 3 минуты easybudda, вы говорите разумные вещи. если бы можно было осуществить форматированный ввод (так что ли это называется...) используя исключительно 'cin>>', зачем бы он сдался - этот scanf(). Добавлено через 2 минуты
0
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
24.01.2011, 16:23 | 24 |
Ну а как с помощью cin вывести число тип которого float, при этом вывестиодин знак до запятой, и 2 знака после запятой.
Например число Pi..... 3,1415.... хочу вывести cin чтобы было 3,14!
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
24.01.2011, 16:25 | 25 |
sfinexer, с помощью манипуляторов setprecision
cout << setprecision(2) << M_PI;
1
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
01.03.2011, 13:26 | 26 |
У меня проблема с этой штукой((( float u=1.99999; cout << setprecision(2) << u; Выдает двойку а не 1,99 как я хочу(((( Ну или 2,00
0
|
273 / 175 / 11
Регистрация: 14.03.2010
Сообщений: 501
|
|
01.03.2011, 14:52 | 27 |
sfinexer, при установке точности на эн символов происходит не отбрасывание цифр начиная со следующей после эн, а округление числа. И это единственно верное решение, потому что иначе произойдёт потеря точности. Так что никакой «проблемы» тут нет, всё как надо.
0
|
Модератор
![]() ![]() ![]() ![]() 11144 / 7086 / 1674
Регистрация: 25.07.2009
Сообщений: 12,943
|
|
01.03.2011, 15:20 | 28 |
0
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
01.03.2011, 15:32 | 29 |
0
|
Модератор
![]() ![]() ![]() ![]() 11144 / 7086 / 1674
Регистрация: 25.07.2009
Сообщений: 12,943
|
||||||
01.03.2011, 15:56 | 30 | |||||
0
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
01.03.2011, 20:07 | 31 |
Компилятор у меня ругается на file.setprecision file это файловый поток, файл открыт ранее.
Иными словами, у меня таблица порядка 50 значений надо туда записать (там многое в цикле). Но 50 раз писать setprecision(2) который тоже вобщето както странновато работает, и он работает только для последующего выводимого значения, иными словами это усложнит программу. Я хочу написать. file.fixed; file.precision(2); И дальше уже file<<ЧИСЛО; Но у меня при этом число выводится без плавающей запятой. Если вывести переменную которая равна 0,0005488 Оно выведет и нули, а мне надо степень, ибо числа разные. Надо вывести 4 значащих цифры и степень.
0
|
01.03.2011, 20:07 | |
Помогаю со студенческими работами здесь
31
Scanf vs cin (double variant) Заменить cin cout на printf scanf Заменить cin / cout на scanf / printf Переделать scanf и printf в cin и cout Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |