< previous page page_484 next page >

Page 484
//  Precondition:
//      All parameters are assigned
// Postcondition:
//      upperCount == upperCount@entry + 1, if ch == A  Z
// &&  lowerCount == lowerCount@entry +1, if ch == a  z
// && digitCount == digitCount@entry + 1, if ch == 0  9
// && blankCount == blankCount@entry + 1, if ch ==  
// && puncCount  == puncCount@entry + 1,  if ch == .  or  ?
//                                                       or  !
// && leftOverCount == leftOverCount@entry + 1, otherwise

{
    if (isupper(ch))
        upperCount++;
    else if (islower(ch))
        lowerCount++;
    else if (isdigit(ch))
        digitCount++;
    else
        switch (ch)
        {
            case  : blankCount++;
                     break;
            case .:
            case ?:
            case !: puncCount++;
                      break;
            default:  leftOverCount++;
                      break;             // Unnecessary here, but OK
        }
}

//******************************************************************

void CalculateAndPrint( /* in */ int upperCount,        // Counter
                        /* in */ int lowerCount,        // Counter
                        /* in */ int digitCount,        // Counter
                        /* in */ int blankCount,        // Counter
                        /* in */ int puncCount,         // Counter
                        /* in */ int leftOverCount )    // Counter
// Calculates the total number of characters and prints the
// percentage for each category of characters (except leftOverCount)

 
< previous page page_484 next page >