invalid operands to binary expression ("string'{aka 'basic_string<char,char_traits<char>,allocator<char> >') and 'int')
yet, you say:
I do not know why
Should you rather say:
"I do not understand what invalid operands to binary expression ('string' and 'int') means."
What is this "binary expression"? The user1 >= 100
There is operator >= that takes twooperands. That is why it is called binary.
The operands are the user1 and the 100.
The user1 is a string. The 100 is an int.
How are you supposed to compare a number and a piece of text? The compiler does not know. It needs instructions from you.
You do ask for "age" that is intuitively a numeric value (integer), but you you read and store everything that the user writes in one line as a text object.
I could write "fortytwo and some" as the 'age' of a user and your program would be ok with that (but comparisons could yield odd outcome (for example, "fortytwo and some" < "two").
Store ages as integers.
The logic of your if..else needs more thinking. For example, you don't implement the