Ir para conteúdo
Fórum Script Brasil
  • 0

Loop Infinito


fabiano.froes

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0
#include <stdio.h>

...

char tecla;

/*Loop continua até que a letra A (maiuscula) seja pressionada.
   Adapte usando getch ou getche
*/

while ((tecla=getchar()) && (tecla!='A'))
{
   ...
}

nesse caso será necessario pressionar alguma outra tecla para que o loop funcione...

ele tem q rodar sem q seja preciosada alguma tecla e para quando 'A' for pressionado

Link para o comentário
Compartilhar em outros sites

  • 0

Eu utilizaria a seguinte lógica:

- Incluiria uma variável do tipo int, chamada continua.

- Quando incluí-la, coloque seu valor como 1.

Sendo assim:

do

{

//Comandos para reconhecimento das teclas

//Aqui você coloca os if's para verificar as teclas pressionas, caso a tecla seja aquela para fechar o loop, passe o valor da variável continua para outro, sem ser 1.

}

while(continua==1);

Editado por pringles
Link para o comentário
Compartilhar em outros sites

  • 0
Adapte usando getch ou getche em <conio.h>
mas, se compilador em questão for C++ e não C, acho que não vai dar - parece que não existe a função no C++ -> Ref. post em DaniWeb

existe sim.

mas eu tava vendo... usando o getch(), ele vai parar a execucao e esperar pela resposta do teclado não?? ou seja, não vai servir, porque a execucao não pode parar a não ser q eu tecle alguma coisa.

Link para o comentário
Compartilhar em outros sites

  • 0

ahhhhh... entendi!

c tem razão ...

bão... nesse caso c pode fazer assim:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main() {
    char tecla;

    //  Loop continua até que a letra A (maiuscula) seja pressionada.

    while(true)
    {
        if(kbhit() && (tecla = getch()) && (tecla=='A'))
            break;
        /* A linha a seguir é só pra mostrar alguma coisa na tela,
         * pra PROVAR que o loop tá rolando...
         */
        printf("?");
    }
    printf("\nOpa! A tecla 'A' foi presionada!);
    system("pause");
    return 0;
}

A função kbhit() está definida em conio.h e retorna 1 (true) se alguma tecla for pressionada e 0 (false) caso contrário! Ok?

OBS.: sabe aquela ladainha da conio.h? Pois é ... tem compiladores q não a possuem ... enfim ...

Link para o comentário
Compartilhar em outros sites

  • 0
ahhhhh... entendi!

c tem razão ...

bão... nesse caso c pode fazer assim:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main() {
    char tecla;

    //  Loop continua até que a letra A (maiuscula) seja pressionada.

    while(true)
    {
        if(kbhit() && (tecla = getch()) && (tecla=='A'))
            break;
        /* A linha a seguir é só pra mostrar alguma coisa na tela,
         * pra PROVAR que o loop tá rolando...
         */
        printf("?");
    }
    printf("\nOpa! A tecla 'A' foi presionada!);
    system("pause");
    return 0;
}

A função kbhit() está definida em conio.h e retorna 1 (true) se alguma tecla for pressionada e 0 (false) caso contrário! Ok?

OBS.: sabe aquela ladainha da conio.h? Pois é ... tem compiladores q não a possuem ... enfim ...

é isso mesmo...

valeu....

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...