-30 / 8 / 1
Регистрация: 31.05.2013
Сообщений: 485
1

Переделаем вместе scanf() в cin>>

18.02.2017, 17:56. Показов 872. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Был исходник:
C++
1
2
3
4
5
6
7
void Comp::Get() // Ввод данных с клавиатуры =)
{
    printf ("\n Введите действительную часть  числа ");
    scanf ("%g",&Re);
    printf ("\n Введите мнимую часть числа ");
    scanf ("%g",&Im);
}
Переделал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
using namespace std;
......
......
void Comp::Get() // Ввод данных с клавиатуры =)
{
    cout <<"\n Введите действительную часть  числа ";
    getline (cin,Re);
    cout <<"\n Введите мнимую часть числа ";
    getline (cin,Im);
}
Компиль зашипел:
Bash
1
 In member function 'void Comp::Get()': 50:17: error: no matching function for call to 'getline(std::istream&, float&)' 50:17: note: candidates are:
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2017, 17:56
Ответы с готовыми решениями:

Из scanf в std::cin
Как тоже самое сделать с помощью std::cin? printf(&quot;Введите автора %d книги.\n&quot;,i+1);...

Операторы cin и scanf
Пример кода: void func(float* p){ cout &lt;&lt; &quot;Введите значение&quot;; scanf(&quot;%f\n&quot;, &amp;p); } Как...

Cin точнее scanf?
Здравствуйте. Во время написания кода и попытки понимания возникновения ошибки, отправил на проход...

Scanf vs cin (double variant)
double k = 0.0; scanf(&quot;%f&quot;, &amp;k); double k1 = 0.0 cin &gt;&gt; k1; Вводим -1,5. Получаем: k =...

5
nd2
3434 / 2813 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
18.02.2017, 18:01 2
Цитата Сообщение от Albaz Посмотреть сообщение
C++
1
getline (cin,Re);
Это годится, если бы Re была типа std::stsring. Для числовых:
C++
1
cin >> Re;
1
41 / 41 / 11
Регистрация: 02.04.2016
Сообщений: 308
18.02.2017, 18:06 3
Есть же cin.getline(char*, int n)

Добавлено через 3 минуты
Ну, или fscanf(stdin, "форматная строка", аргументы)
1
-30 / 8 / 1
Регистрация: 31.05.2013
Сообщений: 485
18.02.2017, 18:42  [ТС] 4
AAAAAAAAAAAA..........х
0
Модератор
Эксперт С++
13329 / 10631 / 6352
Регистрация: 18.12.2011
Сообщений: 28,388
18.02.2017, 18:50 5
Re и Im у Вас скорее всего double.
Их нельзя вводить как текстовую строку.
Так что (как уже написал nd2):
C++
1
2
cin>>Re;
cin>>Im;
0
-30 / 8 / 1
Регистрация: 31.05.2013
Сообщений: 485
18.02.2017, 20:09  [ТС] 6
Сделал под старый компиль, правда там СТД без подключения:
C++
1
2
3
4
5
// Compiling by Borland C++.ver.3.1
#include <iostream.h>
#include <string.h>
#include <math.h>
//using namespace std;
Работает:
C++
1
2
3
4
cout <<"\n Введите действительную часть  числа ";
    cin >> Re;
    cout <<"\n Введите мнимую часть числа ";
    cin >> Im;
0
18.02.2017, 20:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2017, 20:09
Помогаю со студенческими работами здесь

Переделать scanf и printf в cin и cout
#include &quot;stdio.h&quot; #include &quot;math.h&quot; int main() { float S=0; int n=3; ...

Заменить scanf и printf на cin и cout
Помогите пожалуйста переделать #include &quot;iostream&quot; #include &quot;math.h&quot; using namespace std; ...

Cin и cout заменить на scanf и printf
Препод придрался к коду и требует, чтобы я cin и cout заменил на scanf и printf. Поможете? или хотя...

Отличие printf/scanf от cout/cin
Я слышал, что принтф и сканф - это форматированный вывод данных , а син и саут - это потоковый...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru