I know the answer to this is out there but I'd rather get hints to help me go in the right direction as opposed to just seeing the correct code, I think it will help me learn more. So please don't just give me the answer, if that's possible. I'm very new to C++ so please bear with me.
Using "std_lib_facilities2.h" because I'm working from Stroustrup's book which requires that header (don't ask about the 2).
Here is the problem I'm working on:
Define two variables to keep track of which is the smallest and which is the largest value you have seen so far. Each time through the loop write out the value entered. If itâ€™s the smallest so far, write the smallest so far after the number. If it is the largest so far, write the largest so far after the number.
My problem is that I can't seem to figure out how to initialize the variables to keep track of the smallest and largest numbers. Initializing "smallestNum" with "0" makes it so that in order to output " __ is the smallest number so far" the number must be in the negatives. I have tried initializing the smallest/largest variables to the userInt as well (which seems silly) and that didn't work either.
Currently I'm just focusing on getting the smallestNum variable to work and then I'll figure out the rest from there. (Sorry if this is like the worst written code you've ever seen...)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

#include "std_lib_facilities2.h"
int main(){
cout << "Enter one number:" << endl;
double userInt = 0.0;
while (cin >> userInt){
cout << "You entered " << userInt << endl;
double smallestNum = 0.0;
double largestNum = userInt;
if (userInt < smallestNum){
smallestNum = userInt;
cout << smallestNum << " is the smallest number seen so far!" << endl;
}
else if (userInt > largestNum){
largestNum = userInt;
cout << largestNum << "is the largest number seen so far!" << endl;
}
else{
cout << "Not working." << endl;
}
}
}
 