第35講 10進数をn進数に翻訳する△ 
第5話 35進数まで翻訳できるようにn進数翻訳ソフトを改良する

コード例
#pragma endregion
  private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
           int a,n;
           a=int::Parse(textBox1->Text);
           n=int::Parse(textBox2->Text);
           textBox3->Text=f(a,n);
        }

        String^ f(int a,int n){
           int r;
           String^ w=L"";
           r=a%n;
           String^ v;
           r=a%n;
           if(r==10)v=L"A";
           if(r==11)v=L"B";
           if(r==12)v=L"C";
           if(r==13)v=L"D";
           if(r==14)v=L"E";
           if(r==15)v=L"F";
           if(r==16)v=L"G";
           if(r==17)v=L"H";
           if(r==18)v=L"I";
           if(r==19)v=L"J";
           if(r==20)v=L"K";
           if(r==21)v=L"L";
           if(r==22)v=L"M";
           if(r==23)v=L"N";
           if(r==24)v=L"O";
           if(r==25)v=L"P";
           if(r==26)v=L"Q";
           if(r==27)v=L"R";
           if(r==28)v=L"S";
           if(r==29)v=L"T";
           if(r==30)v=L"U";
           if(r==31)v=L"W";
           if(r==32)v=L"V";
           if(r==33)v=L"X";
           if(r==34)v=L"Y";
           if(r==35)v=L"Z";
           if(r<10)v=r.ToString();
           a=a/n;
           if(a>0){
             w+=f(a,n);
           }
           else{
             return(v);
           }
           return(w+=v);
        }
};
}
実行例
c++入門

           if(r==10)v=L"A";
           if(r==11)v=L"B";
           if(r==12)v=L"C";
           if(r==13)v=L"D";
               ・
               ・
は少し芸がありませんね。
皆さんは、ポインタなど使ってもう少しエレガントなものを考えてください。

では、本講最後の課題です。
Form1を大きくして、n進数を逆に10進数に翻訳できるように変更してください。
ただし、あまり複雑にならないようにこちらの場合のnは9以下としましょう。



第4話へ 第6話へ


戻る

VC++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)