#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 ");
        scanf("%c", &escolha);
        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 {
        printf("\nfazendo algo\n");
    } while (continuarCodigo());
    return 0;
}
