디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

cpp 과제인데 질문요;;

ㅁㄴㅇㅁㄴㅇ(182.214) 2011.10.05 23:16:39
조회 103 추천 0 댓글 8

제가 디버깅시작해보니까 showmenu라는게 없다고 하는데..이유를 모르겠어요.. 다른오류는 없고 이 showmenu에 관해서만 오류 나는데.. 수정 및 설명 좀 부탁해요..아래 소스코드에요







#include <iostream>

using namespace std;

const int name_len=20;

class account
{
private:        
        int accid; //계좌번호
        int balance; //잔액
        char*cusname; //고객 이름
public:
        account(int id, int money, char*name)
                : accid(id), balance(money)
        {
                cusname=new char[strlen(name)+1];
                strcpy(cusname, name);
        }

        int getaccid()
        {return accid;}

        void deposit(int money)
        {
                balance=+money;
        }
        int withdraw(int money)
        {
                if(balance<money)
                        return 0;

                else balance=-money;
                        return money;
        }

        void showaccinfo()
        {
                cout<<"계좌 ID : "<<accid<<endl;
                cout<<"이 름 : "<<cusname<<endl;
                cout<<"잔 액 : "<<balance<<endl;
        }

        ~account()
        {
                delete []cusname;
        }
};


account *accarr[10]; //account 저장을 위한 배열
int accnum=0; //현재 저장된 account 수

void showmanu(); //메뉴출력
void makeaccount(); //계좌생성
void depositmoney(); //입금
void withdrawmoney(); //출금
void showallaccinfo(); //잔액 조회

void showmanu()
{
        cout<<"-----메뉴-----"<<endl;
        cout<<"1. 계좌생성"<<endl;
        cout<<"2. 입 금"<<endl;
        cout<<"3. 출 굼"<<endl;
        cout<<"4. 잔액조회"<<endl;
        cout<<"5. 프로그램 종료"<<endl;
    cout<<"*계좌 생성은 최대 10개까지만 가능*"<<endl;
}

void makeaccount()
{
        int id;
        char name[name_len]; //배열의 길이가 20인 이름을 만들어냄
        int balance;

        cout<<"계좌생성 : "<<endl;
        cout<<"계좌 ID : "; cin>>id;
        cout<<"이름 : "; cin>>name;
        cout<<"입금액 : "; cin>>balance;

        accarr[accnum++]=new account(id, balance, name);//아이디를 만들 때마다 배열의 길이가 1씩 증가함
}

void depositmoney()
{
        int money;
        int id;
        cout<<"[입 금]"<<endl;
        cout<<"계좌 ID : "; cin>>id;
        cout<<"입금액 : "; cin>>money;
   
        for(int i=0; i<accnum; i++) //accarr의 원소(id를 만든 원소)를 찾아 낼때까지 반복
        {
                if(accarr[i]->getaccid()==id) //accarr의 원소 i 가 getaccid(계좌생성)의 원소가 일치 할 경우 if 문 진행
                        {accarr[i]->deposit(money); //아이디가 일치할 경우 출금함수를 사용
                    cout<<"입금완료"<<endl;
                        return ;
                        }
        }
        cout<<"유효하지 않은 ID !!"<<endl;
}
void withdrawmoney()
{
        int money;
        int id;;
        int i;
        cout<<"[출 금]"<<endl;
        cout<<"계좌 ID : "; cin>>id;
        cout<<"출금액 : "; cin>>money;

        for(i=0; i<accnum;  i++)
                if(accarr[i]->getaccid()==id)
                {
                        if(accarr[i]->withdraw(money)==0) //출금액 반환 0 (출금함수에서 잔액<꺼내려는 돈이 많을 경우 0으로 리턴)
                        {
                                cout<<"잔액부족"<<endl;
                                return;
                        }
                        cout<<"출금 완료 "<<endl;
                        return;
                }
        cout<<"유효하지 않은 ID!!"<<endl;
}

void showallinfo()
{
        for(int i=0; i<<accnum; i++)
        {
                accarr[i]->showaccinfo();
                cout<<endl;
        }
}

int main()
{
        int choice;
        while(1)
        {
                showmenu();
                cout<<"선택 : "; cin>>choice;
                cout<<endl;
        
                if(choice==1)
                {
                        makeaccount();
                    if(accnum>10)
                                {cout<<"계좌는 최대 10개까지만 생성 가능합니다!"<<endl;
                                return showmenu();}
                        
                }
                else if(choice==2)
                {
                        depositmoney();
                }
                else if(choice==3)
                {
                        withdrawmoney();
                }

                else if(choice==4)
                {
                        showallaccinfo();
                }
                else if(choice==5)
                {
                        return 0;
                }
                else
                {cout<<"1-5사이의 숫자를 입력 해 주세요!"<<endl;
                 return showmenu();
                }
        return 0;
        }
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 탈모 걱정 없어 보이는 머리숱 금수저 스타는? 운영자 25/07/14 - -
AD 휴대폰 액세서리 SALE 운영자 25/07/15 - -
276624 성님들 이번에 수시정보통신시스템학과썻는데 [7] ㅁㄴㅇ(175.212) 11.09.28 93 0
276623 플래쉬 아시는분 제발좀 가르쳐주세요 ㅠ_ㅠ [2] PrayForyou갤로그로 이동합니다. 11.09.28 42 0
276622 형들 나도 ...조공 [2] 잉여본능갤로그로 이동합니다. 11.09.28 152 0
276621 고졸쉑이가 카이스트 가봤자 잣알 또는 자퇴크리다. 천재획가(219.251) 11.09.28 93 0
276620 횽들 나 어플 책보면서 예제하는데 잉여본능갤로그로 이동합니다. 11.09.28 44 0
276619 횽들 노트북추천점해죵 [1] 킈킈(58.127) 11.09.28 66 0
276617 exit(true); 의 범위 봉제인형포포리갤로그로 이동합니다. 11.09.28 47 0
276616 죽은 송장! 소환소환! 둥구리당당(210.118) 11.09.28 37 0
276615 서울대 카이스트 컴공과가 몇년째 미달이었다며?? [7] 거칠게갤로그로 이동합니다. 11.09.28 272 0
276614 아이디어링하라. 구현하라. 서비스하라. 천재획가(219.251) 11.09.28 43 0
276612 C언어 if문안 조건에 아무런 연산자가 없으면 대체 뭘뜻해? [4] 프갤프갤(115.138) 11.09.28 173 0
276611 아오 vm으로 페도라 리눅스 15 까는데 계속 실패 뜨네? 거칠게갤로그로 이동합니다. 11.09.28 42 0
276610 여기 소스에 잘못된게 뭐가있지? ㅇㅇㅇㅇ(119.202) 11.09.28 35 0
276609 실력자? 흥! 살려줘!!!!!!!! [1] 브엘(221.148) 11.09.28 226 0
276608 아 개인서버 돌리고 시픈데 전기값이 무서움 ㅠ [6] [성대아싸]갤로그로 이동합니다. 11.09.28 149 0
276606 교수가 과제제출을 vs6.0으로 쓰라고 강요하고있는데 제 정신인가 [10] 어이없네(115.23) 11.09.28 135 0
276605 블디횽은 봅니다 [3] 三didas갤로그로 이동합니다. 11.09.28 48 0
276604 선형대수과목인데 코딩해오라는데 뭘하라는건지모르겠네.. [4] ㅁㄴㅇㄹ(120.50) 11.09.28 85 0
276602 println()은 변수를 어떻게 출력해? [9] ㅗㅁㅣㅏㅇ(110.35) 11.09.28 140 0
276600 (정중히) 형님들 이런 고급 물건들도 없으시죠? 허허허 [5] lol(110.174) 11.09.28 106 0
276599 형들 비졀 2010은 ctrl + F5 따위 소용없다는게 사실이야? [14] 코딩몬(1.217) 11.09.28 168 0
276597 아쒸 아이맥에 리눅스 usb부팅해서 사용하려고 하는데 왜 안돼지 [1] coding갤로그로 이동합니다. 11.09.28 132 0
276596 졸업 이수학점꼬라지 하고는 ㅋㅋ [7] 차도컴공남갤로그로 이동합니다. 11.09.28 111 0
276595 아까 프갤에서 만델브로트 프랙탈 물어보길래 만듬 (크롬, 파폭, 오페라) [1] [성대아싸]갤로그로 이동합니다. 11.09.28 91 0
276594 형들 제 여친임! [2] Adelposs갤로그로 이동합니다. 11.09.28 160 0
276593 취업을 못하는 건지, 안하는 건지 모르겠다. [1] 천재해커(121.190) 11.09.28 122 0
276592 API 때문에 머리 뽀게지겠넨 [5] 차도컴공남갤로그로 이동합니다. 11.09.28 108 0
276591 학생예비군이 학기중에 떠버렸는데 [2] SODMaster갤로그로 이동합니다. 11.09.28 78 0
276590 c언어 질문입니다!!!!!!!!!!!!!!조큼만 고처주세요 [2] 정채환(115.22) 11.09.28 64 1
276589 혹시 webgl 공부하시는분 있음 [3] asvattha갤로그로 이동합니다. 11.09.28 51 0
276588 고대 유물 설치에 성공했음요 [5] 구루구루(175.253) 11.09.28 151 0
276585 아직도 프로그래밍하냐? [2] 三didas갤로그로 이동합니다. 11.09.28 76 0
276584 반도의_흔한_프로그래머.jpg [4] ㅁㄴㅇㄹ(14.55) 11.09.28 293 0
276583 저녁도 먹었으니 짤이나 올려볼까? (크게 뒤조심 안해도 됨-코스튬) [6] blackd갤로그로 이동합니다. 11.09.28 138 0
276582 맛있게 먹을게~ [1] SODMaster갤로그로 이동합니다. 11.09.28 64 0
276580 니드라~ 안드로이드 프렘워크 리소스 그냥 앱에서 못 끌어다씀? [3] ㅇㅇㅇ(210.94) 11.09.28 73 0
276579 자바 초보적인 질문 [3] asvattha갤로그로 이동합니다. 11.09.28 62 0
276578 프로그래밍이란... [1] 천재해커(121.190) 11.09.28 105 0
276576 울학교만 쉬는 휴일 [4] [성대아싸]갤로그로 이동합니다. 11.09.28 85 0
276575 허허허ㅓ허허헣허헣ㅎ허허ㅓ허허 드디어 작동 원리를 알아냈땈ㅋㅋㅋㅋ 나리링갤로그로 이동합니다. 11.09.28 42 0
276574 분당살람 작품 상영일 [2] 분당살람갤로그로 이동합니다. 11.09.28 106 0
276573 내가 死랑할땐 누가 나를 위로해주지? SODMaster갤로그로 이동합니다. 11.09.28 36 0
276572 피자에 관심이 없군 [4] SODMaster갤로그로 이동합니다. 11.09.28 74 0
276570 CE 좀 하시는 형님들 제발 도와 주세요 [1] 완전 초보(112.216) 11.09.28 45 0
276569 난 은퇴하고 뭐하지? [5] SODMaster갤로그로 이동합니다. 11.09.28 85 0
276567 c언어 잘하는 컴게이 형님들 이거 풀수 있음? [6] 마더뻑(112.160) 11.09.28 191 0
276566 C언어 도움요청.. [9] 릘리리갤로그로 이동합니다. 11.09.28 100 0
276565 이제 이짓도 맘대로 하겠구나.. ㅎㅎㅎ [11] 하아(211.176) 11.09.28 187 0
276564 나 금요일날 여친? 될 사람 만나러가는데 [14] Adelposs갤로그로 이동합니다. 11.09.28 152 0
276563 개년들아 너희가 천대하 ㄴ 내신발은 말이야 [12] Adelposs갤로그로 이동합니다. 11.09.28 97 0
뉴스 '23일 컴백' 스테이씨, 스페셜 싱글 'I WANT IT' M/V 티저 공개! '실패 없는 서머송'으로 여름 장악 디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2