94400d50d4
作为子目录纳入系统,与核心测试管道协同 Co-Authored-By: Claude <noreply@anthropic.com>
1.1 KiB
1.1 KiB
05-branch-if — IF Branch Program
电信业务场景
料金阶梯判定。根据通话时长进行IF条件分支,将用量分为低额/中额/高额三个料金段,分别写入不同输出文件。
Demonstrates GnuCOBOL IF branching patterns:
- IF 2-way (ELSE): Test DATA1 prefix for "SPECIAL"
- IF 3-way (ELSE IF): Branch DATA2 value to three output files
- Compound AND/OR: Combine multiple conditions in one IF
- 88-level condition name: Implicit condition test on KEY field
- IF nested 3 levels: Nested IF checks on DATA2 and KEY
Files
| File | Purpose |
|---|---|
main-05-branch-if.cbl |
COBOL program (fixed format) |
data-gen.sh |
Generate 12-records FILE-IN.DAT |
run.sh |
Compile, run, verify outputs |
Input Record
| Field | Type | Length |
|---|---|---|
| KEY | PIC X | 10 |
| DATA1 | PIC X | 20 |
| DATA2 | PIC 9 | 10 |
Branch Logic
| Condition | Output File |
|---|---|
| DATA2 < 1000 | FILE-OUT-A.DAT |
| DATA2 >= 1000 AND <= 5000 | FILE-OUT-B.DAT |
| DATA2 > 5000 | FILE-OUT-C.DAT |