문제: 비밀번호를 확인하는 함수 int check()를 만들어라
조건1: check()함수가 비밀번호가 틀린 경우 0을 반환하기
조건2: check()함수가 비밀번호가 맞은 경우 1을 반환하기
조건3: check()함수가 비밀번호가 3회이상 틀린경우 2를 반환하고 "로그인 횟수 초과"메시지를 출력하기
조건4: check()함수 안에 정적 변수를 사용하기
조건5: 중간에 올바른 비밀번호를 입력한경우 프로그램 작동 중지
비밀번호의 값: 1234
답안:
#include <stdio.h>
void main() {
int result = 0;
//result==0 비밀번호일치안함 result==1 비밀번호일치
//result==2 비밀번호 3회이상 틀림
int num = 0;
for (int i = 0; i < 5; i++) {
printf("비밀번호:");
scanf_s("%d", &num);
result = check(num);
if (result == 0) {
printf("비밀번호가 틀렸습니다\n");
}
else if (result == 1) {
printf("올바른 비밀번호를 입력하였습니다\n");
break;
}
else if (result == 2) {
printf("비밀번호를 3회 이상 틀렸습니다\n");
break;
}
else {
printf("잘못된 코드를 입력하였습니다\n");
}
}
}
int check(int num) {
static int count = 1;
if (num == 1234) {
return 1;
}
else {
if (count >= 3) { //3회 이상 비밀번호를 틀렸을 경우
return 2;
}
++count;
return 0;
}
}
'코딩 이야기' 카테고리의 다른 글
[C언어] 순환 함수를 사용하여 밑수/지수값을 계산해보자 (0) | 2021.07.28 |
---|---|
[C언어] 순환 함수를 이용하여 1부터 N까지 더한값을 구해보자 (0) | 2021.07.28 |
[C언어] 주사위를 던져 각 면이 몇번 나왔는지 반환하는 함수를 만들어보자 (0) | 2021.07.28 |
[C언어] 함수를 이용한 계산기 프로그램을 작성해보자 (0) | 2021.07.27 |
[C언어] 정수 오름차순/내림차순을 구현하는 알고리즘(SORT) (0) | 2021.07.13 |