디시인사이드 갤러리

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

갤러리 본문 영역

cpp 과제인데 질문요;;

ㅁㄴㅇㅁㄴㅇ(182.214) 2011.10.05 23:16:39
조회 95 추천 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
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 힘들게 성공한 만큼 절대 논란 안 만들 것 같은 스타는? 운영자 24/06/10 - -
291019 프로그래머면 담배 끊어라 [4] 므해?갤로그로 이동합니다. 11.11.27 247 0
291018 프로그래밍 [3] ㅊㅅ(112.223) 11.11.27 67 0
291017 형들 군복무 중인 찌지린데 블리자드 가려면 어떻게 해야되? [9] 노털(175.122) 11.11.27 134 0
291016 어플 만드려면 뭐부터 배워야 될까? [1] 1000000(61.74) 11.11.27 62 0
291011 형들 C언어에서 free 하고 realloc 말이야!! [6] ㅇㄴㅁ(119.202) 11.11.27 87 0
291010 Hello, World!! 갤청소부갤로그로 이동합니다. 11.11.27 30 0
291007 k 골뱅이아파 ㄱㄴㄴ(183.102) 11.11.27 58 0
291006 마지막 한번만 더 질문글 올립니다 ㅠ 아시는분 꼭 답변플리즈 설록(165.132) 11.11.27 29 0
291005 HTML5 Canvas에서.... 객체별로 마우스이벤트생성이 불가능한가요 [2] 곰곰곰갤로그로 이동합니다. 11.11.27 66 0
291004 게임메이커 좀 다룰줄 아는사람? 도와주세요ㅠㅠ 채현기(211.236) 11.11.27 37 0
291003 html5랑 css 배울만한 책 추천좀 [1] ㅇㅇ(211.117) 11.11.27 58 0
291001 연구소 들어가면 보통 무슨 일 하냐? 한국은 연구원 대우 별로인가? [1] ㅇㅇ(121.133) 11.11.27 111 0
291000 위대하신 프갤 성님들 연산자 오버로딩에대해서 소스좀 봐주십시요. 굽신굽신 [3] 치킨맛맛폰갤로그로 이동합니다. 11.11.27 73 0
290999 코갤러가 아프리카 털었던거 이렇게 했을거 같은느낌 [5] Stan(220.244) 11.11.27 189 0
290998 직장인 형들 질문좀 할게요 [2] ㅌㄹ(59.26) 11.11.27 80 0
290997 [사진] 이거 누구게? ㄱㄴㄴ(183.102) 11.11.27 104 0
290996 제 프로그램 봐주실준없나요.. [3] 씨쁘류ㅠ(115.137) 11.11.27 96 0
290994 CSS4 신박하다잉 [2] 찌뱅긔갤로그로 이동합니다. 11.11.27 80 0
290993 정보처리 (웹디자인) 과제인데 형들 질문좀! [3] 111(121.174) 11.11.27 101 0
290991 둠3 소스코드 보러가자 [1] ena3(119.201) 11.11.27 117 0
290990 프갤 횽들아, 이걸 플밍 용어로 뭐라고 해?? [6] ㅇㅇ(121.133) 11.11.27 141 0
290988 형들 저 지금 초코파이로 떡음식만드는데 조언좀.jpg [3] Stan(220.244) 11.11.27 88 0
290987 프갤성들 MFC공부하려고하는데 어떤 책이좋아? [1] AFK(180.182) 11.11.27 97 0
290986 은행 가서 무통장 입금할 때 [1] 분당살람갤로그로 이동합니다. 11.11.27 62 0
290981 자바독학 줮뉴비가 질문하나 해도 됨?? [3] 자바(211.117) 11.11.27 80 0
290980 이사님 방금 오셨음 ... 와 나 점수 좀 땄나 [3] 찌뱅긔갤로그로 이동합니다. 11.11.27 83 0
290979 붉은별 이쁘다 [3] 후타바갤로그로 이동합니다. 11.11.27 147 0
290978 북한별완전삼성이네 후타바갤로그로 이동합니다. 11.11.27 70 0
290977 찌뱅긔님 정말 감사드립니다 [2] 설록(165.132) 11.11.27 42 0
290976 지그비 좀 아는형 있음? 가린샤(168.115) 11.11.27 40 0
290975 난 그럼 업무 하러 잠수 탐 찌뱅긔갤로그로 이동합니다. 11.11.27 30 0
290974 붉은별os주소점쏴줘 [4] 후타바갤로그로 이동합니다. 11.11.27 94 0
290973 설록 첨부 파일 받아라 [2] 찌뱅긔갤로그로 이동합니다. 11.11.27 62 0
290972 넥s에 ics 런쳐 깔았더니 [2] 분당살람갤로그로 이동합니다. 11.11.27 54 0
290971 확장자가 CCT인건 어떻게열어?? [1] 알려줘(222.237) 11.11.27 40 0
290970 scanf에 대해 잘 아시는분 계시면 답좀 "%[^\n]%*c" [2] _FL(125.128) 11.11.27 60 0
290969 매틀랩 쉬운거 하나 풀어주실분 ~~~ 12345(119.193) 11.11.27 40 0
290968 설록, 글 또한번 올립니다. [6] 설록(165.132) 11.11.27 59 0
290967 waterfox라고 들어봤냐? [1] 천회장(175.113) 11.11.27 49 0
290964 부업가능합니까?? [2] 월120갤로그로 이동합니다. 11.11.27 82 0
290963 아이폰용앱만드려면 IMhouse갤로그로 이동합니다. 11.11.27 30 0
290962 방산 가고싶은데요 청풍명월갤로그로 이동합니다. 11.11.27 56 0
290961 언제나 쓰는 징징글 땡칠도사갤로그로 이동합니다. 11.11.27 36 0
290960 형들~ 이거풀수있어요..? 저는 도저히 않되겠어요 ㅠ [4] 기초프래밍(112.173) 11.11.27 78 0
290958 프갤이 정전일땐 뭐다? System32갤로그로 이동합니다. 11.11.27 46 0
290957 찌뱅긔님 읽어주세요 [5] 설록(165.132) 11.11.27 63 0
290956 자바 스레드 질문입니다. [1] 질문이다(175.206) 11.11.27 32 0
290955 형들 실행파일을 소스로 바꿔주는 툴이 있었는데 이름이 머엿지? [4] 123(61.106) 11.11.27 67 0
290954 군인들이 애용하게 될 OS [2] elwlwlwk갤로그로 이동합니다. 11.11.27 135 0
290953 설록은 봐라 [10] 찌뱅긔갤로그로 이동합니다. 11.11.27 81 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2