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

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

Восстановить пароль Регистрация
 
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
30.06.2010, 22:35     программа(наверно с перегрузкой что то) #1
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)

вот ошибка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Хохол
Эксперт C++
 Аватар для Хохол
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
30.06.2010, 22:38     программа(наверно с перегрузкой что то) #2
А мож все-таки сам переведешь сообщение компилятора? Он вполне понятно объясняет, что не так.
Aaxenon
Light Knight
 Аватар для Aaxenon
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
 Аватар для Aaxenon
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
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
30.06.2010, 22:51  [ТС]     программа(наверно с перегрузкой что то) #7
ура...получилось сделать...переделал из int в сhar
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
30.06.2010, 22:51     программа(наверно с перегрузкой что то) #8
RoY_Mu$T@nG, весь массив в >> ты можешь передавать только char'ого типа, для других массисов придется в цикле вводить каждый элемент.
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
30.06.2010, 23:09  [ТС]     программа(наверно с перегрузкой что то) #9
только он теперь не прописывает в файл цифры, да и буквы не особо...закорючки какие то

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

Добавлено через 7 минут
всё, всем спасибо, доделал всё
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 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     программа(наверно с перегрузкой что то)
Еще ссылки по теме:

Ошибка с перегрузкой pow C++
ошибка с перегрузкой операции C++
Работа с перегрузкой сложения C++

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

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

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