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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 139
#1

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

24.04.2014, 16:50. Просмотров 670. Ответов 23
Метки нет (Все метки)

Решал задачу и столкнулся с проблемой (первый день на 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++
1) Типы данных, для которых перегружены операторы форматного ввода-вывода.

Потоки ввода-вывода в С++ - C++
Ребят, нужна помощь В программирование я новичок, но сдать нужно 1. Написать программу, печатающую символы. Использовать цикл while....

Используя потоки ввода/вывода в С++ - C++
Здравствуйте помогите организовать запись информации из массива объектов в класс, чтение данной информации из класса, ввод информации с...

Текстовые файлы и потоки ввода/вывода - C++
Доброго времени суток. Уважаемый гуру, не могли бы вы мне помочь с решением данной программы. Алгоритм знаю, но никак не могу его...

Переделать потоки ввода-вывода на prinf и scanf - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; int x,y,i,j,n1,m1,n2,m2,z; void cret(void) { cout&lt;&lt;&quot;\nVvedit...

Запустить интерпретатор bash, получить потоки ввода вывода - C++
Здравствуйте, мне необходимо в своей программе запустить интерпретатор bash, и получить стандартные потоки ввода/вывода, для того чтобы...

Потоки ввода/вывода: дважды скопировать исходный файл - 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
Сообщений: 139
24.04.2014, 16:53  [ТС]     Непонятная ошибка. Потоки ввода/вывода #3
Цитата Сообщение от _Ellen_ Посмотреть сообщение
cout << endl;
помогло, спасибо.
А в одном строке это почему нельзя сделать?
Ev_Hyper
Заблокирован
24.04.2014, 16:57     Непонятная ошибка. Потоки ввода/вывода #4
ecofreeon, потому-что одно это cin, второе - cout
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
24.04.2014, 16:57     Непонятная ошибка. Потоки ввода/вывода #5
Цитата Сообщение от ecofreeon Посмотреть сообщение
А в одном строке это почему нельзя сделать?
потому что std::cout - это объект выходного потока, а std::cin - входного
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 139
24.04.2014, 16:58  [ТС]     Непонятная ошибка. Потоки ввода/вывода #6
а как это сделать не трогая cout? просто тогда в файле output результат будет напечатан в 5-й строке, а надо, чтобы в 1-й.
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
24.04.2014, 16:59     Непонятная ошибка. Потоки ввода/вывода #7
ecofreeon, если я вас правильно понял, то вместо
Цитата Сообщение от _Ellen_ Посмотреть сообщение
cout << endl;
это
C++
1
std::cout<<" ";
Ev_Hyper
Заблокирован
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
Сообщений: 139
24.04.2014, 17:04  [ТС]     Непонятная ошибка. Потоки ввода/вывода #10
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
не надо вообще писать
но мне надо, чтобы после считывания двух чисел программа считывала еще два числа со следующей строки
хмм... действительно в первой строке пишет...
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.04.2014, 17:04     Непонятная ошибка. Потоки ввода/вывода #11
Цитата Сообщение от ecofreeon Посмотреть сообщение
первый день на c++ "пишу"
ecofreeon, желательно не смешивать Си и С++.
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 139
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
5416 / 4812 / 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
Сообщений: 139
24.04.2014, 17:22  [ТС]     Непонятная ошибка. Потоки ввода/вывода #14
Цитата Сообщение от alsav22 Посмотреть сообщение
Считаете, что это С++?
я не знаю, по запросу на ввод и вывод в файлы c++ я нашел это, работает.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.04.2014, 17:22     Непонятная ошибка. Потоки ввода/вывода #15
Тем более, что это здесь совершенно ни к чему.
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 139
24.04.2014, 17:24  [ТС]     Непонятная ошибка. Потоки ввода/вывода #16
Цитата Сообщение от alsav22 Посмотреть сообщение
Тем более, что это здесь совершенно ни к чему
к чему. мне нужно брать значения из файла input.txt и выводить в output.txt
alsav22
5416 / 4812 / 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
Сообщений: 139
24.04.2014, 17:40  [ТС]     Непонятная ошибка. Потоки ввода/вывода #18
Спасибо ."fin" и "fout" это зарезервированные названия или могу использовать свои?
alsav22
5416 / 4812 / 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++
На C# есть такой код: using System; using System.IO; public class Program { static public void Main() { ...

В чем ошибка? Перегрузка оператора ввода\вывода - C++
Доброго времени суток. Где я допустил ошибку? Перегрузка оператора как-будто игнорируется. Выводит просто &quot;test&quot;, а я ожидаю &quot;: test&quot;. ...

Ошибка при работе с потоками ввода (вывода) в файл (из файла) - C++
Изучаю перегрузку операторов ввода/вывода с файлом и без. Вылетает такая ошибка при отработанном коде: Необработанное исключение по...


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

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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru