|
switch 문은 단순 상수와의 비교외에는 쓸수 없습니다.
그러므로 아래 같은 경우는 아래같이 if 문으로 계속 비교하던지 테이블을 만들어 루프를 돌면서 비교하던지 해야 합니다.
굳이 쓰고 싶으면 m_cScale에서 받은 문자 하나를 char 형 변수에 옮긴뒤 switch 문을 쓰면 됩니다.
방법은 연구해 보세요...
그럼..
쥬신 님이 쓰신 글 :
: void __fastcall TForm1::Button15Click(TObject *Sender)
: {
: if( m_cScale.AnsiCompare( "+" ) == 0 )
: {
: Label1->Caption = IntToStr( m_iStar1 + Label1->Caption.ToInt() );
: }
: if( m_cScale.AnsiCompare( "-" ) == 0 )
: {
: Label1->Caption = IntToStr( m_iStar2 - Label1->Caption.ToInt() );
: }
: if( m_cScale.AnsiCompare( "*" ) == 0 )
: {
: Label1->Caption = IntToStr( m_iStar3 * Label1->Caption.ToInt() );
: }
: if( m_cScale.AnsiCompare( "/" ) == 0 )
: {
: Label1->Caption = IntToStr( m_iStar4 / Label1->Caption.ToInt() );
: }
: }
:
: 책에서 보니까 if문이 많이 나오는 것은 which문으로 간단하게 만들수 있다고 나와 있습니다. ...혹시 고칠수 있는지
: 알고 싶습니다. .....그리고 클리어 사용방법을 알고 싶습니다. 가단한 예제를 올려주시던지 어떻게 사용하는 건지 말로
: 남겨 주셨으면 고맙겠습니다.
|