c++ 초보자 질문이요 ㅜㅜ

조회수 498회

배팅을 시작한 후의 금액이 시작금액의 5배가 되거나 배팅 후 금액이 0이 되어버리면 끝이나는 배팅게임을 만들고 있습니다. 금액이 0이 되면 프로그램이 끝이 나는 것은 어찌 맞췄는데 아무리 해도 시작금액의 5배가 되면 종료되는 것은 되지가 않네요 ㅜㅜ 어디를 고쳐야 할 지 봐주시면 감사하겠습니다.

include

include

include

int main(void)

{

int money, bet;

int com, user;

com = 0;

user = 0;

money = 0;

bet = 0;

printf("-----\n");

printf("보유한 돈은:");

scanf_s("%d원", &money);

while (money > 0 || money * 5)

{

printf("-----\n");

printf("보유한 돈은 : %d\n", money);

printf("배팅한 돈은 : ");

scanf_s("%d원", &bet);

srand(time(NULL));

com = rand() % 51;

printf("본인이 선택한 숫자는 : ");

scanf_s("%d", &user);

printf("컴퓨터가 선택한 숫자는 : %d\n", com);

if (com % 2 == 0 && user % 2 == 0)

{

money = money + (bet * 4);

printf("남은 돈은:%d원\n", money);

}

else if (com % 2 == 1 && user % 2 == 0)

{

money = money - (bet * 2);

printf("남은 돈은:%d원\n", money);

}

else if (com % 2 == 1 && user % 2 == 1)

{

money = money + (bet * 2);

printf("남은 돈은:%d원\n", money);

}

else

{

money = money - bet;

printf("남은 돈은:%d원\n", money);

}

if (money 5*money)

{

break;

}

}

return 0;

}

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 우선 질문과는 별도의 이야기지만 가독성 향상을 위한 소스 코드 수정이 필요할 것 같습니다. 그리고 C++ 이라고 말씀을 해주셨는데 iostream 의 cin, cout 을 사용하지 않고 C 에서 사용하는 scanf_s 를 사용하는 이유가 있나요? C++ 이라면 using 지시자 (Directive) 를 사용한 using namespace std 와 같은 것이 존재해야 된다 생각하는데 위 코드는 C++ 이라기보단 C 언어 같습니다. 알 수 없는 사용자 2020.11.22 20:50

1 답변

  • 아래 코드 참고하세요.

    • 코드
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main()
    {
        int first_money = 0, now_money = 0, bet_money = 0;
        int com_num = 0, user_num = 0;
    
        srand((unsigned int)time(NULL));
    
        printf("-----\n");
        printf("보유한 돈 입력: ");
        scanf_s("%d", &first_money);
        now_money = first_money;
    
        while ((now_money > 0) && (now_money < first_money * 5))
        {
            printf("-----\n");
            printf("보유한 돈 : %d원\n", now_money);
            printf("배팅할 돈 입력: ");
            scanf_s("%d", &bet_money);
    
            com_num = rand() % 51;
    
            printf("본인이 선택한 숫자 입력 (0~50): ");
            scanf_s("%d", &user_num);
    
            printf("컴퓨터가 선택한 숫자는 : %d\n", com_num);
    
            if (com_num == user_num)
            {
                now_money += (bet_money * 4);
            }
            else if (user_num == 7)
            {
                now_money = first_money * 5;
            }
            else
            {
                now_money -= bet_money;
    
            }
            printf("남은 돈: %d원\n", now_money);
        }
    
        return 0;
    }
    
    • 결과

    이미지

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)