Page 152 고등학교 프로그래밍 교과서
P. 152










예제 입력된 문자열에서 ‘대문자, 소문자, 숫자가 각각 1개 이상 없거나 6자 미만인
경우 암호를 다시 만들라’는 메시지를 출력하는 프로그램을 작성해 보자.


알고리즘 설계
① 6자리 이상 20자리 이하의 문자열을 입력받는다.

② 6자리가 안 되거나, 대문자가 없거나 소문자 및 숫자가 없으면 암호를 다시 만들라고 출력한다.
③ 조건을 만족하면 해당 암호를 출력한다.


프로그램

strlen( ) 함수
01 #include
strlen 함수는 문자열의 길이를 반
환하는 함수이다. 함수의 매개 변수 02 #include
에 문자열을 입력하면 그 문자열의 03 int main(void)
길이를 반환한다. 04 {
printf("%d", strlen("abcde"));
05 int i;
문장을 실행하면 5를 출력한다.
06 int isUpper, isLower, isDigit;
07 char mypasswd[20];
08 while (true) {
09 printf("사용할 암호를 넣으세요: ");
10 scanf("%s", mypasswd);
11 isUpper = isLower = isDigit = 0;
12 for (i = 0; i < strlen(mypasswd); i++) {
13 if (mypasswd[i] >= '0' && mypasswd[i] <= '9')
14 isDigit++;
15 else if (mypasswd[i] >= 'A' && mypasswd[i] <= 'Z')
16 isUpper++;
17 else if (mypasswd[i] >= 'a' && mypasswd[i] <= 'z')
18 isLower++;
19 }
20 if ((i >= 6) && (isDigit >= 1) && (isUpper >= 1) &&
(isLower >= 1)) {
21 printf("암호로 사용 가능합니다. \n");
22 break;
23 }
24 else
25 printf("6문자 이상, 숫자, 대문자, 소문자가 각 1개 이상 있어야 합니다.\n");
26 }
27 return 0;
28 }


실행 결과


사용할 암호를 넣으세요: Qwerty1!
암호로 사용 가능합니다.




150 Ⅱ. C 프로그래밍의 기초





(책)2015프로그래밍-교과서3차심의본 본문.indb 150 2017-09-05 오후 4:16:33
   147   148   149   150   151   152   153   154   155   156   157