PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2007/11/20 18:01:33
Name Linkin
Subject 고수님들 부탁드립니다. c++질문
불쌍한 중생 구제해주신다 생각하시고 도와주세요ㅠㅠ

문제) scanf 함수로 입력 받은 키보드의 입력을 받아 어떤 함수에 입력하여 숫자열일 경우 계속 반복하게 하고 문자열

일 경우 숫자 값으로 변환하여 변수에 저장하는 프로그램을 작성하여라. 문자열을 숫자로 변환하는 함수는 atof()함수를 이용한다.

결과 예)

입력 : 1245
>>숫자열입니다.
입력 : 123.a3
>>문자열입니다. 내용은 num에 저장됩니다.

일단 제가 어설프게 짜봤는데요.

#include <stdio.h>

int keycheck(char a){
if(a>=48&&a<=57)return 1;
else return 0;
}

void main()
{
char ch;
int num;
do{
  fflush(stdin);
  printf("입력:\n");
  scanf("%c",&ch);
  if(keycheck(ch)) printf(">>숫자열입니다.\n");
  else printf(">>문자열입니다.내용은 num에 저장됩니다.\n");
}while(keycheck(ch));
}
문자와 숫자가 아니라 문자열,숫자열로 바꿔야할거 같구요. 문자열을 숫자로 변환하여 num에 저장하는 방법을 모르겠네요.
고수님들 부탁드립니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
꿀호떡a
07/11/20 19:32
수정 아이콘
#include <stdio.h>
#include <stdlib.h> //atof
#include <string.h> //strlen
#include <ctype.h> //isdigit
#define MAX_LEN 100
bool keycheck(char *a)

int len=strlen(a), i;
for(i=0;i<len;i++){
if(!isdigit(a[i])) return false;

return true;
}

void main()

char ch[MAX_LEN+1];
double num;
do{
fflush(stdin);
printf("입력:\n");
scanf("%s",ch);

if(keycheck(ch)){
printf(">>숫자열입니다.\n");

else

num=atof(ch);
printf(">>문자열입니다.내용은 num에 저장됩니다.\nnum=%lf\n",num);

}
while(keycheck(ch));
return;
}


음..될까요? :)
isdigit는 해당 char 하나가 숫자이면 1, 아니면 0을 반환해줍니다. 본문의 keycheck 함수와 같은 기능이에요.
strlen은 문자열 길이를 반환해주고요
atof는 Ascii to Float이니까, char *을 인자로 받아서 double형으로 결과값을 반환해줍니다.

음.. 댓글창은 탭이 안먹히네요
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
31469 경제 공부하시는 분들께 질문이... [5] 간지나는거1729 07/11/21 1729
31468 죄송합니다만, 영작좀 부탁드립니다.. 급하네요 [1] Subip1522 07/11/21 1522
31467 충북 청주에서 디지털 캠코더 대여해주는곳 아시는분 계신가요?? 이웅익3129 07/11/21 3129
31466 괜찮은핸드폰좀 추천해주세요 [5] cjswosla1676 07/11/20 1676
31465 컴퓨터 포맷을 해보려고 합니다. 포맷방법좀 알려주세요~ [1] Torres1770 07/11/20 1770
31464 mp3 usb 충전방법말고.. [4] 디질래 랜드2208 07/11/20 2208
31463 브레인 래더 어떠케 하는거죠?? [1] 하늘은하늘색1993 07/11/20 1993
31462 운전면허 질문입니다.. [3] 새벽녘1687 07/11/20 1687
31461 가발을 구해야되는데요. 나백수..1945 07/11/20 1945
31460 주종을 저그로 전향했는데 무엇부터 해야하나요? [9] SUN1722 07/11/20 1722
31459 온게임넷과 같은 방송사에 들어가려면 [5] 쮋!2244 07/11/20 2244
31458 밤 10시이후 PC방 출입에 대해 질문이요..^^;; [6] 우리는-ing3032 07/11/20 3032
31457 아이콘 크기가 자꾸 변하네요. 유희열다나1700 07/11/20 1700
31456 키 크고 마른 사람을 위한 온라인 쇼핑몰_? 소유2141 07/11/20 2141
31455 APM에서 Null ... [2] Mitsubishi_Lancer1919 07/11/20 1919
31454 스타 실력좀 평가바랍니다. [1] StarT1606 07/11/20 1606
31452 고수님들 부탁드립니다. c++질문 [1] Linkin1648 07/11/20 1648
31451 워크 급질문입니다. [2] Daylight1635 07/11/20 1635
31450 저가 컴퓨터 조립 질문 드립니다. [3] only-6dron-rush1611 07/11/20 1611
31449 트래픽 분석 프로그램 지바고2118 07/11/20 2118
31448 한문 두 구절 급질문 입니다. 아소심행1699 07/11/20 1699
31447 선거알바에 관해 질문드려요. [1] non-frics2155 07/11/20 2155
31445 배틀넷에서도 인맥이 필요한가요? [2] FreeDom....2088 07/11/20 2088
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로