Проблема банковского счета класса C++
Я попытался решить следующую программу:-
Реализуйте банк классов. У этого банка есть два объекта-чековый и Сберегательный,
типа счета. Реализуйте следующие функции-члены:
недействительный депозит(двойная сумма, char счет)
void withdraw (двойная сумма, char счет)
пустота print_balances()
Здесь строка учетной записи - "S "или"C". Для пополнения или снятия средств он указывает, какой счет затронут.
Что я уже пробовал:
#include<stdio.h> #include<conio.h> #include<iostream.h> #include<stdlib.h> class bank { private: double a1,a2,sa,cu; char ac,c,s; public: bank() { sa=0; cu=0; } void deposit(double amount, char account); void withdraw(double amount, char account); void print_balances(); }; void bank::deposit(double amount1, char account) { a1=amount1, ac=account; if (ac=='s') { sa=sa+a1; } else if(ac=='c') { cu=cu+a1; } } void bank::withdraw(double amount2, char account) { a2=amount2, ac=account; if (ac=='s') { sa=sa-a2; } else if(ac=='c') { cu=cu-a2; } } void bank::print_balances() { cout<<"\nthe money in the savings account is: "<<sa; cout<<"\nthe money in the current account is: "<<cu; } main() { char account; double amount1,amount2; int l; clrscr(); bank b; do { cout<<"\nenter your choice"; cout<<"\n1.deposit"; cout<<"\n2. withdraw"; cout<<"\n3.print balances"; cout<<"\n4.exit"; cout<<"\n"; cin>>l; switch(l) { case 1: cout<<"\nenter account type: "; cin>>account; cout<<"\nenter amount to be deposited :" ; cin>>amount1; b.deposit(amount1, account); break; case 2: cout<<"\nenter account type: "; cin>>account; cout<<"\nenter amount to be withdrawn :" ; cin>>amount2; b.deposit(amount2, account); break; case 3: b.print_balances(); break; case 4: cout<<"\nthanx "; } }while(l!=4); getch(); } /* now, when I use the void withdraw(double amount, char account); function and withdraw the money, instead of decreasing, the money increases. suppose I have deposited 5 in my savings account. After that I withdraw 5 from my account, the money in the savings account should be 0 but it is 10, i.e instead of decreasing 5 in my account, it increases. */
[no name]
Посмотрите на свой код
cout<< " \nenter сумма должна быть изъятый :" ;
Кин&ГТ;&ГТ;amount2;
б.депозит(amount2, счета);
Ты серьезно не видишь здесь проблемы? Узнайте, как использовать отладчик, и вы сможете найти и исправить эти типы проблем самостоятельно.
OriginalGriff
На вашем месте я бы опубликовал это как решение...: смех:
José Amílcar Casimiro
Я хотел бы быть клиентом вашего банка, любая сделка внесла бы депозит на мой счет.