//객체 1번 2012.05.11
//200911636 박정욱
#include<iostream>
#include<iomanip>
using namespace std;
//열거체 Natioans 0 1 2 3 4 5 6 7 8 9 열거체 요소들의 갯수(10)
enum Nations {SOUTH_KOREA, USA, JAPAN, CHINA, NORTH_KOREA, AUSTRELLIA, TIWAN, DENMARK, AFRICA, MEXICO, NUMBERS_OF_NATIONS};
void Nation_List(); //국가와 코드 목록을 보여준다
int Nation_Like(); //입력받은 코드값을 리턴한다.
void cout_Nation(int Nation_Like_code); //입력받은 코드의 원소(국가) 이름을 알려준다
//맞지 않는 코드일경우 코드목록을 다시 보여주고 종료한다.
void main()
{
int Nation_Like_code; //Nation_Like에서 리턴하는 코드값을 저장 시킬 변수
cout << "좋아하는 Nation의 코드를 입력하시오." <<endl;
Nation_List(); //Nation_List함수 호출; 1.국가 목록 표시
Nation_Like_code = Nation_Like(); //Nation_Like함수 호출, 리턴값->Nation_Like_code대입; 2.코드 입력
cout_Nation(Nation_Like_code); //cout_Nation함수 호출; 3.입력받은 코드에 맞는 국가명 출력
}
void Nation_List()//국가 목록.
{
cout <<"SOUTH_KOREA = " << SOUTH_KOREA << endl
<<"USA = " << USA << endl
<<"JAPAN = " << JAPAN << endl
<<"CHINA = " << CHINA << endl
<<"NORTH_KOREA = " << NORTH_KOREA << endl
<<"AUSTRELLIA = " << AUSTRELLIA << endl
<<"TIWAN = " << TIWAN << endl
<<"DENMARK = " << DENMARK << endl
<<"AFRICA = " << AFRICA << endl
<<"MEXICO = " << MEXICO << endl;
}
int Nation_Like()//입력받은 값을 리턴한다.
{
int Nation_Like_code;
cin >> Nation_Like_code;
return Nation_Like_code;
}
void cout_Nation(int Nation_Like_code)//함수 매개체 Nation_Like_code를 switch문으로 조사하여 국가이름을 보여준다.
{ //국가 코드가 아닐경우(0~9가 아닐경우) 국가 목록을 보여주고 종료.
switch(Nation_Like_code)
{
case SOUTH_KOREA : cout << "SOUTH_KOREA 를 좋아합니다." << endl; break;
case USA : cout << "USA 를 좋아합니다." << endl; break;
case JAPAN : cout << "JAPAN 를 좋아합니다." << endl; break;
case CHINA : cout << "CHINA 를 좋아합니다." << endl; break;
case NORTH_KOREA : cout << "NORTH_KOREA 를 좋아합니다." << endl; break;
case AUSTRELLIA : cout << "AUSTRELLIA 를 좋아합니다." << endl; break;
case TIWAN : cout << "TIWAN 를 좋아합니다." << endl; break;
case DENMARK : cout << "DENMARK 를 좋아합니다." << endl; break;
case AFRICA : cout << "AFRICA 를 좋아합니다." << endl; break;
case MEXICO : cout << "MEXICO 를 좋아합니다." << endl; break;
default : cout << "Nation Code를 확인하세요." << endl; Nation_List(); break;
}
}