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

Как тут исправить ошибки? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
04.11.2011, 19:04     Как тут исправить ошибки? #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
/*
 * code.cpp
 *
 *  Created on: 04.11.2011
 *      Author: Sensei
 */
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
class Account
{
public:
Account(int money)
{
setBalance(money);
}
void credit(int creditmoney)
{
    int buf;
    cin>>creditmoney;
    if (creditmoney>=0)
    {
    buf = getBalance() + creditmoney ;
    setBalance(buf);
    cout<<"Вы взяли кредит,теперь ваш баланс"<<getBalance()<<endl;
    };
}
void debit(int moneyout)
{
    int buf;
    if (moneyout>balance)
    cout<<"Сумма,которую вы пытаитесь запросить превышает ваш баланс"<<endl;
    if (moneyout<=balance)
    {
    buf = getBalance()-moneyout;
    setBalance(buf);
    cout<<"Вы сняли"<< moneyout <<" на счете осталось " << getBalance() << endl;
    };
 
}
void setBalance(int money)
{
    if (money<0)
        balance = 0;
    if (money>=0)
        balance = money;
}
 
int getBalance()
{
 
    return balance;
}
private :
int balance;
};
int main()
{
Account Account1(-500);
Account Account2(1000);
cout<<"Операция выполняется\n"<<Account1.balance<<endl;
cout<<"Операция выполняется\n"<<Account2.balance<<endl;
cout<<"Операция выполняется\n"<<Account1.debit(500)<<endl;
cout<<"Операция выполняется\n"<<Account2.debit(200)<<endl;
return 0;
}
Ошибки:
Description Resource Path Location Type
'int Account::balance' is private code.cpp /Account/src line 51 C/C++ Problem
within this context code.cpp /Account/src line 57 C/C++ Problem
within this context code.cpp /Account/src line 58 C/C++ Problem
statement has no effect code.cpp /Account/src line 57 C/C++ Problem
statement has no effect code.cpp /Account/src line 58 C/C++ Problem
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2011, 19:04     Как тут исправить ошибки?
Посмотрите здесь:

C++ Как исправить ошибки
Как исправить ошибки? C++
C++ Как исправить эти ошибки
C++ Как исправить ошибки
Как исправить ошибки? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.11.2011, 19:15     Как тут исправить ошибки? #2
iluxa1810, balance приватный член класса. юзайте getBalance()
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
04.11.2011, 19:15  [ТС]     Как тут исправить ошибки? #3
UPD:
Исправил немного код и ошибки новые появились

Description Resource Path Location Type
'int Account::balance' is private code.cpp /Account/src line 56 C/C++ Problem
no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char>&)(& std::cout)), ((const char*)"\37777777716\37777777757\37777777745\37777777760\37777777740\37777777766\37777777750\37777777777 \37777777742\37777777773\37777777757\37777777756\37777777753\37777777755\37777777777\37777777745\37777777762\37777777761\37777777777\012")) << Account1.Account::debit(500)' code.cpp /Account/src line 65 C/C++ Problem
no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char>&)(& std::cout)), ((const char*)"\37777777716\37777777757\37777777745\37777777760\37777777740\37777777766\37777777750\37777777777 \37777777742\37777777773\37777777757\37777777756\37777777753\37777777755\37777777777\37777777745\37777777762\37777777761\37777777777\012")) << Account2.Account::debit(200)' code.cpp /Account/src line 66 C/C++ Problem
within this context code.cpp /Account/src line 63 C/C++ Problem
within this context code.cpp /Account/src line 64 C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 173, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 225, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 209, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 213, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 221, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 165, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 200, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 204, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 169, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 180, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>, std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>] Account line 117, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 127, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 191, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char, _Traits = std::char_traits<char>] Account line 105, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\bits\ostream.tcc C/C++ Problem
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char, _Traits = std::char_traits<char>] Account line 91, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\bits\ostream.tcc C/C++ Problem
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>] Account line 119, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\bits\ostream.tcc C/C++ Problem
candidates are: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] Account line 108, external location: c:\program files (x86)\mingw\lib\gcc\mingw32\4.5.2\include\c++\ostream C/C++ Problem
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.11.2011, 19:17     Как тут исправить ошибки? #4
Исправленный код в студию.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
04.11.2011, 19:22     Как тут исправить ошибки? #5
C++
1
cout<<"Операция выполняется\n"<<Account1.debit(500)<<endl;
Метод debit возвращает void, т.е. ничего не возвращает, а вы пытаетесь это вывести в поток
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
04.11.2011, 19:25  [ТС]     Как тут исправить ошибки? #6
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
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
class Account
{
public:
Account(int money)
{
setBalance(money);
}
void credit(int creditmoney)
{
    int buf;
    cin>>creditmoney;
    if (creditmoney>=0)
    {
    buf = getBalance() + creditmoney ;
    setBalance(buf);
    cout<<"Вы взяли кредит,теперь ваш баланс"<<getBalance()<<endl;
    };
}
void debit(int moneyout)
{
    int buf;
    if (moneyout>balance)
    cout<<"Сумма,которую вы пытаитесь запросить превышает ваш баланс"<<endl;
    if (moneyout<=balance)
    {
    buf = getBalance()-moneyout;
    setBalance(buf);
    cout<<"Вы сняли"<< moneyout <<" на счете осталось " << getBalance() << endl;
    };
 
}
void setBalance(int money)
{
    if (money<0)
        balance = 0;
    if (money>=0)
        balance = money;
}
 
int getBalance()
{
 
    return balance;
}
private :
int balance;
 
};
int main()
{
Account Account1(-500);
Account Account2(1000);
cout<<Account1.getBalance()<<endl;
cout<<Account2.getBalance()<<endl;
Account1.debit(500);
Account2.debit(200);
Account1.credit(1000);
Account2.credit(-500);
return 0;
}
P.S Попробовал cout'ы в конце убрать ,т.к в функциях они итак есть...

Добавлено через 2 минуты
Еще ,я не могу понять,почему ругань идет на приват...
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
04.11.2011, 19:32     Как тут исправить ошибки? #7
getBalance - это функция, а не переменная.

P.S.: передай Sensei-ю что он балбес.
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
04.11.2011, 19:41  [ТС]     Как тут исправить ошибки? #8
lazybiz, ну да и в чем ошибка? Я пытаюсь вывести ее значение в поток и появляется ошибка .

Добавлено через 6 минут
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
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
class Account
{
public:
Account(int money)
{
setBalance(money);
}
void credit(int creditmoney)
{
    int buf;
    cin>>creditmoney;
    if (creditmoney>=0)
    {
    buf = getBalance() + creditmoney ;
    setBalance(buf);
    cout<<"Вы взяли кредит,теперь ваш баланс"<<getBalance()<<endl;
    };
}
void debit(int moneyout)
{
    int buf;
    if (moneyout>getBalance())
    cout<<"Сумма,которую вы пытаитесь запросить превышает ваш баланс"<<endl;
    if (moneyout<=getBalance())
    {
    buf = getBalance()-moneyout;
    setBalance(buf);
    cout<<" Вы сняли "<< moneyout <<" на счете осталось " << getBalance() << endl;
    };
 
}
void setBalance(int money)
{
    if (money<0)
        balance = 0;
    if (money>=0)
        balance = money;
}
 
int getBalance()
{
 
    return balance;
}
private :
int balance;
 
};
int main()
{
Account Account1(-500);
Account Account2(1000);
cout<<Account1.getBalance()<<endl;
cout<<Account2.getBalance()<<endl;
Account1.debit(500);
Account2.debit(200);
Account1.credit(1000);
Account2.credit(-500);
return 0;
}
Теперь вылетает одна ошибка

Description Resource Path Location Type
cannot open output file Account.exe: Permission denied Account C/C++ Problem
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
04.11.2011, 19:42     Как тут исправить ошибки? #9
Номера строк в логах ошибок соответствуют номерам строк кода в посте?
Последние логи соответствуют последнему коду? Если нет, то покажи самые последние логи.
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
04.11.2011, 19:44  [ТС]     Как тут исправить ошибки? #10
Ошибку я пофиксил перезапуском Эклипса.
Теперь проблема в том,что кредит не выводится ...

Добавлено через 53 секунды
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
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
class Account
{
public:
Account(int money)
{
setBalance(money);
}
void credit(int creditmoney)
{
    int buf;
    cin>>creditmoney;
    if (creditmoney>=0)
    {
    buf = getBalance() + creditmoney ;
    setBalance(buf);
    cout<<"Вы взяли кредит,теперь ваш баланс"<<getBalance()<<endl;
    };
}
void debit(int moneyout)
{
    int buf;
    if (moneyout>getBalance())
    cout<<"Сумма,которую вы пытаитесь запросить превышает ваш баланс"<<endl;
    if (moneyout<=getBalance())
    {
    buf = getBalance()-moneyout;
    setBalance(buf);
    cout<<" Вы сняли "<< moneyout <<" на счете осталось " << getBalance() << endl;
    };
 
}
void setBalance(int money)
{
    if (money<0)
        balance = 0;
    if (money>=0)
        balance = money;
}
 
int getBalance()
{
 
    return balance;
}
private :
int balance;
 
};
int main()
{
Account Account1(-500);
Account Account2(1000);
cout<<Account1.getBalance()<<endl;
cout<<Account2.getBalance()<<endl;
Account1.debit(500);
Account2.debit(200);
Account1.credit(1000);
Account2.credit(-500);
return 0;
}
Работа программы :
0
1000
Сумма,которую вы пытаитесь запросить превышает ваш баланс
Вы сняли 200 на счете осталось 800
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
04.11.2011, 19:47     Как тут исправить ошибки? #11
Цитата Сообщение от iluxa1810 Посмотреть сообщение
cannot open output file Account.exe: Permission denied Account C/C++ Problem
Нажми Ctrl + Shift + Escape и посмотри, не запущено ли у тебя приложение.

Добавлено через 1 минуту
Цитата Сообщение от iluxa1810 Посмотреть сообщение
if (creditmoney>=0)
Ну, видимо он не выводится потому, что creditmoney < 0

Добавлено через 1 минуту
C++
1
2
3
4
void credit(int creditmoney) {
    int buf;
    cin>>creditmoney;
    ...
Эмм.. поясни, что означает каждая строка?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2011, 19:50     Как тут исправить ошибки?
Еще ссылки по теме:

C++ Как исправить ошибки в коде
C++ Как исправить ошибки?

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

Или воспользуйтесь поиском по форуму:
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
04.11.2011, 19:50  [ТС]     Как тут исправить ошибки? #12
Я все пофиксил \ ^_^ /

Добавлено через 1 минуту
А как программу в эклипсе отрубать ? Просто консоль не открывается,а работа программы отображается во встроенной консоли ...
Yandex
Объявления
04.11.2011, 19:50     Как тут исправить ошибки?
Ответ Создать тему
Опции темы

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