I'm supposed to write a small code that generates a random number between 2 and 100 and then checks if its a perfect number. I don't get any bugs from the compiler but the output doesn't show my cout lines like " x is a perfect number". Can someone help me with finding the reason?
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
bool PerfectCheck(int x) {
    int t; // divisor
    int sum; //  sum of divisors
    for (t = 0; t <= x; t++ ) {
        if (x%t == 0) {
            sum = sum + t;
        }
    }
    if (sum == x)
        return true;
    else
        return false;
}
int main() {
    srand(time(NULL));
    int x = rand()%(100-2+1)+2;
    if (PerfectCheck(x) == true )
        cout << x << "is a perfect number.";
    else
        cout << x << "is not a perfect number.";
    return 0;
}
 
     
    