sniveler

/ˈsnɪvələr/
noun
  1. A person who snivels; someone who cries or complains in a weak, annoying way.
    • The coach told the sniveler to toughen up.
    • Every class has at least one sniveler who whines about the assignments.
    • Don't be such a sniveler — just fix the problem.