Kalendarz ver. 3
Kod był wyświetlany 1218 razy.
    /*
  Name: Kalendarz - zadanie maturalne
  Copyright: GPL GNU
  Author: Piotr Nowakowski
  Date: 27-02-2007 17:50:34
  Description: OPis zadania w przykładzie na stronie
*/
#include <stdio.h>
#include <conio.h>

int main()
{
    int i,d=0;
    int rok;
    int wynik=0;
    int l_p=0; // lata przestępne          
    int dt=10; // dzien tygodnia
    int j=28;
    char dzien[11];    
    char c;

for(i=0;i<12;i++)
{dzien[i]=0;}    
    do{
    printf("\n Podaj dzien tygodnia: ");
    i=0;
    do{
    scanf("%c",&c);
    if(c!='\n')
    {dzien[i]=c; }
    i++;
    }while(c!='\n');         

if(dzien[0]=='p' && dzien[1]=='i' && dzien[2]=='a' && dzien[3]=='t' && dzien[4]=='e' && dzien[5]=='k')
dt=0;    
if(dzien[0]=='P' && dzien[1]=='I' && dzien[2]=='A' && dzien[3]=='T' && dzien[4]=='E' && dzien[5]=='K')
dt=0;                  
if(dzien[0]=='s' && dzien[1]=='o' && dzien[2]=='b' && dzien[3]=='o' && dzien[4]=='t' && dzien[5]=='a')
dt=1;    
if(dzien[0]=='S' && dzien[1]=='O' && dzien[2]=='B' && dzien[3]=='O' && dzien[4]=='T' && dzien[5]=='A')
dt=1;
if(dzien[0]=='n' && dzien[1]=='i' && dzien[2]=='e' && dzien[3]=='d' && dzien[4]=='z' && dzien[5]=='i' && dzien[6]=='e' && dzien[7]=='l' && dzien[8]=='a')
dt=2;    
if(dzien[0]=='N' && dzien[1]=='I' && dzien[2]=='E' && dzien[3]=='D' && dzien[4]=='Z' && dzien[5]=='I' && dzien[6]=='E' && dzien[7]=='L' && dzien[8]=='A')
dt=2;                          
if(dzien[0]=='p' && dzien[1]=='o' && dzien[2]=='n' && dzien[3]=='i' && dzien[4]=='e' && dzien[5]=='d' && dzien[6]=='z' && dzien[7]=='i' && dzien[8]=='a' && dzien[9]=='l' && dzien[10]=='e' && dzien[11]=='k')
dt=3;    
if(dzien[0]=='P' && dzien[1]=='O' && dzien[2]=='N' && dzien[3]=='I' && dzien[4]=='E' && dzien[5]=='D' && dzien[6]=='Z' && dzien[7]=='I' && dzien[8]=='A' && dzien[9]=='L' && dzien[10]=='E' && dzien[11]=='K')
dt=3;
if(dzien[0]=='w' && dzien[1]=='t' && dzien[2]=='o' && dzien[3]=='r' && dzien[4]=='e' && dzien[5]=='k')
dt=4;    
if(dzien[0]=='W' && dzien[1]=='T' && dzien[2]=='O' && dzien[3]=='R' && dzien[4]=='E' && dzien[5]=='K')
dt=4;        
if(dzien[0]=='s' && dzien[1]=='r' && dzien[2]=='o' && dzien[3]=='d' && dzien[4]=='a')
dt=5;    
if(dzien[0]=='S' && dzien[1]=='R' && dzien[2]=='O' && dzien[3]=='D' && dzien[4]=='A')
dt=5;        
if(dzien[0]=='c' && dzien[1]=='z' && dzien[2]=='w' && dzien[3]=='a' && dzien[4]=='r' && dzien[5]=='t' && dzien[6]=='e' && dzien[7]=='k')
dt=6;    
if(dzien[0]=='C' && dzien[1]=='Z' && dzien[2]=='W' && dzien[3]=='A' && dzien[4]=='R' && dzien[5]=='T' && dzien[6]=='E' && dzien[7]=='K')
dt=6;

if(dt==10)
printf("\n\007 zle podales dzien!!!\n");


}while(dt==10);
    
   while(d==0){
    printf("\n Podaj rok: ");
    scanf("%d",&rok);
    
if(rok<=2005 && rok>=1500) 
d=1;    
if(rok>2005 || rok<1500)
printf("\n\007 zle podales rok ma byc z zakresu <1500;2005>!!!\n");    
}
if(rok>1582)
{    
    for(i=1584;i<rok;i++)
    {
     if((i%4)==0)
     {l_p=l_p+1;}
     if((i%100)==0 && (i%400)!=0)
     {l_p=l_p-1;}
                  }

wynik=((rok-1583)*365)+(31-(15+dt))+92+l_p;

if((rok%4)==0 && (rok%100)!=0)
j=29;
if((rok%100)==0 && (rok%400)!=0)
j=28;
if((rok%100)==0 && (rok%400)==0)
j=29;

int min=1;
int k=0;
i=0;

while(k!=1)
{
         if((wynik%7)==0)
         {min=i;k=1;}
         
         if((wynik%7)!=0)
{                          
 wynik=wynik+1;                                 
}                 
                  i=i+1;
                  }

for(int a=0;a<5;a++)
{  
if(min==0)
min=min+7;        
if(min<=j)
{
          if(min<10){printf("\n 0%d.02.%d",min,rok);min=min+7;}
          if(min>=10){printf("\n %d.02.%d",min,rok);min=min+7;} 
}
}      
}

if(rok<=1582)
{
         
if(dzien[0]=='p' && dzien[1]=='i' && dzien[2]=='a' && dzien[3]=='t' && dzien[4]=='e' && dzien[5]=='k')
dt=1;    
if(dzien[0]=='P' && dzien[1]=='I' && dzien[2]=='A' && dzien[3]=='T' && dzien[4]=='E' && dzien[5]=='K')
dt=1;                  
if(dzien[0]=='s' && dzien[1]=='o' && dzien[2]=='b' && dzien[3]=='o' && dzien[4]=='t' && dzien[5]=='a')
dt=2;    
if(dzien[0]=='S' && dzien[1]=='O' && dzien[2]=='B' && dzien[3]=='O' && dzien[4]=='T' && dzien[5]=='A')
dt=2;
if(dzien[0]=='n' && dzien[1]=='i' && dzien[2]=='e' && dzien[3]=='d' && dzien[4]=='z' && dzien[5]=='i' && dzien[6]=='e' && dzien[7]=='l' && dzien[8]=='a')
dt=3;    
if(dzien[0]=='N' && dzien[1]=='I' && dzien[2]=='E' && dzien[3]=='D' && dzien[4]=='Z' && dzien[5]=='I' && dzien[6]=='E' && dzien[7]=='L' && dzien[8]=='A')
dt=3;                          
if(dzien[0]=='p' && dzien[1]=='o' && dzien[2]=='n' && dzien[3]=='i' && dzien[4]=='e' && dzien[5]=='d' && dzien[6]=='z' && dzien[7]=='i' && dzien[8]=='a' && dzien[9]=='l' && dzien[10]=='e' && dzien[11]=='k')
dt=4;    
if(dzien[0]=='P' && dzien[1]=='O' && dzien[2]=='N' && dzien[3]=='I' && dzien[4]=='E' && dzien[5]=='D' && dzien[6]=='Z' && dzien[7]=='I' && dzien[8]=='A' && dzien[9]=='L' && dzien[10]=='E' && dzien[11]=='K')
dt=4;
if(dzien[0]=='w' && dzien[1]=='t' && dzien[2]=='o' && dzien[3]=='r' && dzien[4]=='e' && dzien[5]=='k')
dt=5;    
if(dzien[0]=='W' && dzien[1]=='T' && dzien[2]=='O' && dzien[3]=='R' && dzien[4]=='E' && dzien[5]=='K')
dt=5;        
if(dzien[0]=='s' && dzien[1]=='r' && dzien[2]=='o' && dzien[3]=='d' && dzien[4]=='a')
dt=6;    
if(dzien[0]=='S' && dzien[1]=='R' && dzien[2]=='O' && dzien[3]=='D' && dzien[4]=='A')
dt=6;        
if(dzien[0]=='c' && dzien[1]=='z' && dzien[2]=='w' && dzien[3]=='a' && dzien[4]=='r' && dzien[5]=='t' && dzien[6]=='e' && dzien[7]=='k')
dt=0;    
if(dzien[0]=='C' && dzien[1]=='Z' && dzien[2]=='W' && dzien[3]=='A' && dzien[4]=='R' && dzien[5]=='T' && dzien[6]=='E' && dzien[7]=='K')
dt=0;         
             
  for(i=1580;i>=rok;i--)
    {
     if((i%4)==0)
     {l_p=l_p+1;}
                 }
                
j=0;                 

wynik=((1582-rok)*365)+l_p+246;

int min;
min=(wynik%7)+dt;

if((min-7)>=1)min=min-7;

for(int a=0;a<5;a++)
{  
if(min<=28+j)
{
          if(min<10){printf("\n 0%d.02.%d",min,rok);min=min+7;}
          if(min>=10){printf("\n %d.02.%d",min,rok);min=min+7;} 
}
}              
                    
             }

    getch();
    return(0);
}
    
Pobierz plik tekstowy
Załączniki
Administrator WJL
PHP&SQL coded by NOVA-IT