0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 12
1

Определить, не превысили ли расходы клиента, имеющего депозитный счёт, предела кредита.

06.05.2019, 16:28. Показов 865. Ответов 10
Метки нет (Все метки)

Добрый вечер профессионалы и любители программировать!

Столкнулся с непосильной задачей, однако справиться не могу.
Задачка из Дейтейловского учебника.
Разработайте программу на c++ которая будет определять, не превысили ли расходы клиента, имеющего депозитный счёт, предела кредита. Для каждого клиента известны следующие данные:

а) Номер счёта(целое)
б) Баланс с начала месяца.
в) Сумма всех расходов данного клиента в течение месяца.
г) Сумма всех приходов на счёт данного клиента в течение месяца.
е) Допустимый размер кредита.

Программа должна ввести все эти данные, рассчитать новый баланс(равный начальному балансу + расход - приход) и определить, не превысил ли новый баланс предела клиента. Для того клиента, чей кредит превышен, программа должна вывести на экран номер счёта клиента, предел кредита, новый баланс и сообщение "Предел кредита превышен".

Сделать то сделал однако выдаёт ошибку: "Для класса Credit не существует конструктора по умолчанию".
Что нужно сделать что бы всё правильно работало?

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
Prihod1.h
 
#include <iostream>
using std::string;
class Credit
{
 public:
 
    Credit  (int, double, double,double, double, double); 
    
    void setaccount(int);
    int getaccount();
    void setbalanceOnm(double);
    double getbalanceOnm();
    void setinComing(double);
    double getincoming();
    void setoutComming (double);
    double getoutComming();
    void setcredits (double);
    double getocredits();
    void setnewBalance (double);
    double getnewBalance();
    void incomeandexpense();
 private:
    int account;
    double balanceOnm;
    double inComming;
    double outComming;
    double credits;
    double newBalance;
};
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <iostream>
using std::endl;
using std::cin;
using std::cout;
#include "Prihod1.h"
#include <conio.h>
 
Credit::Credit( int acc, double balOm, double incom, double outcom, double cred, double newbal)
{
    
    setaccount(acc);
    setbalanceOnm(balOm);
    setinComing(incom);
    setoutComming(outcom);
    setcredits(cred);
    setnewBalance(newbal);
}
 
void Credit::setaccount (int acc)
{
 account=acc;
}
int Credit::getaccount()
{
return account;
}
void Credit::setcredits (double cred)
{
 credits=cred;
}
double Credit::getocredits()
{
 return credits;
}
void Credit::setbalanceOnm (double balOm)
{
if ( balanceOnm < credits)
{ 
    cout << "Баланс не может превышать кредитный лимит"<< endl;
}
else 
   balanceOnm = balOm;
}
double Credit::getbalanceOnm()
{
    return balanceOnm;
}
void Credit::setinComing(double incom)
{
    inComming = incom;
}
double Credit::getoutComming()
{
  return inComming;
}
 
void Credit::setnewBalance (double newbal)
{
if ( newBalance < credits)
{ 
    cout << "Баланс не может превышать кредитный лимит"<< endl;
}
else 
   newBalance = newbal;
}
void Credit::incomeandexpense()
{
 int balOm = 0;
 double incom = 0;
 double outcom = 0; 
 double cred =0;
 double newbal =0;
 
 while (balOm == -1)
     cout << "Введите начальный баланс (-1, если ввод закончен)" << endl;
 cin >> balOm;
 cout << "Введите сумму расходов (-1, если ввод закончен)" << endl;
 cin >> outcom;
 cout << "Введите сумму прихода (-1, если ввод закончен)" << endl;
 cin >> incom;
 cout << "Введите размер кредита (-1, если ввод закончен)" << endl;
 cin >> cred;
 {
 newbal = (balOm + outcom) - incom;
 } 
}
 
int main()
{
    setlocale ( LC_ALL, "Russian" );
    Credit Credit;
 
Credit.incomeandexpense();
 
 
    _getch();
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2019, 16:28
Ответы с готовыми решениями:

Вычислить сумму, которая удерживается с работника в счет погашения потребительского кредита и кредита на жилищное строительство
Нужно сделать задачи в Visual Basic 6.0 Задание 1!!!!!! Вычислить сумму, которая удерживается с...

Определить клиента, имеющего минимальный вклад в банке
Определить клиента, имеющего минимальный вклад в банке

Вычисление последнего платежа в счет погашения кредита с помощью правила торговца.
Короче , проблема такая, по завершении курса бэйсика дали супер сложную (вообще не решаемую)...

Вывод денег с сайта на счет ЯД клиента
Доброго времени суток. Помогите пожалуйста организовать вывод средств с баланса пользователя на...

10
260 / 110 / 53
Регистрация: 22.01.2017
Сообщений: 443
06.05.2019, 16:36 2
C++
1
2
3
4
5
6
Credit Credit; // ???
Credit credit;
credit.incomeandexpense();
 
// Конструктор по умолчанию
Credit() {}
1
"C with Classes"
1581 / 1360 / 511
Регистрация: 16.08.2014
Сообщений: 5,647
Записей в блоге: 1
06.05.2019, 16:36 3
Цитата Сообщение от iocicausa Посмотреть сообщение
"Для класса Credit не существует конструктора по умолчанию".
определи конструктор по умолчанию
C++
1
2
3
4
5
6
7
class Credit
{
 public:
 
    Credit();
     // ...
};
1
0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 12
06.05.2019, 16:46  [ТС] 4
Ошибка исчезла, но.
При построении решения выдало вот такое.

1>Prihod1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall Credit::setoutComming(double)" (?setoutComming@Credit@@QAEXN@Z) в функции "public: __thiscall Credit::Credit(int,double,double,double,double,dou ble)" (??0Credit@@QAE@HNNNNN@Z)
1>Prihod1.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Credit::Credit(void)" (??0Credit@@QAE@XZ) в функции _main
1>C:\Users\Mikhail\Documents\Visual Studio 2010\Projects\Prihod,rashod\Debug\Prihod,rashod.ex e : fatal error LNK1120: 2 неразрешенных внешних элементов
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
"C with Classes"
1581 / 1360 / 511
Регистрация: 16.08.2014
Сообщений: 5,647
Записей в блоге: 1
06.05.2019, 16:50 5
Цитата Сообщение от iocicausa Посмотреть сообщение
При построении решения выдало вот такое.
конструктор нужно определить
C++
1
2
3
4
5
6
7
8
9
class Credit
{
 public:
 
    Credit(); // объявление
     // ...
};
 
Credit::Credit() {} // определение
1
0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 12
06.05.2019, 18:45  [ТС] 6
Да построилось но что-то не очень, ошибки все поправил
Что-то видимо в построении цикла.
Миниатюры
Определить, не превысили ли расходы клиента, имеющего депозитный счёт, предела кредита.  
0
"C with Classes"
1581 / 1360 / 511
Регистрация: 16.08.2014
Сообщений: 5,647
Записей в блоге: 1
06.05.2019, 19:00 7
Цитата Сообщение от iocicausa Посмотреть сообщение
Что-то видимо в построении цикла.
цикл там не нужен, можно добавить условие для выхода

Добавлено через 48 секунд
только зачем?
0
0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 12
06.05.2019, 19:23  [ТС] 8
Цикл как раз нужен вводишь данные оно тебе по колонкам выдаёт сколько чего.
Поле ввода контрольного значения ( -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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include <iostream>
using std::endl;
using std::cin;
using std::cout;
#include "Prihod1.h"
#include <conio.h>
 
Credit::Credit() {}
Credit::Credit( int acc, double balOm, double incom, double outcom, double cred, double newbal)
{
    
    setaccount(acc);
    setbalanceOnm(balOm);
    setincomming(incom);
    setoutcomming(outcom);
    setcredits(cred);
    setnewBalance(newbal);
}
 
void Credit::setaccount (int acc)
{
 account=acc;
}
int Credit::getaccount()
{
return account;
}
void Credit::setcredits (double cred)
{
 credits=cred;
}
double Credit::getocredits()
{
 return credits;
}
void Credit::setbalanceOnm (double balOm)
 
 
{ 
    balanceOnm = balOm;
}
 
double Credit::getbalanceOnm()
{
    return balanceOnm;
}
void Credit::setincomming(double incom)
{
    incomming = incom;
}
double Credit::getincomming()
{
  return incomming;
}
 
void Credit::setoutcomming(double outcom)
{
    outcomming = outcom;
}
double Credit::getoutcomming()
{
  return outcomming;
}
void Credit::setnewBalance (double newbal)
{ 
    newBalance = newbal;
}
 
 
void Credit::incomeandexpense()
{
 int balOm = 0;
 double incom = 0;
 double outcom = 0; 
 double cred =0;
 double newbal =0;
 
 
 while (balOm != -1)
 cout << "Номер аккаунта (-1, если ввод закончен)" << endl;
 cin >> account;
 cout << "Введите начальный баланс (-1, если ввод закончен)" << endl;
 cin >> balanceOnm;
 cout << "Введите сумму расходов (-1, если ввод закончен)" << endl;
 cin >> outcomming;
 cout << "Введите сумму прихода (-1, если ввод закончен)" << endl;
 cin >> incomming;
 cout << "Введите размер кредита (-1, если ввод закончен)" << endl;
 cin >> credits;
 
  newBalance = (balanceOnm + outcomming) - incomming;
 if (newBalance>credits)
 { 
     cout << " Номер аккаунта:"<< account << endl;
     cout << " Баланс на начало месяца:"<< balanceOnm << endl;
     cout << " Сумма расходов :" <<  outcomming << endl;
     cout << " Сумма прихода :" <<  incomming << endl;
     cout << " Баланс:"<< newBalance << endl;
     cout << " Лимит превышен! :"<< endl;
 }
 else
 {
     cout << " Номер аккаунта:"<< account << endl;
     cout << " Баланс на начало месяца:"<< balanceOnm << endl;
     cout << " Сумма расходов :" <<  outcomming << endl;
     cout << " Сумма прихода :" <<  incomming << endl;
     cout << " Баланс:"<< newBalance << endl;
 }
}
 
int main()
{
    setlocale ( LC_ALL, "Russian" );
    Credit Credit;
 
Credit.incomeandexpense();
 
 
    _getch();
    return 0;
}
0
"C with Classes"
1581 / 1360 / 511
Регистрация: 16.08.2014
Сообщений: 5,647
Записей в блоге: 1
06.05.2019, 19:56 9
iocicausa, у тебя только первый месседж зациклен, так и должно быть?
C++
1
2
while (balOm != -1)
 cout << "Номер аккаунта (-1, если ввод закончен)" << endl;
0
0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 12
07.05.2019, 19:34  [ТС] 10
Нет не должно! В том то и дело.
C++
1
2
3
4
5
6
7
8
9
10
cout << "Номер аккаунта (-1, если ввод закончен)" << endl;
 cin >> account;
 cout << "Введите начальный баланс (-1, если ввод закончен)" << endl;
 cin >> balanceOnm;
 cout << "Введите сумму расходов (-1, если ввод закончен)" << endl;
 cin >> outcomming;
 cout << "Введите сумму прихода (-1, если ввод закончен)" << endl;
 cin >> incomming;
 cout << "Введите размер кредита (-1, если ввод закончен)" << endl;
 cin >> credits;
После заполнения этих всех граф.
Должно вываливаться примерно это:
Новый баланс: 5894.78
Счет: 100
Предел кредита: 5500.00
Баланс: 5894.78
"Предел кредита превышен" - если потраченные средства превышают кредитный лимит.
0
0 / 0 / 0
Регистрация: 24.03.2019
Сообщений: 12
09.05.2019, 10:39  [ТС] 11
В общем немного разобрался что к чему но по прежнему непонятно.

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
#include <iostream>
using std::string;
class Credit
{
 public:
    Credit(); 
    Credit  (int, double, double,double, double, double); 
    
    void setaccount(int);
    int getaccount();
    void setbalanceOnm(double);
    double getbalanceOnm();
    void setincomming(double);
    double getincomming();
    void setoutcomming (double);
    double getoutcomming();
    void setcredits (double);
    double getocredits();
    void setnewBalance (double);
    double getnewBalance();
    void incomeandexpense();
 private:
    int account;
    double balanceOnm;
    double incomming;
    double outcomming;
    double credits;
    double newBalance;
};

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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include <iostream>
using std::endl;
using std::cin;
using std::cout;
#include "Prixod1.h"
#include <conio.h>
 
Credit::Credit() {}
Credit::Credit( int acc, double balOm, double incom, double outcom, double cred, double newbal)
{
    
    setaccount(acc);
    setbalanceOnm(balOm);
    setincomming(incom);
    setoutcomming(outcom);
    setcredits(cred);
    setnewBalance(newbal);
}
 
void Credit::setaccount (int acc)
{
 account=acc;
}
int Credit::getaccount()
{
return account;
}
void Credit::setcredits (double cred)
{
 credits=cred;
}
double Credit::getocredits()
{
 return credits;
}
void Credit::setbalanceOnm (double balOm)
 
 
{ 
    balanceOnm = balOm;
}
 
double Credit::getbalanceOnm()
{
    return balanceOnm;
}
void Credit::setincomming(double incom)
{
    incomming = incom;
}
double Credit::getincomming()
{
  return incomming;
}
 
void Credit::setoutcomming(double outcom)
{
    outcomming = outcom;
}
double Credit::getoutcomming()
{
  return outcomming;
}
void Credit::setnewBalance (double newbal)
{ 
    newBalance = newbal;
}
 
 
void Credit::incomeandexpense()
{
int account;
double balanceOnm = 0;
double incomming = 0;
double outcomming = 0;
double credits = 0;
double newBalance = 0;
 
while (balanceOnm != -1)
 
{
   newBalance = (balanceOnm + outcomming) - incomming;
 
    cout << "Номер аккаунта (-1, если ввод закончен)" << endl;
    cin >> account;
    cout << "Введите начальный баланс (-1, если ввод закончен)" << endl;
    cin >> balanceOnm;
    cout << "Введите сумму расходов (-1, если ввод закончен)" << endl;
    cin >> outcomming;
    cout << "Введите сумму прихода (-1, если ввод закончен)" << endl;
    cin >> incomming;
    cout << "Введите размер кредита (-1, если ввод закончен)" << endl;
    cin >> credits;
    
}
 
if ( balanceOnm != 0 ) // если введена хотя бы одна оценка
{ 
  cout << " Номер аккаунта:"<< account << endl;
  cout << " Сумма расходов :" << outcomming << endl;
  cout << " Сумма прихода :" << incomming << endl;
  cout << " Новывй Баланс: " << newBalance << endl;
  cout << " Лимит превышен! :" << endl;
 
}
}
int main()
{
    setlocale ( LC_ALL, "Russian" );
    Credit Credit;
 
Credit.incomeandexpense();
 
 
    _getch();
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2019, 10:39
Помогаю со студенческими работами здесь

Удаление элемента из списка List<T> (Удалить счет по по названию из указанного клиента)
Здравствуйте уважаемые форумчане, столкнулся с проблемой: есть два класса &quot;клиент&quot; и &quot;счета&quot;, в...

Условие, чтобы , к примеру ПОЛЯ --лицевой счет-- и --фио клиента-- были обязательными
Добрый день , можно ли , как то сделать , чтобы , к примеру ПОЛЯ --лицевой счет-- и --фио клиента--...

За счет чего скорость торрент клиента media jet такая высокая по сравнению н-р с µTorrent
Добрый вечер! Не знаю куда написать поэтому не обессудьте. За счет чего скорость торрент...

Определить наиболее выгодные условия кредита
Фирма берет в кредит 5 (*№ комп.) автомобилей. Стоимость каждого автомобиля Х тысяч рублей. Фирма...

Запрос на добавление, переносящий данные из справочника "Расходы на продукт" в таблицу "расходы"
Всем доброго времени суток! Подскажите как решить задачу, уже всю голову сломал никак не подберу...

В файле определить разность между максимальной и минимальной суммой кредита
Помогите с заданием В файле определить разность между максимальной и минимальной суммой кредита...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru