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

Непонятная ошибка. Потоки ввода/вывода - C++

Восстановить пароль Регистрация
 
 
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 138
24.04.2014, 16:50     Непонятная ошибка. Потоки ввода/вывода #1
Решал задачу и столкнулся с проблемой (первый день на c++ "пишу") не пойму что за ошибка
код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
 using namespace std;
   void main()
   {
   freopen("input.txt","r",stdin);
   freopen("output.txt","w",stdout);
   int i,c,f,a,b;
   c=0;
   f=0;
   for (i=1; i<=4; i++)
    {
    cin>>a>>b>>endl;
      if (a>b)c++;
      else f++;
    }
    if (c>f) cout<<"1";
    if (c<f) cout<<"2";
    if (c==f) cout<<"DRAW";
   }

вот что пишет на одном из сайтов, но не могу понять что это значит
task.cpp
task.cpp(15) : error C2679: binary '>>' : no operator found which takes a right-hand operand of
type 'const char [2]' (or there is no acceptable conversion)

Добавлено через 3 минуты
пробовал вместо "endl" писать "\n", но выдается все та же ошибка
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2014, 16:50     Непонятная ошибка. Потоки ввода/вывода
Посмотрите здесь:

C++ потоки ввода/вывода.
C++ Непонятная работа вывода
Потоки ввода-вывода в С++ C++
C++ Используя потоки ввода/вывода в С++
C++ Текстовые файлы и потоки ввода/вывода
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Ellen_
15 / 15 / 5
Регистрация: 28.11.2013
Сообщений: 50
24.04.2014, 16:52     Непонятная ошибка. Потоки ввода/вывода #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ecofreeon Посмотреть сообщение
cin>>a>>b>>endl;
C++
1
2
cin >> a >> b;
cout << endl;
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 138
24.04.2014, 16:53  [ТС]     Непонятная ошибка. Потоки ввода/вывода #3
Цитата Сообщение от _Ellen_ Посмотреть сообщение
cout << endl;
помогло, спасибо.
А в одном строке это почему нельзя сделать?
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,779
24.04.2014, 16:57     Непонятная ошибка. Потоки ввода/вывода #4
ecofreeon, потому-что одно это cin, второе - cout
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
24.04.2014, 16:57     Непонятная ошибка. Потоки ввода/вывода #5
Цитата Сообщение от ecofreeon Посмотреть сообщение
А в одном строке это почему нельзя сделать?
потому что std::cout - это объект выходного потока, а std::cin - входного
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 138
24.04.2014, 16:58  [ТС]     Непонятная ошибка. Потоки ввода/вывода #6
а как это сделать не трогая cout? просто тогда в файле output результат будет напечатан в 5-й строке, а надо, чтобы в 1-й.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
24.04.2014, 16:59     Непонятная ошибка. Потоки ввода/вывода #7
ecofreeon, если я вас правильно понял, то вместо
Цитата Сообщение от _Ellen_ Посмотреть сообщение
cout << endl;
это
C++
1
std::cout<<" ";
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,779
24.04.2014, 17:00     Непонятная ошибка. Потоки ввода/вывода #8
ecofreeon,

C++
1
cout << endl;
не надо вообще писать

сотрите его и все
_Ellen_
15 / 15 / 5
Регистрация: 28.11.2013
Сообщений: 50
24.04.2014, 17:03     Непонятная ошибка. Потоки ввода/вывода #9
Цитата Сообщение от ecofreeon Посмотреть сообщение
А в одном строке это почему нельзя сделать?
cin - объект входного потока, >> - операция взятия из потока. В данном случае в cin попадает информация с клавиатуры.
Операция << используется, чтобы поместить информацию в поток выхода, в данном случае для вывода на экран.

Переменные Вы считываете с клавиатуры, а переход на новую строку выводите на экран.
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 138
24.04.2014, 17:04  [ТС]     Непонятная ошибка. Потоки ввода/вывода #10
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
не надо вообще писать
но мне надо, чтобы после считывания двух чисел программа считывала еще два числа со следующей строки
хмм... действительно в первой строке пишет...
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.04.2014, 17:04     Непонятная ошибка. Потоки ввода/вывода #11
Цитата Сообщение от ecofreeon Посмотреть сообщение
первый день на c++ "пишу"
ecofreeon, желательно не смешивать Си и С++.
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 138
24.04.2014, 17:14  [ТС]     Непонятная ошибка. Потоки ввода/вывода #12
Цитата Сообщение от alsav22 Посмотреть сообщение
желательно не смешивать Си и С++
а я, вроде. и не смешиваю их...

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
*using namespace std;
* *void main()
* *{
* *freopen("input.txt","r",stdin);
* *freopen("output.txt","w",stdout);
* *int i,c,f,a,b;
* *c=0;
* *f=0;
* *for (i=1; i<=4; i++)
* * {
* * cin>>a>>b;
* * * if (a>b)c++;
* * * else f++;
* * }
* * if (c>f) cout<<"1";
* * if (c<f) cout<<"2";
* * if (c==f) cout<<"DRAW";
* *}
такая программа будет переходит на следующую строку после считывания первой?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.04.2014, 17:20     Непонятная ошибка. Потоки ввода/вывода #13
Цитата Сообщение от ecofreeon Посмотреть сообщение
а я, вроде. и не смешиваю их...
Считаете, что это С++?
C++
1
2
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 138
24.04.2014, 17:22  [ТС]     Непонятная ошибка. Потоки ввода/вывода #14
Цитата Сообщение от alsav22 Посмотреть сообщение
Считаете, что это С++?
я не знаю, по запросу на ввод и вывод в файлы c++ я нашел это, работает.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.04.2014, 17:22     Непонятная ошибка. Потоки ввода/вывода #15
Тем более, что это здесь совершенно ни к чему.
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 138
24.04.2014, 17:24  [ТС]     Непонятная ошибка. Потоки ввода/вывода #16
Цитата Сообщение от alsav22 Посмотреть сообщение
Тем более, что это здесь совершенно ни к чему
к чему. мне нужно брать значения из файла input.txt и выводить в output.txt
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.04.2014, 17:34     Непонятная ошибка. Потоки ввода/вывода #17
На С++ это так может выглядеть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    ifstream fin("input.txt");
    if (!fin)
        cout << "Error!" << endl;
    else
    {
        ofstream fout("output.txt");
        int c, f, a, b;
        c = 0;
        f = 0;
        while (fin >> a >> b)
        {
            if (a > b)
                c++;
            else 
                f++;
        }
        if (c > f) 
            fout << "1" << endl;
        if (c < f) 
            fout << "2" << endl;
        if (c == f) 
            fout << "DRAW" << endl;
        
        fout.close();
        fin.close();
    }
    
    cin.get();
    return 0;
}
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 138
24.04.2014, 17:40  [ТС]     Непонятная ошибка. Потоки ввода/вывода #18
Спасибо ."fin" и "fout" это зарезервированные названия или могу использовать свои?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.04.2014, 17:58     Непонятная ошибка. Потоки ввода/вывода #19
Можно свои (cin и cout зарезервированы).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2014, 09:05     Непонятная ошибка. Потоки ввода/вывода
Еще ссылки по теме:

Потоки ввода-вывода C++
C++ потоки вывода
C++ Ошибка компиляции модульной программы ввода вывода

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

Или воспользуйтесь поиском по форуму:
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 138
25.04.2014, 09:05  [ТС]     Непонятная ошибка. Потоки ввода/вывода #20
объясните пню(мне) как построчно считывать из файла цифры, не символы. вот в паскале(знаю лучше его) допустим есть readln, которая считывает и переводит на следующую строку, а в c++ как это осуществляется?

Добавлено через 12 минут
fin >> a >> b
вот так вот считываются строки, но как-то не правильно считываются: выводить должно быть 57 57 а выводит 32 28
Yandex
Объявления
25.04.2014, 09:05     Непонятная ошибка. Потоки ввода/вывода
Ответ Создать тему
Опции темы

Текущее время: 23:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru