서적: 난 정말 C programming을 공부한 적이 없다구요 문제 5. 언제 돈이 똑 떨어질까? 통나무   집을  만드시는  톰   아저씨의   통장에는  5000만원의 돈이 있으며, 그분이 매달 저축하는 금액은 100만원이다. 하지만 그...

난 정말 c programming을..16장. 5번.

서적: 난 정말 C programming을 공부한 적이 없다구요
문제 5. 언제 돈이 똑 떨어질까?


통나무 집을 만드시는  아저씨의 통장에는 5000만원의 돈이 있으며, 그분이 매달 저축하는 금액은 100만원이다. 하지만 그분이 매달 생활비로 쓰시는 돈이 250만원이다. 그나마 다행인 것은 이자율이다. 아저씨가 돈을 맡긴 은행에서는 한달에 원금의 2%에 해당하는 어마어마한 이자를 지급한다(연간 이자가 아닌 월 단위 이자가 2%이다.) 그리고 다음은 오지랖 넓은 필자와 아저씨의 대화이다.
필자 : 아저씨 그렇게 돈을 지출하시면 언젠가는 통장이 비게 되요.
 아저씨 : 버는 돈 보단 쓰는 돈이 많아서 걱정된단 말이지?
필자 : 버시는 금액과 이자를 포함해도 지출이 더 커요. 언젠간 텅 비게 돼요.
 아저씨 : 내게 중요한 건 통장이 언제 비게 되냐는 거다! 그게 언제냐? 계산 좀 해봐라.

정확히 몇달 뒤에 아저씨는 통장의 잔고가 0이 되는 것을 확인하게 되겠는가? 이를 확인하게 위한 프로그램을 작성해 보자. 언제 비게 되고 마지막 출금액이 얼마가 되는지 계산하여 출력해 보자.

참고로 첫 번째 달에는 5000만원에 대한 2%의 이자가 증가한 이후에 100만원이 저축되고 250만원의 지출이 생긴다. 즉 매달 이자가 증가한 이후에 100만원이 저축되고 250만원이 지출되는 방식으로 통장관리가 된다.

c언어를 배우고 있는 학생으로서 열심히 했다. 그러다고 해서 이것이 저자가 원하는 답이라고는 확신할수 없다.


  1 #pragma warning(disable:4996)
  2 #include <stdio.h>
  3
  4 int main(void)
  5 {
  6  int bank_money = 50000000// 원금
  7  int month_save = 1000000// 한달 적립
  8  int month_spend = 2500000;
  9  int bank_temp;
 10  double bank_save_rate;
 11  int month = 30// 한달은 30일
 12  int sum_day = 0// 일 합산
 13  double month_rate = 0.02// 이자율
 14
 15  bank_temp = bank_money;
 16  
 17  printf("원금 : %d원 \n\n", bank_money);
 18
 19  while (bank_temp > 0)
 20  {
 21   sum_day += month; // 하루가 지날때마다 30일 추가
 22   printf("=======%d일이 경과=======\n", sum_day);
 23   bank_temp -= month_spend;
 24   printf("찾으신 금액 : %d원 || 남은 금액 : %d원\n", month_spend, bank_temp);
 25   bank_temp += month_save;
 26   printf("예금하신 금액 : %d원|| 남은 금액 : %d원\n\n", month_save, bank_temp);
 27
 28   bank_save_rate = bank_temp * (double)month_rate; 
 29                 // 이자 =  원금 * 이자율
 30   // bank_temp += (int)bank_save_rate;
 31   printf("%d일 경과 됬으므로 원금에 이자율이 적용됩니다. \n", sum_day);
 32   printf("오늘의 이자 : %.0f원 \n", bank_save_rate);
 33
 34   printf("남은금액 (이자적용) : %.0f \n\n", bank_temp + bank_save_rate);
 35   bank_temp += (int)bank_save_rate;
 36
 37  }
 38  if (bank_temp < 0)
 39  {
 40   printf("예측 : %d달후 당신은 %d원 빚지게 됩니다. \n", sum_day / 12, -bank_temp);
 41  }
 42  else
 43   printf("예측 : 당신은 몇푼만 가지게 됩니다.");
 44  return 0;
 45
 46 }







0 개의 댓글: