IT/프로젝트 및 실습 컴퓨터 프로그래밍 설계 과제#4_HW02 리드론 2017. 12. 13. 21:58 #include <stdio.h> #include <stdlib.h> #include <string.h> int validation_former(char arr[], int a); int validation_latter(char arr[]); int main(void) { int chk_former = 1; int chk_latter = 1; int test_case = 0; scanf("%d", &test_case); fflush(stdin); for(int i=0; i<test_case ; i++) { chk_former = 1; chk_latter = 1; char email_string[30]; scanf("%s", email_string); int count = 0; //문자열의 길이 카운팅 while(1) { if(email_string[count] == '\0') { break; } count ++; } if(!(11<count && count<27)) { //문자열의 길이 체크 printf("이메일 아이디는 1글자 이상 15글자 이하입니다.\n"); continue; } chk_former = validation_former(email_string, count-11); // "@ajou.ac.kr"이 11글자 chk_latter = validation_latter(&email_string[count-11]); // "@ajou.ac.kr"이 11글자 if(chk_former==1 && chk_latter==1) { printf("Pass\n"); } else { /* if(chk_former==0){ printf("전자에서 잘못되었습니다.\n"); } else { printf("후자에서 잘못되었습니다.\n"); } */ printf("Return\n"); } //printf("문자열의 길이수 : %d \n", count); //printf("%s\n", email_string); } return 0; } int validation_former(char arr[], int a){ for(int i=0; i<a ; i++) { if( !((48<=(int)arr[i] && (int)arr[i]<=57) || (65<=(int)arr[i] && (int)arr[i]<=90) || (97<=(int)arr[i] && (int)arr[i]<=122)) ) { //printf("전자_잘못된 이메일 양식입니다.\n"); return 0; } //printf("%c", arr[i]); } return 1; } int validation_latter(char arr[]){ /* for(int i=0; i<11 ; i++) { printf("%c", arr[i]); } printf("\n"); */ if(arr[0]!='@'){ return 0; } if(!(arr[1]=='a' || arr[1]=='A')){ return 0; } if(!(arr[2]=='j' || arr[2]=='J')){ return 0; } if(!(arr[3]=='o' || arr[3]=='O')){ return 0; } if(!(arr[4]=='u' || arr[4]=='U')){ return 0; } if(arr[5]!='.'){ return 0; } if(!(arr[6]=='a' || arr[6]=='A')){ return 0; } if(!(arr[7]=='c' || arr[7]=='C')){ return 0; } if(arr[8]!='.'){ return 0; } if(!(arr[9]=='k' || arr[9]=='K')){ return 0; } if(!(arr[10]=='r' || arr[10]=='R')){ return 0; } return 1; } 저작자표시 변경금지