Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

José Enésio

[Resolvido] Problema com scanf?

Recommended Posts

Olá estou tendo alguns problemas aqui acho que relacionados ao scanf...

Seguinte, eu tenho alguns loops com scanf para pegar input do usuário, só que a primeira vez ele chega ao scanf só que ele meio que pula o scanf, zerando a variável relacionada ao scanf e partindo para a próxima iteração... isso já tá me dando nos nervos.

Segue um dos trechos defeituosos no programa:

 

CODE
void __add(Conjunto *C)

{

int newelement;

char addagain;

printf("\n\n\n");

 

do

{

printf("Adicionar um elemento ao conjunto:\n");

scanf("%d", &newelement);

printf("\n");

C->addElement(newelement);

printf("Elemento adicionado, conjunto agora: ");

C->printMembers();

printf("\n");

printf("Adicionar mais? (s/n)\n");

do

{

scanf("%c", &addagain);

printf("\n");

} while(addagain != 's' && addagain != 'n');

} while(addagain != 'n');

}

 

No caso ele vai dar dois espaços na entre o adicionar mais e o input, se eu botar cagada antes do \n separado ele vai ele vai escrever o adicionar mais na próxima linha vai escrever cagada e finalmente na próxima linha via pedir input do usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente usar o getchar(); antes do scanf para meio q tirar algum '\n' "preso" ow tente usar tbm o fflush(stdin); pra limpar o buffer do teclado... bom são testes, volte a postar!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa valeu quitzenon (eita nome difícil) a primeira solução do getchar deu certo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.