scanf 에서 입력을 1상수 또는 문자(연산기호음..예를들면 '+', '-', '*', '/')'을 입력하고 싶은데요 어찌할지 잘 모르겠습니다.
계산기인데 더하기를 표현하려면 상수를 입력해도 되고 %d이겠죠?
연산기호를 입력해도 되고 %c가 되겠죠? 근데 이 둘을 상수를 입력해도 되고 연산기호로 입력해도 되도록 하고 싶습니다.
조언부탁드립니다.
하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.
저는 몇번을 읽었지만 왜 질문이 이해가 안되는 걸까요? --;
이것저것 다 입력받으시려면, ASCII 코드로 구별을 하면 쉽습니다.
전부다 %c로 입력받고,
hex로 0x30 ~ 0x39 까지만 숫자이니, 나머지는 구별이 가능하겠죠?
도움이 되셨길 바랍니다.
윗분 말씀대로 이런 경우는 아스키코드를 사용합니다. 측 char로 모두 받아 숫자 범위 내에 있는 부분은 intager로 아닌 부분은 문자로 판별하여 구분할 수 있습니다.
scanf 말고 다른 함수를 쓰심은 어떤지???
계산기에는 scanf 함수가 별로 안어울것 같네요.
흠 좀 지난 글에 답글인데... 보실라나 몰 것지만..
이런 입력 형식의 계산기를 만들고 싶은거죠?
322-62 하면 바로 답 나오는
일단 입력 받으 실때 scanf(&su1, &sic, &su) 이런 식으로 받은다음에
스위치 문써서 sic에 대한 연산 하시면 될 듯 싶은데...
제가 이해를 정확히 한지는 몰 것네요....
scanf 문은 써본지 오래 되서 .. 정확히 기억이 안나네요.. 알아서 변경하심이..