본문 바로가기

Study_C, C++/홍정모의 따라하며 배우는 C언어

[홍정모의 따라하며 배우는 C언어] 7.3 ctype.h 문자 함수들 ~ 7.4 다중 선택 else if

728x90

7.3 ctype.h 문자 함수들

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <ctype.h>

main()
{
	char ch;

	while ((ch = getchar()) != '\n') {
		if (islower(ch))		// 소문자인가
			ch = toupper(ch);	// 소문자 -> 대문자
		else if (isupper(ch))		// 대문자인가
			ch = tolower(ch);	// 대문자 -> 소문자
		else if (isdigit(ch) != 0)	// 숫자인가
			ch = '*';

		putchar(ch);
	}

	putchar(ch);		// ch에 남아있는 '\n' 출력

	return 0;
}

 

Output:
(1234abcdABCD 입력)
****ABCDabcd

 

  • Control character or Non-graphic/Non - printable character : 콘솔/터미널 화면이나 장치 제어등을 위한 문자. 출력이 불가능하다.  ASCII Code 0~31
  • Graphic/Printable character : Control Character를 제외한 숫자, 문자, 특수문자로, 정보를 표현하는 문자들. Graphic character 2개를 묶어 한글의 한 글자를 표현하므로 윈도우 환경과 한글 환경에선 보이지 않는다. 
  • Punctuation character : Graphical characters중 "# @ # % ^ & " 등의 숫자, 문자를 제외한 기호들 

 

7.4 다중 선택 else if

  • else if문을 사용하여 여러 조건들 나열 가능

예제)

- 수익을 입력받고 위와 같은 과세 기준을 토대로 입력값에 따른 세금과 과세 계산 후 값 출력

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

#define BASE1 12000000.0					
#define BASE2 46000000.0
#define BASE3 88000000.0
#define BASE4 150000000.0
#define BASE5 300000000.0
#define BASE6 500000000.0

#define RATE1 (6.0/100.0)
#define RATE2 (15.0/100.0)
#define RATE3 (24.0/100.0)
#define RATE4 (35.0/100.0)
#define RATE5 (38.0/100.0)
#define RATE6 (40.0/100.0)
#define RATE7 (42.0/100.0)		// 비교값들이 많을 때는 위처럼 메크로 함수를 이용하여 값을 미리 설정

#define BASIC_DEDUCTION 1500000.0	// default tax

int main()
{
	double income, tax = 0.0;

	printf("Enter the income : ");
	scanf("%lf", &income);

	income -= BASIC_DEDUCTION;

	if (income <= BASE1)
		tax = income * RATE1;
	else if (income <= BASE2)
		tax = BASE1 * RATE1 + (income - BASE1) * RATE2;
	else if (income <= BASE3)
		tax = BASE1 * RATE1 + (BASE2 - BASE1) * RATE2 + (income - BASE2) * RATE3;
	else if (income <= BASE4)
		tax = BASE1 * RATE1 + (BASE2 - BASE1) * RATE2 + (BASE3 - BASE2) * RATE3 + (income - BASE3) * RATE4;
	else if (income <= BASE5)
		tax = BASE1 * RATE1 + (BASE2 - BASE1) * RATE2 + (BASE3 - BASE2) * RATE3 + (BASE4 - BASE3) * RATE4 + (income - BASE4) * RATE5;
	else if (income <= BASE6)
		tax = BASE1 * RATE1 + (BASE2 - BASE1) * RATE2 + (BASE3 - BASE2) * RATE3 + (BASE4 - BASE3) * RATE4 + (BASE5 - BASE4) * RATE5 + (income - BASE5) * RATE6;
	else
		tax = BASE1 * RATE1 + (BASE2 - BASE1) * RATE2 + (BASE3 - BASE2) * RATE3 + (BASE4 - BASE3) * RATE4 + (BASE5 - BASE4) * RATE5 + (BASE6 - BASE5) * RATE6 + (income - BASE6) * RATE7;

	printf("Tax is %lf\n", tax);
	printf("Your income after tax deduction : %lf\n\n", income - tax);

	return 0;
}

  

Output : 
Enter the income : (28000000 입력)
Tax is 2895000.000000
Your income after tax deduction : 23605000.000000

 

 

 

 


강의 출처 : https://www.inflearn.com/course/following-c/dashboard

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 프로그래밍 인생, 한 단계 업그레이드!

www.inflearn.com