<예제>
ID, Password 를 받아 3회 제한된 횟수의 로그인 프로그램을 제작하세요.
1) 사용자로부터 ID 와 Password 를 입력 받는다.
2) 로그인 시도 횟수가 일정 한도를 넘으면 프로그램을 종료시킨다.
3) ID, Password 가 일치하면 로그인 성공 메세지를 출력
4) ID, Password가 일치하지 않으면 한도 횟수까지 다시 시도한다.
<해설>
#include <stdio.h>
#include <stdlib.h>
#define SUCCESS 1 // SUCCESS 등을 변수로 설정하지 않고 #define 로 쓴건
#define FAIL 2 // 굳이 변수를 추가하여 코드를 길게 하지 않고 단순화시키기 위함
#define LIMIT 3 // Java 의 final 같은 기능
int check(int id, int password);
int main(){
int id, password, result;
while(1){
printf("Id : "); scanf(" %d", &id);
printf("Password : "); scanf(" %d", &password);
result = check(id, password);
if( result == SUCCESS ) break;
}
printf("로그인 성공\n");
return 0;
}
int check(int id, int password){
static int super_id = 1234; //static을 씀으로써 while에서 check 함수가 켜질 때 마다
static int super_password = 5678; //아이디와 비밀번호를 생성하지 않고 프로그램이
static int try_count = 0; //마칠 때까지 값을 고정시키기 위함
try_count++;
if( id == super_id && password == super_password){
return SUCCESS;
}
else{
if( try_count == LIMIT){
printf("횟수 초과\n");
exit(1);
}
return FAIL;
}
}
'C > Example' 카테고리의 다른 글
[C] 배열 예제 (심화) (0) | 2021.03.08 |
---|---|
[C] 배열 예제 (0) | 2021.03.08 |
[C] 예제 (함수, 포인터, 구조체) (0) | 2021.03.05 |
[C] 예제 (매개변수 포인터) (0) | 2021.03.05 |
댓글