티스토리 뷰

단리를 계산하는 것은 투자에 대한 수익이 있는지를 빠르게 판단할 수 있는 아주 훌륭한 방법이다. 마찬가지로 프로그램의 명령 순서대로 명확하게 코딩을 하는 것도 마음이 편안해지도록 만들 수 있는 좋은 방법이다.

단리를 계산하는 프로그램을 작성하라. 원금을 입력 받은 다음 이자를 퍼센트 단위로 입력 받고, 기간을 연단위로 입력 받은 후 원리금(원 금+이자)을 출력해보자.

단리 공식은 다음과 같다.

A = P(1+rt)

  • P: 원금
  • r: 연이율
  • t: 기간(연단위)
  • A: 원리금

#출력 예 Enter the principal: 1500

Enter the rate of interest: 4.3

Enter the number of years: 4

After 4 years at 4.3%, the investment will be worth 758

#제약 조건

  • 연이율은 반드시 퍼센트 단위로 입력 받은 후(예: .15가 아니라 15) 프로그램에서 입력 값을 100으로 나누어 계산할 것
  • 센트를 기준으로 하는 소숫점 다음에 숫자가 있을 때는 센트를 기준으로 올림 처리할 것
  • 출력되는 원리금은 화폐 단위로 출력할 것

#도전 과제

  • 입력 값 원금, 이율, 기간은 모두 숫자로만 받을 수 있도록 프로그램을 수정해보자. 숫자가 입력될 때까지 진행되지 않도록 하라.
  • calculateSimpleInterest라는 이름의 함수를 만들어 사용하도록 프로그램을 수정해보자. 이 함수는 원금, 이율, 기간을 파라미터로 받 으며 원리금을 반환한다.
  • 기간 도래 후의 원리금만을 출력하는 대신 매년 원리금의 변화를 알 수 있도록 연단위로 원리금을 출력하도록 프로그램을 수정해보자.



My code


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using System;
 
namespace Exam._12
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("원금을 입력하세요.   (원): "); double P = ReturnDouble();
            Console.Write("연이율을 입력하세요.  (%): "); double r = ReturnDouble();
            Console.Write("기간을 입력하세요.   (년): "); double t = ReturnDouble();
 
            double result = calculateSimpleInterest(P, r, t);
            double A = result+P;
 
            Console.WriteLine("[ 연이자율 {1} %  {0}년 후 ] 세전이자는 {2:#,##0}원,  원리금은 {3:#,##0}원입니다.", t, r, result, A);
 
            // 도전과제3, 매년 원리금
            for (int i = 1; i <= t; i++)
            {
                double ti = calculateSimpleInterest(P, r, i);
 
                Console.WriteLine("{0}년 후 원리금 {1:#,##0}원.", i, ti + P);
            }
 
            Console.ReadLine();
        }
 
        // 도전과제1, 입력값이 숫자가 아니면 다시 입력받기
        static double ReturnDouble()
        {
            double i;
 
            while (!double.TryParse(Console.ReadLine(), out i))
            {
                Console.WriteLine("Please enter the number.");
            }
 
            return i;
        }
 
        // 도전과제2, 함수 생성
        static double calculateSimpleInterest(double _P, double _r, double _t)
        {
            return ((_P * _r) / 100* _t;
        }
    }
}
 
cs




Result



댓글
글 보관함
최근에 올라온 글
최근에 달린 댓글