The following code produces a \"lvalue required as left operand of assignment\"
if( c >= \'A\' && c <= \'Z\' || c = \" \" || c = \",\") {
equality is ==, = is assignment. You want to use ==. Also "" is a char*, single quotes do a character.
==
=
""
char*
Also, adding some parens to your condition would make your code much easier to read. Like so
((x == 'c' && y == 'b') || (z == ',') || (z == ' '))