iMasters Fóruns: Comparar caractere em C - iMasters Fóruns

Ir para

Página 1 de 1
  • Novo tópico
  • Responder

Comparar caractere em C

#1 Membro offline   Joe_Junior Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 1
  • Cadastrado: 06-novembro 09

Postou 06 novembro 2009 - 21:41

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!

Este post foi editado por quitZAUMMM: 06 novembro 2009 - 22:16
Razão por editar:: Inclusão da tag [code]


#2 Membro offline   quitZAUMMM Ícone

  • No pain, No gain
  • Ícone
  • Grupo: Moderadores
  • Posts: 2971
  • Cadastrado: 24-outubro 07
  • Sexo:Masculino
  • Localização:São Paulo

Postou 06 novembro 2009 - 22:15

scanf("%c%*c", &x);

sobre: http://forum.imaster...-e-fflushstdin/

[]s

#3 Membro offline   Elgin Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 8
  • Cadastrado: 09-novembro 09
  • Sexo:Masculino

Postou 10 novembro 2009 - 22:50

_

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

#4 Membro online   VictorCacciari Ícone

  • Computer Science student.
  • Ícone
  • Grupo: Moderadores
  • Posts: 705
  • Cadastrado: 26-dezembro 07
  • Sexo:Masculino
  • Localização:Portugal

Postou 11 novembro 2009 - 07:16

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.

#5 Membro offline   Elgin Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 8
  • Cadastrado: 09-novembro 09
  • Sexo:Masculino

Postou 11 novembro 2009 - 15:12

_

Ja vi q vou aprender muito aki no forum... :D

Vlw

Página 1 de 1
  • Novo tópico
  • Responder

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)