/**********************************************************************/
/* Matric Number: U061234A and U069876B                               */
/* Userid: u0601234 and u0609876                                      */
/* (For those doing pair programming, only ONE of you should submit   */
/*  your program. The other student should NOT submit.)               */
/* Lab: 2                                                             */
/* Lab Group Number: 99                                               */
/* Lab TA's Name: Who needs a lab TA when you're Bill Gates?          */
/* Lab Session Date: 28 February 2007                                 */
/* Lab Session Time: 1000 - 1145                                      */
/* Title: Triangular numbers.                                         */
/* Purpose: Finding triangular numbers.                               */
/**********************************************************************/

#include <stdio.h>

int main(void)
{
    /* Variable declaration. */
    int input, low, high, increment;
    int num_tri=0, num_non_tri=0;

    do {
        /* Get user input. */
        printf("Enter an integer (1 - 2000000000, 0 to quit): ");
        scanf("%i", &input);

        if (input > 0) {
            /* Compute result. */
            low = 0;
            high = increment = 1;
            while (input > high) {
                low = high;
                high += ++increment;
            }

            /* Print result. */
            if (input == high) {
                printf("%i is a triangular number.\n", input);
                num_tri++;
            } else {
                printf("%i is between triangular numbers %i and %i.\n",
                       input, low, high);
                num_non_tri++;
            }
            printf("\n");
        } else {
            printf("Number of integers entered: %i\n",
                   num_tri + num_non_tri);
            printf("Triangular numbers: %i\n", num_tri);
            printf("Non-triangular numbers: %i\n", num_non_tri);
            printf("Thank you for using my program. Goodbye!\n\n");
        }
    } while (input > 0);

    return 0;
}
