有100名学生和7名科目。如何计算每个学生的平均值。当在选择屏幕中选择学生ID时,它应显示该特定学生的平均值。
源代码
类型: test_1分类表ztest_03 使用独特的默认密钥。
DATA: it_test TYPE test_1, wa_test像IT_TEST一样, 总计(3)TYPE n, 平均(2)TYPE n。
选择-OPTIONS: wa_test-studentid的std_id。 参数: test_id TYPE ztest_03-test。
START-OF-SELECTION。
SELECT * 来自ztest_03 INTO相应的表格it_test WHERE test = test_id 和std_id中的studentid。
如果sy-subrc<> 0。 消息A123(Z455)。 ENDIF。
END-OF-SELECTION。
在it_test IN_ wa_test上循环。
wa_test痕。 total = total + wa_test-marks。
在END OF studentid。 IF TEST_ID =' FINALS'。 写:/'测试最终学生ID的详细信息:' ,WA_TEST-STUDENTID。 其他。 WRITE:/'测试CYCLE TEST学生ID的详细信息:',WA_TEST-STUDENTID。 万一。 平均=总数/ 7。 U电源。 WRITE:/ WA_TEST-STUDENTID,'平均%:',平均值。 如果平均Le 50。 写:/' E级'。 ULINE。 ELSEif平均值为60。 写:/' D级'。 ULINE。 ELSEIF平均值为70。 写:/' C级'。 ULINE。 ELSEIF平均值为80。 写:/' B'。 ULINE。 ELSEIF平均值为90。 写:/' A级'。 ULINE。 ELSEIF平均值为100。 写:/'等级O'。 ULINE。 万一。 ENDAT。 ENDLOOP。