Tam olarak kodunuzu incelemedim fakat 2-20 arası giriş için aşağıdaki yapıda kullanabilirsiniz.

retry:
    int i =0;
    printf("rakam girisi yapin.\n");

    scanf("%d", &i);

    if (i >= 2 && i<= 20)
    {
        printf("rakam girisi uygun!\n");
    }
    else
    {
        printf("rakam girisi hatali lutfen tekrar giris yapin!\n ");
        goto retry;
    }
Ek not : scanf unsafe hatası alırsanız headerların altına :

#pragma warning(disable:4996)
eklerseniz problem çıkmaz