/**************************************************************/ /* */ /* MARKCALC - This program prompts user for marks and */ /* calculates a student's final grade */ /* */ /* Author: Cindy Laurin-Moogk */ /* Date: FEB 20, 2000 */ /* REVISED BY DEB MENKEN, WINTER 2002 */ /* REVISED BY TIM MCKENNA, FALL 2002 */ /**************************************************************/ PGM /* Field and File Declaration Section */ DCLF FILE(MARKSDF) /* display file object -- the interactive screen */ /* Start of iteration (Processing Loop) */ SNDRCVF /* Program displays screen and */ /* waits for user input using */ /* SeND ReCeiVe File command */ /* REPEAT THIS LOOP IF THE USER DID NOT PRESS F3 TO EXIT */ DOWHILE COND(*NOT &IN03) /* reset calculated fields to neutral values */ CHGVAR VAR(&LETTER) VALUE(' ') /* letter grade */ /* calc sum of marks */ CHGVAR VAR(&SUM) VALUE(&ASSIGN1 + &ASSIGN2 + + &ASSIGN3 + &TEST1 + &TEST2 + &LABS + &EXAM) /* positional notation */ SELECT WHEN (&SUM *GE 90) CHGVAR &LETTER 'A+' WHEN (&SUM *GE 80) CHGVAR &LETTER 'A+' WHEN (&SUM *GE 80) CHGVAR &LETTER 'A' WHEN (&SUM *GE 75) CHGVAR &LETTER 'B+' WHEN (&SUM *GE 70) CHGVAR &LETTER 'B' WHEN (&SUM *GE 65) CHGVAR &LETTER 'C+' WHEN (&SUM *GE 60) CHGVAR &LETTER 'C' WHEN (&SUM *GE 55) CHGVAR &LETTER 'D' OTHERWISE CHGVAR &LETTER 'F' ENDSELECT /* redisplay screen to user with Sum and Grade results */ SNDRCVF /* SeND ReCeiVe File command */ ENDDO /* end of DoWhile not F3 */ /* End of iteration (processing loop) */ ENDPGM: ENDPGM