PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2009/03/25 00:40:58
Name Galdae
Subject C 프로그래밍 질문입니다...
이번에 컴퓨터과 가게된 공대생입니다.

객체지향 과목 과제가 나왔는데 영 모르겠네요;;

강의도 영어강의고 책 찾아보려해도 교재가 원서라서 ㅜㅜ

소스 코드를 Visual Studio 2008 혹은 Visual C++ 2008 Express로 빌드 해봐서

나온 7개의 에러를 고치는 문제입니다.

프로그래밍 고수님들 부탁드립니다.

왠지 네이버에 방학숙제 물어보는 초등학생 느낌이 나서 좀 창피하긴 하네요 -_-;;

잘못된 부분이 어떻게 잘못됐고 어떻게 고치면 되는지 간단하게 설명해 주시면 감사하겠습니다.

아 그리고 객체지향프로그래밍 독학할만한 한글교재도 추천 부탁드립니다...

원서에다 영어강의니까 영 공부할 맛이 나질 않네요 ㅜㅜ

#include <iostream>

using namespace std

const int VALUE_ARRAY_SIZE = 10;

// getPower(int x, int y)
//  - Get x to the power of y
//  - x: the base
//  - y: the exponent
int getPower(int x, int y)
{
        int i = 0;
        int tmp = 1;

        for(i=0; i < y; )
        {
                tmp = tmp * x;
        }

        return tmp;
}

// findMax(int values[], int size)
//  - Find the max among the values given
//  - values: the array that has integer
int findMax(int values[])
{
        int i;
        int tmpMax = 0;
        
        for(i=1;i<VALUE_ARRAY_SIZE;i++)
        {
                if(values[tmpMax] < values[i])
                {
                        tmpMax = i;
                }
        }

        return tmpMax;
}


int main(int argc, char *argv[])
{
        bool repeat = false;
        int base_number, exponent_number, result;
        int answer;
        int i;
        int values[VALUE_ARRAY_SIZE];
        int idx;


        cout << "-----------------------------------------\n";
        cout << "| Yonsei Calculator                        |\n";
        cout << "-----------------------------------------\n\n\n";


        // power calculation
        do {

                cout << "\n* Power Calculation * \n";

                cout << "Enter the base: ";
                cin >> base_number;

                cout << "Enter the exponent: ";
                cin >> exponent_number;

                result = getPower(base_number, exponent_number)

                cout << "\n" << base_number << " to the power of " << exponent_number << " is " << result << "\n\n";

                cout << "Again? (y/n) ";
                cin >> answer;

                if(answer = 'y' && answer = 'Y')  
                {
                        repeat = true;
                }
                else  // n & all the other cases
                {
                        repeat = false;
                }

        } while(repeat);

        // find the maximum value among 10 values
        do {
                cout << "\n\n* I will find the Max number among 10 numbers *\n";

                for(i=0; i<VALUE_ARRAY_SIZE; i++)
                {
                        cout << "Enter number [" << (i+1) << "]: ";
                        cin >> values[i];
                }
                idx = findMax(values);

                cout << "\nThe Maximum number is " << values[idx] << "\n\n";

                cout << "Again? (y/n) ";
                cin >> answer;

                switch(answer)
                {
                        case 'Y':
                        case 'y':
                                repeat = true;  
                        default:
                                repeat = false;
                }
        } while (repeat);


        // always nice to be nice. :)
        cout << "\n\nThank you!!\n";

        return 0;

}

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
WizardMo진종
09/03/25 00:45
수정 아이콘
2008이 없는 관계로;;; 돌려보진 않았지만 대충 보아하니 책보면서 찾아야 할꺼 같습니다. 고급부분은 안보이지만 파라미터나 인자값의 종류에 잘못된 사용등으로 인한 오류같네요;;;

교재로는 제일 많이보고 무난하고 만만하고 좋은게 열혈강의 c++일겁니다. 다른건 안봐서 패스지만 이건 후회는 안하실거에요.

당장 지금해야되는게 아니면 낼아침에 학교가서 노트북으로 돌려보고 답변드리겠습니다;; 눈으로 훑기엔 잘못된게 안보이네요 ㅜㅠ
Hyo-Ri_World
09/03/25 00:52
수정 아이콘
1. using namespace std; <- ;로 닫으셔야 합니다
2. result = getPower(base_number, exponent_number); <-;로 닫으셔야 합니다
3. if(answer = 'y' && answer = 'Y') -> if(answer == 'y' && answer == 'Y')
= 하나만 있으면 대입하는 것인데 원래 의도는 그 값을 가지고 있는지 확인하는 것이기 때문에 ==을 써야 합니다.
4. for(i=0; i<y; ) -> for(i=0; i < y; i++)
GetPower 함수 안에서 for문에 맨 뒤에 i++을 넣어야 합니다. 뒤에 아무것도 없이 돌면 무한 루프에 빠지게 됩니다.
5. int answer -> char answer
문자 값을 받으니 char로 바꿔주세요.

일단 기본적으로 이정도만 해봤네요
화이트푸
09/03/25 00:54
수정 아이콘
소스를 돌려 보지 않아서 그냥 보이는거 몇개만 말씀 드릴께요(정답을 드리기는 좀 뭐할거 같아서 힌트 위주로)
하나는 getPower 함수 부분에서 반복되는 곳 체크해보시구요
두번째는 메인에서 반복하는 조건에 과연 조건을 통해서 만족을 하는지 여부도 판단하시면 될꺼 같구요.
(과연 &&를 가지고 처리가 가능할까요!?)

그냥 눈에 딱 보이는구 2개만 말씀 드렸고 지금 올려주신 소스는 객체지향은 아니죠 클래스를 갖고 있지도 않고 있구요.
국내 서적으로 그냥 볼만한 책은 열혈강의 씨리즈 C와 C++빠르게 보시면 도움이 되지 않을까 싶습니다.(C포인터도 된다면)

그냥 다른 분들이 답을 달아주셨군요.. 무안합니다.. 그냥 둘께요 -_-;
Hyo-Ri_World
09/03/25 00:57
수정 아이콘
근데 저는 do while이 잘 안되네요;;
졸려워서 확실히는 못 고치겠네요;;
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
52651 컴퓨터 견적 질문입니다~ [3] 윤하1926 09/03/25 1926
52650 1년목돈만들기 [2] 날아라드랍쉽2197 09/03/25 2197
52649 사운드카드 질문입니다. 풍만1602 09/03/25 1602
52648 C 프로그래밍 질문입니다... [5] Galdae2134 09/03/25 2134
52647 마구마구하시는분들~~ [3] Dr.깽3242 09/03/25 3242
52646 네이버 블로그에 있는 gif파일을 저장하고싶어요!! [8] 염나미。6702 09/03/25 6702
52645 해피텔레콤이라는 곳에서 뜬금없이 민사소송예정통지문이 왔습니다;; [4] 랄프로렌2298 09/03/25 2298
52643 간단한 영어 문장 해석 좀... [5] 낭띠1603 09/03/24 1603
52642 어제에 이어서 또 매트랩 질문 입니다 꼭 좀 봐주세요~ [2] HirosueMooN1603 09/03/24 1603
52641 서양인들이 주로 사용하는 제스쳐중에.. [9] 김영민3122 09/03/24 3122
52640 어제 박명수 선수의 드론동원과 관련해서.. [6] honnysun2234 09/03/24 2234
52639 고전게임을 하나 찾습니다 [18] 수험생2202 09/03/24 2202
52638 말레이시아 관련 질문입니다. [5] 허느님맙소사1525 09/03/24 1525
52637 내일 해군면접보는데 질문이요 [5] [Oops]에취5890 09/03/24 5890
52636 워3 배틀넷 아시아만 되지 않습니다. [4] 밴더2121 09/03/24 2121
52635 자본시장통합법에 대해 [2] StevenGerrard1459 09/03/24 1459
52634 제가 먹었던 초콜렛이 트뤼프 초콜렛인지 궁금합니다. [4] 게리롱2094 09/03/24 2094
52632 보이스피싱; [3] Ggobugi2146 09/03/24 2146
52630 히어로즈(미드) 보시는 분들~ [4] 은갈치2740 09/03/24 2740
52629 스피커에서 이상한 소음이 나네요.. [8] 타우τ2199 09/03/24 2199
52628 90사이즈 옷 있는 브랜드좀 알려주세요~ [3] 서명덕2142 09/03/24 2142
52627 지급명령신청에 승소하였습니다. 질문이 있는데요. [2] 이상직2138 09/03/24 2138
52625 높은 스펙의 그래픽 카드의 성능은 어느정도인가요? [9] 오규창1830 09/03/24 1830
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로