제가 계절을 선택하고, 해당 계절이 몇월부터 몇월 사이인지 맞추는걸 만들고 있는데요.
if문이 햇갈립니다.
#include <iostream>
#include <string>
using namespace std;
int main()
{
int spring;
int summer;
int autumn;
int winter;
int num;
cout << "해당 계절이 몇월인지 맞춰보자\n";
cout << "원하는 계절을 선택하시오.\n";
cout << "1.봄\n";
cout << "2.여름\n";
cout << "3.가을\n";
cout << "4.겨울\n";
cin >> num;
if (num == 1)
{
cout << "봄은 몇월일까?.\n";
cin >> spring;
if (2 < spring && spring < 6)
{
cout << spring << "월은 " << "봄이 맞습니다." << "\n";
}
else
{
cout << spring << "월은 " << "봄이 아닙니다." << "\n";
}
return 0;
}
}
저기서 보시면
if (2 < spring && spring < 6)
이 짓거리를 해야
3 ~ 5를 입력하면 참이고, 나머지는 거짓이 되는데
if ( 2 < spring < 6)
저렇게 해버리면 모든 숫자가 맞다고 떠버리는데
5를 쳤다면
2 < 5 < 6이 되서
참이 되고
6을 쳤다면
2< 6 < 6
거짓이 되야하는거 아닌가요?
<= 이것도 안넣었는데
제가 머리가 터질라고 그러는데 설명해주실분 계십니까
a < b < c 이런식으로 비교 못해요.
그럼 결국 if (2 < spring && spring < 6) 이렇게 해야하는건가요? 일단 다 완성은 복붙으로 해결했어요.
네 그렇게 해야해요.
spring이 6이면 2 < spring < 6 에서 2 < spring --> 1 1 < 6 --> 1 이렇게 되서 안되는걸루 아는데.. 맞는지 몰겟네
2 < 6 < 6을 계산하면 처음에 2 < 6에서 true = 1이 나오기 때문에 1 < 6이 됨. 그럼 참이지
5 < 3 < 1 이 따위로 써도 0 < 1이 돼서 true임
와 0 < 1 이건 생각도 못했네유 감사합니다.
질문게이 여러분 질문은 이렇게 하십시오 피드백 받아가면서
글삭만 안 하면 완벽
참고로 파이썬이라는 갓 언어는 1