No.44 |
プログラムを短くしたい。 |
質問者 罍 昭夫 | 1996年12月 179号 P.38 |
下記のプログラムのV"の条件が変わるごとに$区分1〜5にGOTOして、さらにGOTOで$区分表示に飛びます。
プログラムを短くしたいのですが、良い方法を教えて下さい。
1<TEST>
2$質問: LET Z1=1;
3 DISP [01,21],SP80;CLEAR V24;
4 DISP [01,22],SP80;
5 DISP [01,22],"NOで訂正[1-12] [RETURN]=次の修正 [ESC]=前の質問";
6
7 INPUT [65,22],V24,COLOR(Y),U(XX/AS);
8 IF ERR(0)=55 THEN RETURN;
9 IF V24="" THEN GOTO $次の修正;
10 IF 1<=VAL(V24) AND VAL(V24)<=12 THEN GOTO $%V24;
11 IF VAL(V24)<1 0R VAL(V24)>12 THEN GOTO $もう一度;
12$もう一度:BELL;GOTO $質問;DISP [01,22],SP80;
13
14
15$3: LET V2=[4,@ク];
16 INPUT [53,03],V2,U(%(StrING$(78,01))/AS/RY/P//CY);
17 IF V2="" THEN GOTO $3;
18 IF V2="1" THEN GOTO $区分1;
19 IF V2="2" THEN GOTI $区分2;
20 IF V2="3" THEN GOTI $区分3;
21 IF V2="4" THEN GOTI $区分4;
22 IF V2="5" THEN GOTI $区分5;
23 IF VAL(V2)<1 OR VAL(V2)>5 THEN GOTO $3;
24
25$区分1:LET V2="1";LET V3="新規";GOTO $区分表示;
26$区分2:LET V2="2";LET V3="継続";GOTO $区分表示;
27$区分3:LET V2="3";LET V3="脱退";GOTO $区分表示;
28$区分4:LET V2="4";LET V3="途中";GOTO $区分表示;
29$区分5:LET V2="5";LET V3="年頭";GOTO $区分表示;
30
31$区分表示:DISP [55,03],COLOR(Y),V3,U(%(StrING$(60,04)));DISP COLOR(W);
32 LET [4,@ク]=V2;LET [4,@区分]=V3;
33 IF Z1=1 THEN GOTO $質問 ELSE GOTO $4;
|
|
|