전체 글

공유 문화가 좋아 운영하는 블로그입니다. 개발, 컴퓨터 활용법, 기술/자기계발 도서의 서평을 주로 다룹니다.
이번 포스팅은 소득이 1000만원 이하인 경우 8%으로 소득세를 1000만원 초과인경우 10%의 소득세를 출력하는 코드를 작성해 보았습니다. 소득세 출력시에는 소득자체를 정수로 입력받다보니 소수점은 필요가 없어서 소수점아래의 경우는 표시되지 않게 %.f로 값을 불러내었습니다. #define _CRT_SECURE_NO_WARNINGS #include void get_tax(int income); // 소득세를 계산하는 함수 int main(void) { int num; printf("소득을 입력하시오(만원): "); scanf("%d", &num); get_tax(num); return 0; } void get_tax(int income) { if (income
#define _CRT_SECURE_NO_WARNINGS #include int even(int n); // 짝수와 홀수 판별 함수 int absolute(int n); // 절대값 변환 함수 int sign(int n); // 음수와 양수 판별 함수 int main(void) { int num; printf("정수를 입력하시오: "); scanf("%d", &num); if (even(num) == 1) { printf("even()의 결과: 짝수\n"); } else { printf("even()의 결과: 홀수\n"); } printf("absoulte()의 결과: %d\n",absolute(num)); if (sign(num) == -1) { printf("sign()의 결과: 음수"); } els..
#define _CRT_SECURE_NO_WARNINGS #include // 반환값은 없지만, 파라미터(입력값)은 있는 함수 선언 void round(double f); // 반환값과 파라미터(입력값)이 둘다 있는 함수 선언 int round2(double f); int main(void) { double f; printf("실수를 입력하시오: "); scanf("%lf", &f); // 첫번째 경우 round(f); // 두번째 경우 printf("### 반환값과 파라미터(입력값)은 둘다있는 함수의 경우 ###\n"); printf("반올림한 값은 %d입니다.\n", round2(f)); return 0; } void round(double f) { printf("### 반환값은 없지만, 파라미터(입..
#define _CRT_SECURE_NO_WARNINGS #include // 반환값은 없지만, 파라미터(입력값)은 있는 함수 선언 void is_leap(int year); int main(void) { int year; printf("연도를 입력하시오: "); scanf("%d", &year); is_leap(year); return 0; } // 함수 설정 void is_leap(int year) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { printf("%d년은 366일입니다. \n", year); // 윤년이면 366일 } else { printf("%d년은 365일입니다.\n", year); // 윤년이 아니면 365일 } }..
#define _CRT_SECURE_NO_WARNINGS #define PI 3.141592 // 원주율 선언 #include // 원주 구하는 함수 선언 double cal_area(double radius); int main(void) { double radius; printf("원의 반지름을 입력하시오: "); scanf("%lf", &radius); printf("원의 면적은 %f입니다.\n", cal_area(radius)); return 0; } // 원주 구하는 함수 지정 double cal_area(double radius) { return PI * radius * radius; } 이번에는 '원의 면적 = 원주율 * 원의 반지름 * 원의 반지름' 기본 공식을 활용하여 이를 함수로 선언하고..
아직도 배우는 단계이기에, 하루하루 못해도 하나씩 작성해보렵니다. #define _CRT_SECURE_NO_WARNINGS #include // 함수 선언 void check_alpha(char x); int main(void) { char x; printf("문자를 입력하시오: "); scanf(" %c", &x); // 문자여부를 판단하는 함수 check_alpha(x); return 0; } // 함수 지정 void check_alpha(char x) { if( (x >= 'a' && x = 'A' && x
안녕하세요. 거의 두 달만에 정보처리기사 실기 리뷰로 찾아뵙게 되었네요. 앞선 리뷰어 활동을 통해 비교한 결과, 저는 수제비가 저랑 더 잘 맞았는데 이번에는 어떨지 참 기대가 됩니다. 저번과 동일하게 2021 시나공 정보처리기사 실기 책의 경우 yes24리뷰어 자격으로 책을 제공 받았고, 2021 수제비 정보처리기사 실기 책의 경우는 제가 직접 구매를 했습니다. 필기에 이어 두번째 리뷰이다보니 정보처리기사 시험에 관한 내용은 겹치니 생략하도록 하고, 직접적인 책에 대한 내용비교분석을 시작하도록 하겠습니다. 시작하기에 앞서 비교순서를 소개드리겠습니다. 순서는 크게 5가지로 1. 분권화 및 가격 2. 목차 3. 내용 4. 기출문제 및 예상문제의 구성 5. 총평이 되겠습니다. 1. 분권화 및 가격 A. 202..
C언어 학습을 하다보면 종종 이런 문구가 나와 초심자에겐 이게 멀까? 라는 궁금증을 줍니다. '---' :This function or variable may be unsafe. Consider using --- instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. 먼저, 에러가 뜨는 원인부터 간단하게 설명하면, C언어 책이나 인터넷 강좌에서 가르치는 함수들 중 몇개는 함수에 취약점이 있기 때문에 에러가 나는 것입니다. 위에 에러코드도 자세히 읽어보면 '이 함수나 변수는 안전하지 않을 수 있습니다.' 라고 적혀있습니다. 유명한 해킹 기법인 스택 버퍼 오버플로우 기법이 strcpy를 사용했기 때문에 일어나게 되는 것 입니다. 보통, 취약점이 있는 함..
PatienceLee
PatienceLee