Проблема проекта банковской системы C++
Эй ребята я работаю над проектом банковской системы и все работает хорошо
за исключением того, что когда я пытаюсь напечатать введенные значения, я получаю странные строки и случайные числа, вот код :
#include <iostream> using namespace std; struct Address{ char stName[10]; int houseNum; }; struct Account{ char name[10]; int accnumber; double balance; Address addr; }; // ------------------------------------------------------------------------------------------------- // void getData( Account accounts[], int size , int *counter); // ------------------------------------------------------------------------------------------------ // int main(){ int choice; int i = 0; int size = 10; Account a[size]; while (true){ cout << "\t\t\t --- Enter your choise --- " << endl; cout << endl; cout << "\t\t\t 1 - Create Account\n"; cout << endl; cout <<"\t\t\t 2 - Deposit Money" <<endl; cout << endl; cout << "\t\t\t 3 - Withdraw Money" <<endl; cout << endl; cout << "\t\t\t 4 - Display" << endl; cout << endl; cout << "\t\t\t 5 - Exit" << endl; cout << endl; cout << "\t\t\t choice is : "; cin >> choice; if (choice == 1) getData(a , size ,&i); // printnig the value -> just checking cout << endl << endl; cout << "Name: " << a[i].name << endl; cout << "Account number : " << a[i].accnumber << endl; cout << "Balance: " << a[i].balance << endl; cout << "House num: " << a[i].addr.houseNum << endl ; cout << "Street name: " << a[i].addr.stName << endl; } } void getData(Account accounts[], int size,int *counter ){ int i = *counter; cout << "Name: "; cin >> accounts[i].name; cout << "acc number : " ; cin >> accounts[i].accnumber; cout << "balance : " ; cin >> accounts[i].balance; cout << "Address info " << endl; cout << "House number : " ; cin >> accounts[i].addr.houseNum; cout << "Street name : "; cin >> accounts[i].addr.stName ; i++; *counter = i; cout << endl; cout << "Done ...." << endl; system("pause"); }
Что я уже пробовал:
я понятия не имею, что заставляет его так себя вести !!
Richard MacCutchan
Не использовать double
типы для финансовых сумм, так как вы получите проблемы. Используйте целочисленные типы (преобразуйте значения во все центы, пенсы, пайсы и т. д.).