입력받은 문자열에서 오류 찾기
반월
문자열에 한글, 영어(대소문자) 두종류만 입력 받을수 있게 하는겁니다.질문 내용 :
#define max_name 10;
typedef struct
{
int num;
char name[max_name];
int kor;
int eng;
int math;
int sum;
float avg;
int rank;
}student;
이렇게 구조체선언을 했습니다.
//밑은 이름 받는 함수 일부분
void input_name(student *p)
{
printf(이름 :);
scanf(%s,p-name);
//p-name에 저장된 문자열에서 숫자, 공백, 특수문자 등이 들어가있을 경우 다시 이름을 받게하는 것을 만들려고합니다.
fflush(stdin);
}
정말 어떻게해야 될지 난감하네요... 도와주세요~
-
2gether
수다님 그런데 isalpha는 영문만 인식되는거 아닌가요?
-
파랑새
for( i = strlen(p-name) ; i-- ; )
if( !isalpha(p-name[i]) ) {
puts(\한글, 영문자만 입력하세요~\) ;
break ;
} -
샤이
isalpha
int isalpha(int c);
The function returns nonzero if c is any of:
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
or any other locale-specific alphabetic character. -
그녀는귀여웠다
ctype.h
isalpha() 함수를 이용하면... -
예다움
그럼 input_name 함수에서 이름을 p-name 이렇게 받고있는데 이건 어떻게 하나하나 비교하나요??
-
유메
네. 맞습니다. 문자열의 길이만큼 반복하면서 비교를 해야겠죠.
-
흰양말
음 그럼 비교할때는 아스키 코드로 비교해줘야하나요??
-
희미해
지금처럼 문자열로 일단 받고
받은 후에 직접 검사를 해서 처리를 해야 됩니다.
얼마나 길어지는지는 직접 만들어 본 다음에 걱정하십시오.
설마 이름 입력을 처리하는 데에 몇십줄이 필요하진 않을 겁니다. -
철죽
그럼 소스가 좀 많이 길어 지지 않을까요?
-
총알탄
if문으로 공백이나 숫자, 특수문자의 아스키코드를 알아서 조건 검사를 해준다거나..
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692424 | 2차원배열 자료입력질문이요! (1) | 똘끼 | 2025-04-22 |
2692401 | 유닉스안에서 C언어를 이용한 명함 만들기 입니다; 이해안가는 부분이있네요 | 2gether | 2025-04-22 |
2692374 | 고수님들 댓글 마니부탁해요!!! (2) | 엄지 | 2025-04-22 |
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |