아래와 같이 나라 이름을 출력하고 숫자를 입력받아 해당하는 나라의 수도를 출력하는 작업을 반복하다가 해당하는 번호 이외의 숫자가 입력되면 "해당하는 나라가 없습니다."라고 출력한 후 종료하는 프로그램을 작성하시오.
* 각 나라의 수도 : 대한민국 - 서울, 미국 - 워싱턴, 일본 - 동경, 중국 - 북경
* 입출력시 모양은 "입출력예"와 같이 하시오.
이문제인데요 제가 switch문으로 해결할수있을거같아서
#include<stdio.h>
int main(int)
{
int a=0;
do{
printf("1.대한민국\n");
printf("2.미국\n");
printf("3.일본\n");
printf("4.중국\n");
printf("수도를 알고 싶은 나라는 몇 번입니까?\n");
scanf("%d",&a);
switch(a)
{
case 1:
printf("서울\n");break;
case 2:
printf("워싱턴\n");break;
case 3:
printf("도쿄\n");break;
case 4:
printf("북경\n");break;
}
if(a>5)
{
printf("해당 나라가 없습니다\n");
break;
}
}while(1);
이렇게 해봣는데 이게 처음 코드는 아니고 switch문 안에 default값을 넣어줘서 1~4번이 아니면 break하라는 값을 넣어서 햇는데
5번을 치고 끝날줄알앗는데 계속 문제가 도돌림표가 되어서 if문으로 끝나게 해봣는데 저러네요 처음에는 while문만 썻다가
do~while문으로 해봣는데
1>c:\users\administrator\documents\visual studio 2010\projects\dfaf\dfaf\dfsafd.cpp(32): fatal error C1075: 왼쪽 중괄호 '{'(위치: 'c:\users\administrator\documents\visual studio 2010\projects\dfaf\dfaf\dfsafd.cpp(3)')이(가) 짝이 되기 전에 파일의 끝이 나타났습니다.
========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ==========
이런 문제때문에 안되네요 ㅠㅠ 아 물론 if문으로는
#include<stdio.h>
int main(int)
{
int a=0,b=0;
while(1)
{
printf("1.대한민국\n");
printf("2.미국\n");
printf("3.일본\n");
printf("4.중국\n");
printf("수도를 알고 싶은 나라는 몇 번입니까?\n");
scanf("%d",&a);
if(a==1)
{
printf("서울\n");
}
else if(a==2)
{
printf("워싱턴\n");
}
else if(a==3)
{
printf("도쿄\n");
}
else if(a==4)
{
printf("북경\n");
}
else
{
break;
}
}
}
이렇게 깔끔하게 됩니다 ㅠㅠ