코딩 이야기

[C언어] 아이디의 비밀번호를 확인하는 함수를 만들어보자(코딩)

고주망고 2021. 7. 28. 16:02

 

문제: 비밀번호를 확인하는 함수 int check()를 만들어라

조건1: check()함수가 비밀번호가 틀린 경우 0을 반환하기

조건2: check()함수가 비밀번호가 맞은 경우 1을 반환하기

조건3: check()함수가 비밀번호가 3회이상 틀린경우 2를 반환하고 "로그인 횟수 초과"메시지를 출력하기

조건4: check()함수 안에 정적 변수를 사용하기

조건5: 중간에 올바른 비밀번호를 입력한경우 프로그램 작동 중지

 

비밀번호의 값: 1234


 

예제1
예제2
예제3
예제4


답안:

#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;
}
}