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

Рассчитать превысил ли баланс возможности клиента

09.12.2016, 14:49. Показов 1446. Ответов 5
Метки нет (Все метки)

Добрый вечер форумчане. Имеется вот такое задание из книги Дейтелов:

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

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

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

Прошу посмотреть мой код, он полностью рабочий, в консоли результаты выдаёт согласно требованиям задачи и аналогично вставке консоли в учебнике.
Однако если у вас есть какие-либо замечания и советы - буду рад их выслушать. От себя хочу добавить, что сомневаюсь в правильности использования мной конструктора и прошу посоветовать хорошую литературу для новичков по алгоритмизации.


Определение класса с прототипами:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class kreditka
{
private:
 
int number=0;
double balance;
double rashod;
double prihod;
double kredit;
double predel;
double newBalance;
 
public:
    kreditka(int);
    void setAccountNumber(int);
 
};
Определение элемент-функций:
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
#include <iostream>
using std::endl;
using std::cin;
using std::cout;
 
#include"kreditka.h"
 
 
    kreditka::kreditka(int number)
    {
        setAccountNumber(number);
    }
    void kreditka::setAccountNumber(int number)
    {
        while(number>0)
        {
            cout << "Vvedite svoi nachalnyi balance: ";
            cin>>balance;
            cout << "A teper' podelites' so mnoi rashodami: ";
            cin>>rashod;
            cout << "Soobshite o popolnenii: ";
            cin>>prihod;
            cout << "Kakoi u vas predel kredita? ";
            cin>>predel;
            newBalance=(balance+rashod)-prihod;
 
            if(newBalance>predel)
            {
                cout << "\n\nAccount number: " << number << endl;
                cout << "Max. credit: " << predel << endl;
                cout << "Ur new balance: " << newBalance << endl;
                cout << "U have exceeded the limit of accounts! =((" << endl;
                cout <<"__________________________________";
            }
            else
            {
                cout << "\nUr new balance: " << newBalance << endl;
                cout <<"__________________________________";
            }
 
            cout << "\nVvedite plz nomer s4eta: ";
            cin>>number;
 
 
        }
 
        cout<< "Spasibo, prihodite eshe.";
    }
Программа для проверки класса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using std::endl;
using std::cin;
using std::cout;
 
#include <iomanip>
using std::fixed;
 
#include "kreditka.h"
 
int main()
{
    int x;
    cout<<"Enter Account number: ";
            cin>>x;
    kreditka kreditka1(x);
    return 0;
}


Спасибо за внимание. Буду рад любой критике по делу.

P.S. Данной задачи по поиску на форуме не нашёл.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2016, 14:49
Ответы с готовыми решениями:

Рассчитать баланс на конец месяца
Есть два поля дата и сумма. Каждый день проходит n транзакций. рассчитать баланс на карте на...

Определить токи в цепи и рассчитать баланс мощностей
для сверки необходимо.

Для каждого клиента рассчитать стоимость услуги с учетом страны и объема заказа
Есть две таблицы в MS Excel: Таблица 1 Дата заказа Фамилия клиента Объем заказа Класс отеля...

Дана строка. Посчитать баланс скобок ([{ . Баланс открытых к закрытым
Прошу помощи. String S1 = textBox1.Text.ToLower(); for (int i = 0; i &lt; S1.Length; i++) { ...

5
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
09.12.2016, 14:54 2
Транслит не ок.
Ввод-вывод в конструкторе не ок. Set должно устанавливать значение, а не заниматься опросом пользователя.
1
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 12
09.12.2016, 15:07  [ТС] 3
Эмм...но cin/cout в контрукторе нету, он только передаёт значение в set. Т.е. убрать просто приставку set от функции?
Оставить
C++
1
 void AccountNumber(int number)
?
А как бы сделали вы?
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
09.12.2016, 15:55 4
Цитата Сообщение от LemonMuffin Посмотреть сообщение
А как бы сделали вы?
Считал бы значения и передал их в set функцию/конструктор.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 12
09.12.2016, 16:49  [ТС] 5
Т.е. через мейн считывали бы значения, а потом посредством конструктора отправляли их в set-функцию, где производилось бы вычисление, после чего через get-функцию забирали результат в мэйн?
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
09.12.2016, 21:06 6
Цитата Сообщение от LemonMuffin Посмотреть сообщение
...
Да.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2016, 21:06
Помогаю со студенческими работами здесь

Приложение для игры в монополию. Сохраняет имена игроков и их баланс в структуру. Позволяет изменять баланс
Дальше функции menu() дело не уходит. В чем ошибка? // Приложение должно считывать, выводить имя...

лог ошибок базы данных превысил 15 ГБ, превышение max_user_connections
Здравствуйте. В общем есть проблемка. Сайт по началу работал нормально, потом периодически начал...

Верно ли, что общий доход фирмы в сентябре превысил некоторое заданное число?
Помогите решить задачу на Паскале, пожалуйста: Фирма имеет 10 магазинов . Информация о доходе...

Матрица: Верно ли, что общий доход фирмы в сентябре превысил некоторое заданное число
12.114.Фирма имеет 10 магазинов. Информация о доходе каждого магазина за каждый месяц года...


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

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

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