Где-то так
[code h=200]
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main ()
{
int d, m, Y, r, c ;
int iContinue = 1;
char *pStr;
printf ("Programma opredeleniya dnya nedeli\n");
while(iContinue == 1)
{
printf("\n");
do
{
printf ("Vvedite d(день)");
scanf ("%d", &d);
}while(d<1 || d>31);
do
{
printf ("Vvedite m(мес¤ц)");
scanf ("%d", &m);
}while(m<1 || m>12);
do
{
printf ("Vvedite Y(год)");
scanf ("%d", &Y);
}while(Y<0 || Y>99);
do
{
printf ("Vvedite c(количество столетий)");
scanf ("%d", &c);
}while(Y<0);
m = (m<3)?m+10:m-2;
r=(d+((13*m-1)/5)+Y+(Y>>2)+(c>>2)-2*c+777) % 7;
switch (r)
{
case 0:
pStr = "Voskreseniye";
break;
case 1:
pStr = "Ponedel'nik";
break;
case 2:
pStr = "Vtornik";
break;
case 3:
pStr = "Sreda";
break;
case 4:
pStr = "Chetverg";
break;
case 5:
pStr = "Pyatnica";
break;
case 6:
pStr = "Subbota";
}
printf("%s\n\n",pStr);
printf("Povtorit'? (1 - da) ");
iContinue = 0;
scanf("%d", &iContinue);
}
return 0;
}[/code]
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен