表駆動の認識と使い方——オリジナル---非抄本


テーブルドライバは何ですか.複雑な論理構造(if...else......,switchなど)の代わりにデータテーブルを検索します.
表駆動の利点は:1、プログラミングの重心を複雑な論理判断ではなく問題解決に調整することである.2、プログラムの柔軟性を増やし、追加しやすく、修正しやすい.3、データドライバ、もしデータをファイルに書き込んで、起動するたびに、ファイルから読み取るならば、もしいくつかの変数を修正するならば、直接データファイルを修正することができて、プログラムの構造を修正するのではありません;
表駆動の3つの方法:1、直接駆動法:何を探して、インデックスを指定して、すぐにインデックスの表の中で対応する要素あるいは動作を返すことができます;
                                                 1:(    :        if    switch  ):
                                                     1--12        ,  :
                                               month_day[12] = {31,30,29,30,30,31,31,31,30,30,31,30};
                                               return month_day[5];
                                                        5    ;
                                                                                 ;

                                                 2:(    :          ,    if     switch           )

                                                        ,        ,    ,                    ,  ,    
                                                                  if   ;

                                                 int entrance_ticket_fee[][][] = 
                                                 {      { {0,10} , {0,15} }, { {0,15},{15,30} }      }
                                                         ,              ,
                                                        ,   0   ,1    ;
                                                           ,   0   ,   1     ;
                                                           ,    0    ,    1    ;
                                                             :
                                                   ,  ,    0 
                                                    ,  ,   10 ;
                                                   ,    ,   0  ;
                                                   ,    ,   15 ;

                                                   ,  ,   0 ;
                                                   ,  ,  ,15 ;
                                                   ,   ,   15 ;
                                                   ,   ,  ,30 ;

                                                       ,     ,    ,       ;
                                                 return entrance_ticket_fee[0][1][1]                   //15 ;

                            2、     :
                                                    ,    ,       ,        ,18    60                 ,  19 -- 59  
                                                  ,        ,  ,           ,  0--18      60    ,       ,       
                                                       ,        ,           ;
                                                                   ;

                           3、     :
                                                 ,       ,         ,     ,        :
                                                    100 - 90 : A
                                                    89  - 80  : B
                                                    79 -- 60  : C
                                                    59 -- 0    : D
                                                  ,        ,        。

                                                            (   )          (    )    ,        ,           。