I am trying to verify that the user only enters R , r , P , p , S , or s.
char choice = 0, R = 0, r = 0, P = 0, p = 0, S = 0, s = 0;
1 2 3 4 5 6
while((choice != R || choice != r) && (choice != P || choice != p) && (choice != S || choice != s))
{
cout << "!!INVALID INPUT!!" << endl;
cout << "You must enter R for rock, P for paper, S for scissors: ";
cin >> choice;
}
1.) choice is a character, so it will contain their choice in ascii and will compare in ascii. 0 is the ascii value '\0', so you need to compare against 'r', 'p', or 's', not 0, 0, or 0.
2.) R, r, P, p, S, and s, will probably not be used for anything useful in this program, so you probably won't need them. If you need them for keeping track of how many of each the player picks, then you only need 3.
3.) You can use tolower() to make choice lowercase (takes away 3 conditions).