Não é questão de paciência é que eu não me propus a explicar mesmo, o link que indiquei tinha as informações necessárias. Segundo eu não quis rebaixar os estudantes e sim os professores. Um estudante errar é perfeitamente normal afinal ele esta aprendendo, agora um professor que esta ali para ensinar ai não dá, não concorda? O '\n' que fica no buffer não é um bug é normal o que não é lido deve continuar no buffer, não devemos distorcer os fatos. Quanto ao fflush os autores mesmo falam que o resultado quando usado com buffers de entrada é indefinido quem somos nós para discordar. Realmente utilizar o cin do C++ é o ideal quando se esta programando em C++. Não vale a pena discutir sobre isso, o importante é ajudar quando alguém tem duvidas e corrigir quando alguém erra.