Ir para conteúdo

POWERED BY:

Arquivado

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

Joe_Junior

Comparar caractere em C

Recommended Posts

olá, preciso fazer um laço do tipo: "enquanto uma variavel for 's' executa uma determinada sequencia de codigos".

 

ex:

int main()
      {
         char x;
         printf("deseja executar o programa?S/N: ");
         scanf("%c", &x);
 
             while(x=='s'){
                  printf("ok");
                  printf("deseja executar novamente?s/n: ");
                  scanf("%c", &x);
                   }
         }
a ideia do programa é mais ou menos isso, mas essa estrutura simplesmente não funciona. Alguém sabe me dizer qual estrutura devo usar para fazer um laço com caractere?

 

grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

_

 

Acho q esta ocorrendo buffer do teclado...

 

para limpar isso você pode usar o comando 'fflush(stdin)'

 

#include<stdio.h>
int main()
      {
         char x;
         printf("deseja executar o programa?S/N: ");

         fflush(stdin); /*coloque esse comando antes do scanf para limpar buffer*/

         scanf("%c", &x);
 
             while(x=='s'){
                  printf("ok");
                  printf("deseja executar novamente?s/n: ");
                  fflush(stdin);
                  scanf("%c", &x);
                   }
 
         }

Aki funcionou... espero ter ajudado :)

 

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

JAMAIS USE FFLUSH(STDIN) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

Siga o que o QuitZAUMMMM disse, e dê uma lida no tópico "Porque NÃO utilizar fflush(stdin)", que ele inclusive já disponibilizou o link para entender o porque.

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.