Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어로 손익 계산하기: 이익과 손실 판별 프로그램

어떤 상품이나 서비스의 원가(cost price, cp)판매가(selling price, sp)가 주어졌을 때, C 프로그램을 사용하여 이익이 발생했는지 손실이 발생했는지 판별하고 그 금액까지 출력하는 것이 이번 글의 목표입니다. 이익이 발생했다면 "Profit"과 그 금액을, 손실이 발생했다면 "Loss"와 그 금액을, 이익도 손실도 없다면 "No profit nor Loss"를 출력해야 합니다.

손익 판별의 기본 원리

이익과 손실을 구하려면 판매가(sp)와 원가(cp)를 서로 비교하면 됩니다. 원가가 판매가보다 높다면 물건을 산 가격보다 싸게 팔았다는 뜻이므로 손실로 간주되며, 두 값의 차이가 총 손실액이 됩니다. 반대로 판매가가 원가보다 높다면 이익이 발생한 것이고, 두 값의 차이가 총 이익액이 됩니다.

  • 입력 − cp = 149, sp = 229
  • 출력 − Profit 80
  • 설명 − 판매가(sp) > 원가(cp)이므로 sp - cp = 80만큼의 이익이 발생합니다.
  • 입력 − cp = 149, sp = 129
  • 출력 − Loss 20
  • 설명 − 원가(cp) > 판매가(sp)이므로 cp - sp = 20만큼의 손실이 발생합니다.

문제 해결 접근 방식

  • 원가와 판매가를 입력받습니다.
  • 원가 > 판매가인 경우 손실이므로 두 값의 차이를 계산하여 결과를 반환합니다.
  • 판매가 > 원가인 경우 이익이므로 두 값의 차이를 계산하여 결과를 반환합니다.
  • 판매가 == 원가인 경우 이익도 손실도 발생하지 않습니다.

알고리즘

시작
함수 int Profit(int cp, int sp)
    단계 1→ (sp - cp) 값을 반환
함수 int Loss(int cp, int sp)
    단계 1→ (cp - sp) 값을 반환
함수 int main()
    단계 1→ cp = 5000, sp = 6700으로 선언 및 초기화
    단계 2→ 만약 sp == cp라면,
        "No profit nor Loss" 출력
    단계 3→ 그렇지 않고 sp > cp라면,
        Profit(이익) 출력
    단계 4→ 그 외의 경우,
        Loss(손실) 출력
종료

예제 코드

#include <stdio.h>
// 이익을 반환하는 함수
int Profit(int cp, int sp){
   return (sp - cp);
}
// 손실을 반환하는 함수
int Loss(int cp, int sp){
   return (cp - sp);
}
int main(){
   int cp = 5000, sp = 6700;
   if (sp == cp)
      printf("No profit nor Loss\n");
   else if (sp > cp)
      printf("%d Profit\n", Profit(cp, sp));
   else
      printf("%d Loss\n", Loss(cp, sp));
   return 0;
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −

1700 Profit

이처럼 조건문(if-else)과 간단한 함수만 활용하면 원가와 판매가를 비교하여 손익 여부와 금액을 손쉽게 계산할 수 있습니다. 실무에서는 사용자로부터 직접 입력을 받아 처리하도록 scanf()를 추가하면 더욱 유용하게 확장할 수 있습니다.