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

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

Войти
Регистрация
Восстановить пароль
 
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
#1

программа(наверно с перегрузкой что то) - C++

30.06.2010, 22:35. Просмотров 558. Ответов 10
Метки нет (Все метки)

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
class card
{
 friend istream& operator >> (istream& in, card& numbi);
 friend ostream& operator << (ostream& out, card numbo);
public:
 int amount[20];
 int give[20];
 string code[20];
};
class jornal : public card
{
public:
 char name[20];
 int year[20];
 int number[20];
};
istream& operator >> (istream& in, card numbi)
{
 in >> numbi.amount >> numbi.give >> numbi.code;
 return in;
}
ostream& operator << (ostream& out, card numbo)
{
 out << numbo.amount << " " << numbo.give << " " << numbo.code;
 out << endl;
 return out;
}
int main()
{
 card book[100], bookn[100];
 char next;
 string code[20];
 int i, b;
 cout << "1.Add, 2.Search, 3.Exit" << endl;
 cin >> b;
 if(b==1)
 {
 ofstream fileout("file.txt", ios::app);
 if(!fileout)
 {
 cerr << "Error: opening file" << endl;
 return 1;
 }
 for(i=0;i<1;i++)
 {
 cout << "Enter amount, give up, code, name, year, number" << endl;
 cin >> book[i];
 fileout << book[i];
 }
 }
 else
        if(b==2)
        {
 cout << "Enter code:";
 cin >> code;
 ifstream filein("file.txt");
 if(!filein)
 {
 cerr << "Error: opening file";
 return 2;
 }
 i=0;
 while(1)
 {
 filein >> bookn[i];
 if(bookn[i].code==code)
 {
 cout << bookn[i];
 break;
 }
 next=filein.peek();
 if(next==EOF)break;
 i++;
 }
        }
        else
                if(b==3) return 1;
 return 0;
}

error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'int [20]' (or there is no acceptable conversion)

вот ошибка
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2010, 22:35     программа(наверно с перегрузкой что то)
Посмотрите здесь:

Как записать правильно? Программа работает но код наверно не верен. - C++
#include &lt;iostream&gt; using namespace std; int main() { long sek; cout &lt;&lt; &quot;Enter the number of senonds: &quot;; ...

Проблемы с перегрузкой - C++
Доброго времени суток. Собственно у меня следущая проблема. Создаю класс динамических одномерных массивов: class massiv { public: ...

Неправельно работает конструктор(наверно) - C++
Вот класс и вот конструктор думаю знающие люди разберутся я создаю 1 элемент класса точнее указатель first на элемент который будет...

я наверно не так тему понял? - C++
Найти скалярное произведение векторов.я наверно не так тему понял?Подскажите где ошибка. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

ошибка с перегрузкой операции - C++
Долго сижу и никак не могу понять в чём ошибка. Вот 3 файла. Они подключены правильно и работают. #include &lt;iostream&gt; #include...

Указатель на функцию с перегрузкой - C++
Мне нужно передать указатель на функцию. Повидимому потребуется перегрузка функций, поскольку они в разных форматах. Передаваемые...

Помогите с перегрузкой операций. - C++
Створити динамічний клас для роботи з рядками. Максимальна довжина послідовності – 254. Перший байт повинен містити інформацію про фактичну...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
30.06.2010, 22:38     программа(наверно с перегрузкой что то) #2
А мож все-таки сам переведешь сообщение компилятора? Он вполне понятно объясняет, что не так.
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
30.06.2010, 22:40  [ТС]     программа(наверно с перегрузкой что то) #3
по сути нет оператора который берет правый операнд типа int[20]...ошибка в 23 строке...но я не знаю как ее исправить
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
30.06.2010, 22:43     программа(наверно с перегрузкой что то) #4
numbo.amount - ну у тебя эта штука - массив. Уж по логике программы как-нибудь исправляй.
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
30.06.2010, 22:45  [ТС]     программа(наверно с перегрузкой что то) #5
я пробовал его убирать, ошибка та же
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
30.06.2010, 22:50     программа(наверно с перегрузкой что то) #6
Ну мля, у тебя give, amount - массивы.

Добавлено через 30 секунд
code еще
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
30.06.2010, 22:51  [ТС]     программа(наверно с перегрузкой что то) #7
ура...получилось сделать...переделал из int в сhar
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
30.06.2010, 22:51     программа(наверно с перегрузкой что то) #8
RoY_Mu$T@nG, весь массив в >> ты можешь передавать только char'ого типа, для других массисов придется в цикле вводить каждый элемент.
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
30.06.2010, 23:09  [ТС]     программа(наверно с перегрузкой что то) #9
только он теперь не прописывает в файл цифры, да и буквы не особо...закорючки какие то

Добавлено через 8 минут
с этим справился...еще вопрос...как сделать чтобы класс jornal относился к классу card

Добавлено через 7 минут
всё, всем спасибо, доделал всё
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
01.07.2010, 04:01     программа(наверно с перегрузкой что то) #10
PS. Здесь..
Цитата Сообщение от RoY_Mu$T@nG Посмотреть сообщение
friend istream& operator >> (istream& in, card& numbi);
И Здесь разницу находишь?
Цитата Сообщение от RoY_Mu$T@nG Посмотреть сообщение
C++
1
2
3
4
5
istream& operator >> (istream& in, card numbi)
{
 in >> numbi.amount >> numbi.give >> numbi.code;
 return in;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2010, 09:10     программа(наверно с перегрузкой что то)
Еще ссылки по теме:

Ошибка с перегрузкой операторов - C++
копилятор видимо тупит или я туплю или автор книги class countt{ public: int getvar()const{return itsvar;} void setvar(int...

Работа с перегрузкой сложения - C++
Ребята суть задачки в фото , помогите пожалуйста .

Ошибка с перегрузкой pow - C++
error C2668: 'pow' : ambiguous call to overloaded function #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; using...

Потоковый вывод массива с перегрузкой - C++
Шаблонный класс Array может хранить объекты любого типа, для которого определён конструктор копирования, в том числе и другой Array,...

Создание шаблона с перегрузкой стандартных операторов - C++
Здравствуйте уважаемые! Уже несколько часов подряд бьюсь над задачей вроде бы очень простой, но видимо что-то упускаю. Задача...


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

Или воспользуйтесь поиском по форуму:
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
01.07.2010, 09:10  [ТС]     программа(наверно с перегрузкой что то) #11
да)) я уже нашел эту ошибку)
Yandex
Объявления
01.07.2010, 09:10     программа(наверно с перегрузкой что то)
Ответ Создать тему
Опции темы

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