/**************************************************************/
/* */
/* 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