KOREA University/C++2008. 9. 19. 14:55
#include <iostream>
using namespace std;
int main()
{
 char no;
 for(;;)
 {

  cout << "      ━━━━━━\n";
  cout << "        뮤직차트\n";
  cout << "      ━━━━━━\n";
  cout << " ━━━━━━━━━━━━━\n";
  cout << "   1위. 서태지 - 난 알아요\n";
  cout << "   2위. 쿨 - 해변의 여인\n";
  cout << "   3위. 박효신 - 눈의 꽃\n";
  cout << "   4위. 이효리 - 유고걸\n";
  cout << "   5위. 빅뱅 - 하루하루\n";
  cout << " ━━━━━━━━━━━━━\n\n";
  cout << " 순위를 입력하시면 해당 정보를 볼 수 있습니다.\n";
  cout << " ('q'를 누르면 종료됩니다.)\n\n";
 

  cout << " 순위를 입력하세요 : ";
  cin >> no;
  switch(no)
  {
   case '1' :
    cout << "  1위. 서태지 - 난 알아요\n";
    cout << " ㆍ가수 : 서태지\n";
    cout << " ㆍ작곡 : 서태지\n";
    cout << " ㆍ작사 : 서태지\n"; break;
   case '2' :
    cout << "  2위. 쿨 - 해변의 여인\n";
    cout << " ㆍ가수 : 쿨\n";
    cout << " ㆍ작곡 : 이재훈\n";
    cout << " ㆍ작사 : 김성수\n"; break;
   case '3' :
    cout << "  3위. 박효신 - 눈의 꽃\n";
    cout << " ㆍ가수 : 박효신\n";
    cout << " ㆍ작곡 : 외국곡\n";
    cout << " ㆍ작사 : 박효신\n"; break;
   case '4' :
    cout << "  4위. 이효리 - 유고걸\n";
    cout << " ㆍ가수 : 이효리\n";
    cout << " ㆍ작곡 : 옥주현\n";
    cout << " ㆍ작사 : 옥주현\n"; break;
   case '5' :
    cout << "  5위. 빅뱅 - 하루하루\n";
    cout << " ㆍ가수 : 빅뱅\n";
    cout << " ㆍ작곡 : 양현석\n";
    cout << " ㆍ작사 : 양현석\n"; break;
   case 'q': goto stop; // 여기가 포인트
   default :
    cout << " ***잘못입력하셨습니다. 1부터 5까지 중에서 선택하세요.\n";
  }
 }
 stop: cout << "종료되었습니다.\n"; // 이렇게 써먹는다
 return 0;
}


인덱스에서 해당 번호를 입력하면 번호에 대한 정보가 나오게 하는 소스다.
정상적인 이론에 의하면 for문을 여러번 써서 쪼끔(?) 복잡해지게 되는데
단 1번의 for문을 이용해서 강제종료 시킬 수 있다.

바로 goto 를 쓰면 된다. 이거 존나 유용하다.
Posted by 정훈승