Erro na estrutura do Loop, o programa reconhece duas caracteres (Enter e a variavel) como resolver?

1. Erro na estrutura do Loop, o programa reconhece duas caracteres (Enter e a variavel) como resolver?

Murilo Zanardo
murilozanardo

(usa Linux Mint)

Enviado em 04/03/2018 - 20:05h

Boa noite! Estou estudando C por conta própria e estou com alguns problemas, essa semana é aniversário de uma amiga e como ela gosta de enigmas pensei em fazer um joguinho simples, simples mesmo, basicamente é rodar a história em Sim ou Não, e inserir alguns digitos como data ou coisa do tipo, acontece que eu estou com um problema no bloco do loop, eu gostaria de fazer com que o programa só saísse do laço quando a opção fosse sim, acontece que estou tendo problemas pois o programa lê duas teclas, o S e o ENTER (\n) como resolver isto? Abaixo o código. (É baseado nos assassinatos da rua morgue de Allan Poe)

#include <stdio.h>

main()
{
/*Este programa trata de um desafio, se você estiver lendo isso você está trapaceando,
eu estou realmente chateado contigo, poxa Julia! */



int b;
char condicaoTelefoneDDC;
char condicaoHomemPorta;

printf("*Triiiim, Triiim* 'Gotcha' -Alo, estou ouvindo...\n");
printf("Pressione Enter para continuar a historia! \n");
getchar();
printf("Ola Senhora Julia, somos da DDC (Delegacia Disfuncional da Cidade) e precisamos da sua ajuda!\n");
printf("Eu espero que a senhora consiga nos ajudar neste caso, contatariamos o Murilo,\n ele e melhor nisso mas as segundas ele fica ocupado\n invadindo sites de bicletas italianas... entao precisamos de voce!\n");

printf("Voce acha que tem o que e necessario para resolver este caso? (S para SIM/N para NAO) \n");
scanf("%c", &condicaoTelefoneDDC);

if (condicaoTelefoneDDC == 'S' || condicaoTelefoneDDC == 's')
printf("Otimo, vamos ver o que conseguimos fazer! Contataremos voce mais tarde! \n");
else
printf("Que pena, voce e mesmo uma falha com sua personalidade e e somente uma leitora qualquer... \n");

do{
printf("Voce deseja abrir a porta? \n");
scanf("%c", &condicaoHomemPorta);

}while (condicaoHomemPorta != 's' || condicaoHomemporta != 'S')


printf("Ola, sou eu o Murilo! Nao, nao estou fazendo nada de util, \n mas tenho um caso para nos! \n");




}



  


2. Re: Erro na estrutura do Loop, o programa reconhece duas caracteres (Enter e a variavel) como resolver?

Leonardo
Valeyard

(usa Void Linux)

Enviado em 05/03/2018 - 02:58h

Cara, acho que não tem nenhuma função padrão do C que faz isso, você vai ter que fazer alguma gambiarra, talvez tenha alguma coisa de bash que funcione.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts