Account 객체를 만들고,
그거를 관리하는 AccountHandler를 만들었는데요.
동적할당으로 account를 계속 추가할 수 있는데요.
1번을 눌러서 account 하나 할당을 하고,
그다음에 4번 버튼을 눌러서 그 값을 확인하고 싶은데,
자꾸 값을 가져오지를 못하는데 조금만 도움을 주시면 감사하겠습니다.ㅜㅜ
#include <iostream>
#include "stdlib.h"
#include "string.h"
#include "stdio.h"
#include <conio.h>
using namespace std;
class Account{
public :
int getAccountNumber();
char* getAccountName();
int getAccountMoney();
void setAccountNumber(int acNumber);
void setAccountName(char* acName);
void setAccountMoney(int acMoney);
private :
int accountNumber;
char* accountName;
int accountMoney;
};
class AccountHandler{
public :
AccountHandler(int acNum);
void showMenu(void) const;
void makeAccount(void);
void depositMoney(void);
void withdrawMoney(void);
void showAllAccInfo(void) ;
Account* getAcArray(void);
~AccountHandler();
private :
Account *acArray[100];
int acNum;
};
int main(){
int menuSelectNumber;
AccountHandler accountHandler(0);
while(1){
accountHandler.showMenu();
cin >> menuSelectNumber;
switch(menuSelectNumber){
case 1:
accountHandler.makeAccount();
break;
case 2:
accountHandler.depositMoney();
break;
case 3:
accountHandler.withdrawMoney();
break;
case 4:
accountHandler.showAllAccInfo();
break;
case 5:
exit(1);
default :
break;
} //end switch
} // end while
} // end main
//---------------------------------------------------------------
int Account :: getAccountNumber(){
return accountNumber;
}
char* Account :: getAccountName(){
return accountName;
}
int Account :: getAccountMoney(){
return accountMoney;
}
void Account :: setAccountNumber(int acNumber){
accountNumber = acNumber;
}
void Account :: setAccountName(char *arr){
accountName = arr;
}
void Account :: setAccountMoney(int acMoney){
accountMoney = acMoney;
}
//---------------------------------------------------------------
//---------------------------------------------------------------
AccountHandler :: AccountHandler(int initAcNum){
acNum = initAcNum;
}
void AccountHandler :: showMenu(void) const {
cout << "------- MENU -------" << endl;
cout << "1. 계좌개설" << endl;
cout << "2. 입 금" << endl;
cout << "3. 출 금" << endl;
cout << "4. 계좌정보 전체 출력"<< endl;
cout << "5. 프로그램 종료"<< endl;
cout << "선택 : ";
}
void AccountHandler :: makeAccount(void) {
int tempInt;
Account* tempAccount = new Account;
acArray[++acNum] = tempAccount;
//cout << ":::::::::::::::::::::::0:::" << acNum << endl;
//cout << ":::::::::::::::::::::::0:::" << acArray << endl;
//cout << ":::::::::::::::::::::::0:::" << tempAccount << endl;
//cout << ":::::::::::::::::::::::::::" <<endl;
cout <<"[계좌개설]" << endl;
cout << "계좌 ID : ";
cin >> tempInt;
tempAccount->setAccountNumber(tempInt);
cout <<"이름 : ";
tempInt = 0;
char name[100];
cin >> name;
while(name[tempInt] != '\0'){
tempInt ++;
}
char* arr = new char[tempInt];
arr = name;
tempAccount->setAccountName(arr);
cout << "입금액 : ";
cin >> tempInt;
tempAccount->setAccountMoney(tempInt);
cout << "계좌개설완료" << endl;
//cout << ":::::::::::::::::::::::1:::" << acNum << endl;
//cout << ":::::::::::::::::::::::1:::" << acArray << endl;
//cout << ":::::::::::::::::::::::1:::" << tempAccount << endl;
//cout << ":::::::::::::::::::::::::::" <<endl;
delete tempAccount;
}
void AccountHandler :: depositMoney(void) {
cout <<"[입 금]" << endl;
cout <<"계좌ID:115" << endl;
cout <<"임급액:70" << endl;
cout <<"입금완료" << endl;
}
void AccountHandler :: withdrawMoney(void) {
cout <<"[출 금]" << endl;
cout <<"계좌ID:115" << endl;
cout <<"임급액:70" << endl;
cout <<"입금완료" << endl;
}
void AccountHandler :: showAllAccInfo(void) {
cout <<"[전체출력]" << endl;
cout << ":::::::::::::::::::::::2:::" << acNum << endl;
cout << ":::::::::::::::::::::::2:::" << acArray << endl;
cout << ":::::::::::::::::::::::::::" <<endl;
Account * tempAA = new Account;
tempAA = (Account*) acArray;
int tempNumber = tempAA[0].getAccountNumber();
cout << tempNumber;
//cout << ":::::::::::::::::::::::3:::" << (Account*) getAcArray() << endl;
//cout << ":::::::::::::::::::::::3:::" << acArray << endl;
//cout << ":::::::::::::::::::::::3:::" << tempAA << endl;
//cout << ":::::::::::::::::::::::::::" <<endl;
//int moneymoney = tempAA[0].getAccountMoney();
//Account* TEMPAA = acArray;
//TEMPAA->getAccountMoney();
//cout << ":::::::::::::::::::::::" << acArray[0]->getAccountMoney() << endl;
//Account* tempAccountA = new Account[acNum];
//tempAccountA = getAcArray();
//for(int j = 0; j < acNum; j++){
// cout << tempAccountA[j].getAccountMoney();
//}
}
Account* AccountHandler :: getAcArray(void){
return *acArray;
}
AccountHandler :: ~AccountHandler(){
}
//---------------------------------------------------------------
//---------------------------------------------------------------
어떤 결과가 나오는지 상태 정도는 알려주던지 존나 귀찮게 소스 한줄한줄 쳐봐줘야하냐 대충보니 객체 생성쪽 이상한, 그 쪽 체크해봐
생성이래 접근
지금 휴대폰에서 쓰느라 잘 테스트는 못했지만. makeaccount 부분에서. array. ++acNum 부분을 acNum으로 고쳐주고 makeNum 마지막에서 acNum++ 을 해주면 될거야 생성없이 접근하고 있네 지금 코드가 [i]
그리고 왠만하면 공무원 시험이 더 좋아 프로그램 배워서 뭐 하게? [i]
난빨라는 빠릅니다 ;?x
난빨라는 빠릅니다. +.h