المشاركة الأصلية كتبت بواسطة al7elwah85
عدلت البرنامج .... بطريقة عبيطة قليلا .. ولكن .... البرنامج الحين شغال
جعلت zakat_account موحد للبنك .... يضاف اليه جميع الزكوات من العملاء ...
اضفت اضافة بسيطة ^^..
اليك الكود معدل ,,,,
كود:#include <iostream.h> #include <conio.h> //#include <stdlib.h> class Customer { private: char name[20]; char address[30]; char city[20]; char pcode[6]; double acc_bal; double zak; public: Customer:: Customer() { // constructor acc_bal = 0.00; zak = 0.00; } double get_acc_bal() { return acc_bal; } double get_zak() { return zak; } void getdata() { cout << "\nEnter your name: "; cin >> name; cout << "\nEnter your address: "; cin >> address; cout << "\nEnter your city: "; cin >> city; cout << "\nEnter your postal code: "; cin >> pcode; cout << "\nEnter current account balance: "; cin >> acc_bal; if(acc_bal>=4000) { zak=acc_bal*0.025; } } void deposit() { float dep; cout << "\nEnter amount to be deposited: "; cin >> dep; acc_bal += dep; } void withdraw() { float wdraw; cout << "\nEnter amount to be withdrawn: "; cin >> wdraw; acc_bal -= wdraw; } void showdata() { cout << "Name: " << name; cout << "\nAddress: " << address; cout << "\nCity: " << city; cout << "\nPostal Code: " << pcode; cout << "\nAccount Balance: $" << acc_bal << endl; cout<<"Zakat is: "<<zak<<endl; } }; //=============================================== class Bank { public: Customer cs[10]; double zak_account; int count; Bank() { count =0; zak_account=0.0; } void Add() { if (count >= 10) { cout << "Can't add anymore records. Press any key to return to main menu."; getche(); } else cs[count].getdata(); zak_account+=cs[count].get_zak(); count ++; } void Deposit(int x) { cs[x].deposit(); } void withdraw(int x) { cs[x].withdraw(); } void Showdata(int x) { cs[x].showdata(); } void zakat(int x) { cout<<"his zak="<< cs[x].get_acc_bal()*0.025<<endl;; } double get_zak_acc () { return zak_account; } /////////////////////////////////////////// cout << "\t\n" << "z_zakat."; }; int main() { char choice; int flag =0; int count = 0; int recnum; Bank bank ; while (flag == 0) { cout << "\t\t\n\n" << "Main Menu"; cout << "\t\n\n" << "Select by letter:"; cout << "\t\n" << "a - Add a customer."; cout << "\t\n" << "d - Deposit money."; cout << "\t\n" << "w - Withdraw money."; cout << "\t\n" << "s - Show Account Information."; cout << "\t\n" << "z - Show only the zakat."; cout << "\t\n" << "q - Quit Application."; cout << "\t\n" << "x - Show the whole bank zakat_account .\n\n" ; cout << "\t" << "Choice: "; cin>>choice ; switch(choice) { case 'a': //system("cls"); bank.Add(); //system("cls"); break; case 'd': // system("cls"); cout << "\nEnter customer number: "; cin >> recnum; bank.Deposit(recnum-1); // system("cls"); break; case 'w': // system("cls"); cout << "\nEnter customer number: "; cin >> recnum; bank.withdraw(recnum-1); // system("cls"); break; case 'z': // system("cls"); cout << "\nEnter customer number: "; cin >> recnum; bank.zakat(recnum-1); // system("cls"); break; case 's': // system("cls"); cout << "\nEnter customer number: "; cin >> recnum; bank.Showdata(recnum-1); getche(); // system("cls"); break; case 'x': cout<<"\n The Zakat Account of this bank is :"<<bank.get_zak_acc()<<endl; break; case 'q': flag = 1; break; default: cout << "\nInvalid selection. Press a key to return to main menu."; getche(); } if (flag == 1) { break; } } return 0; } // That's it ,,,,,,,