#include <stdio.h>
#include <stdbool.h>
void cleanBuffer() {
int c;
while ((c
= getchar()) != '\n' && c
!= EOF
); }
bool continuarCodigo() {
char escolha;
while (true) {
printf("Deseja continuar o programa? S/N "); cleanBuffer();
if (escolha != 's' && escolha != 'S' && escolha != 'n' && escolha != 'N')
printf("Opcao invalida, digite S/N\n"); else break; // sai do while
}
// se chegou aqui, é porque "escolha" é S, s, N ou n, então não precisa testar tudo de novo
return escolha == 's' || escolha == 'S';
}
int main(void) {
do {
} while (continuarCodigo());
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRib29sLmg+Cgp2b2lkIGNsZWFuQnVmZmVyKCkgewogICAgaW50IGM7CiAgICB3aGlsZSAoKGMgPSBnZXRjaGFyKCkpICE9ICdcbicgJiYgYyAhPSBFT0YpOwp9Cgpib29sIGNvbnRpbnVhckNvZGlnbygpIHsKICAgIGNoYXIgZXNjb2xoYTsKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgcHJpbnRmKCJEZXNlamEgY29udGludWFyIG8gcHJvZ3JhbWE/IFMvTiAiKTsKICAgICAgICBzY2FuZigiJWMiLCAmZXNjb2xoYSk7CiAgICAgICAgY2xlYW5CdWZmZXIoKTsKICAgICAgICBpZiAoZXNjb2xoYSAhPSAncycgJiYgZXNjb2xoYSAhPSAnUycgJiYgZXNjb2xoYSAhPSAnbicgJiYgZXNjb2xoYSAhPSAnTicpCiAgICAgICAgICAgIHByaW50ZigiT3BjYW8gaW52YWxpZGEsIGRpZ2l0ZSBTL05cbiIpOwogICAgICAgIGVsc2UgYnJlYWs7IC8vIHNhaSBkbyB3aGlsZQogICAgfQoKICAgIC8vIHNlIGNoZWdvdSBhcXVpLCDDqSBwb3JxdWUgImVzY29saGEiIMOpIFMsIHMsIE4gb3UgbiwgZW50w6NvIG7Do28gcHJlY2lzYSB0ZXN0YXIgdHVkbyBkZSBub3ZvCiAgICByZXR1cm4gZXNjb2xoYSA9PSAncycgfHwgZXNjb2xoYSA9PSAnUyc7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIGRvIHsKICAgICAgICBwcmludGYoIlxuZmF6ZW5kbyBhbGdvXG4iKTsKICAgIH0gd2hpbGUgKGNvbnRpbnVhckNvZGlnbygpKTsKICAgIHJldHVybiAwOwp9Cg==