Hola,
Primero, no se para que pusiste un while en la ultima opcion :D
Bueno, y para saber que dia de la semana , usa la libreria time.h:
http://es.wikipedia.org/wiki/Time.h
Aqui un ejemplo de su uso:
Código:
#include<time.h>
#include<stdio.h>
int main(void)
{
time_t timer;
struct tm *time_struct;
timer=time(NULL);
time_struct=localtime(&timer);
printf("El dia de la semana es %d.\n",time_struct->tm_wday);
return 0;
}
1 es Lunes, 2 martes, 3 miercoles, etc, Entonces para saber si es fin de semana solo debes ver si time_struct->tm_wday es 6 o 7 (sabado o domingo).
Saludos