ㅁㅇㄹ

EOF가 입력될 때까지 입력 스트림으로부터 문자를 입력 받아 대문자는 소문자로 소문자는 대문자로 변환하여 (기타 문자는 그대로) 출력하는 프로그램을 작성하시오.


라는 문제인데 내가 짠 코드로는 EOF가 입력될때까지가 아니라 그냥 엔터만 치면 결과가 바로 떠 ㅠㅜ


도대체 어떻게 고쳐야되? 예를 들어서 위에 THIS is a test 하고 엔터만 치면 바로 밑에 대문자는 소문자로, 소문자는 대문자로 변환된 결과가 뜸


위에 예처럼 다 치고 EOF 입력을 해야 전체 결과가 뜨는게 아니라 ㅠㅜ



밑에 내 소스인데 좀 봐줘 부탁해 ㅠㅜ


#include<stdio.h>
#include<ctype.h>
int main()
{

 int c;

 while((c=getchar())!=EOF)
 {
  if(!isupper(c))
   c=toupper(c);
  else
   c=tolower(c);
  putchar(c);
 }

 return 0;
}