kalendár v .c

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
bagan641
Stály člen
Stály člen
Príspevky: 193
Dátum registrácie: 09 Okt 2008, 00:00
Bydlisko: Valaská Belá
Vek: 32

kalendár v .c

Príspevok od používateľa bagan641 » 04 Nov 2012, 20:25

Dobrý deň,
ozývam sa s prosbou o pomoc. Dostal som sa k programu ktorý vypíše kalendár. Bohužiaľ neviem prijsť na to ako mam spraviť to aby mi vypísalo len zadaný mesiac v roku. A to tak že nejprv sa zada rok a potom sa ma spýtať či chcem vytlačiť len zadaný mesiac, keď dám 0 tlačí celý rok, keď 1 - 12 tlači zadaný mesiac.

Ďakujem za každú pomoc. S pozdravom Jakub.


#include<stdio.h>
#define priestupny 1
#define nepriestupny 0
int den_v_mesiaci[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
char *mesiace[]=
{
" ",
"\n\n\nJanuar",
"\n\n\nFebruar",
"\n\n\nMarec",
"\n\n\nApril",
"\n\n\nMaj",
"\n\n\nJun",
"\n\n\nJul",
"\n\n\nAugust",
"\n\n\nSeptember",
"\n\n\nOktober",
"\n\n\nNovember",
"\n\n\nDecember"
}
;


int zadany_rok(void)
{
int rok;

printf("Zadaj rok: ");
scanf("%d", &rok);
return rok;
}

int urcenie_dna(int rok)
{
int prvydenvmesiaci;
int a, b, c;

a = (rok - 1.)/ 4.0;
b = (rok - 1.)/ 100.;
c = (rok - 1.)/ 400.;
prvydenvmesiaci = (rok + a - b + c) %7;
return prvydenvmesiaci;
}


int prestupnyrok(int rok)
{
if(rok% 4 == nepriestupny && rok%100 != nepriestupny || rok%400 == nepriestupny)
{
den_v_mesiaci[2] = 29;
return priestupny;
}
else
{
den_v_mesiaci[2] = 28;
return nepriestupny;
}
}


void kalendar(int rok, int prvydenvmesiaci)
{
int mesiac, den;
for ( mesiac = 1; mesiac <= 12; mesiac++ )
{
printf("%s", mesiace[mesiac]);
printf("\n\nNed Pon Uto Str Stv Pia Sob\n" );

for ( den = 1; den <= 1 + prvydenvmesiaci * 5; den++ )
{
printf(" ");
}


for ( den = 1; den <= den_v_mesiaci[mesiac]; den++ )
{
printf("%2d", den );


if ( ( den + prvydenvmesiaci ) % 7 > 0 )
printf(" " );
else
printf("\n " );
}

prvydenvmesiaci = ( prvydenvmesiaci + den_v_mesiaci[mesiac] ) % 7;
}
}

int main(void)
{
int rok, prvydenvmesiaci, priestupny_rok;
rok = zadany_rok();
prvydenvmesiaci = urcenie_dna(rok);
prestupnyrok(rok);
kalendar(rok, prvydenvmesiaci);
printf("\n");


return 0;
}
0
keď sa darí, tak sa darí...
S cievkou to je ako s dievkou, najprv napätie a potom prúd.
Fruity Loops 10 - moj druhý domov :)