PB071 - 3. cvicení
Výpocet veku v daném roce
Zadání:
- Vytvorte a odladte program, který precte 2 letopocty a vytiskne, kolika let se
clovek narozený v prvním zadaném roce dozije v prubehu druhého roku. Príklad:
budou-li zadána císla
1971 2000, má program vytisknout neco jako
Osoba narozena v roce 1971 oslavi(la) v roce 2000 sve 29. narozeniny.
- Az bude program fungovat, rozsirte jej tak, aby pracoval správne i v prípade,
ze se z kteréhokoli letopoctu zadají jen
jednu ci dve císlice
xy s
významem 19xy (tj. predpokládejte, ze na vstupu napr. 59 znamená
1959, 0 znamená 1900). Ve výstupním tisku vsak i v tomto prípade vypiste úplný letopocet.
Pokud je zadán úplný letopocet, musí ovsem program pracovat také, a to i kdyz
letopocet nezacíná 19...
Pozadavky:
- Program nazvete
vek.c .
- Pro resení rozsírené varianty nepouzívejte príkaz
if ani
jinou rídicí strukturu, ale vhodné operátory!
Poznámky:
- Odevzdejte pouze rozsírenou variantu. Odevzdává se pouze zdrojový
soubor.
- Program odladte na pocítaci aisa s pouzitím prekladace
gcc
- 2 promenné typu
int se prectou príkazem scanf("%d
%d",&promenná,&promenná);
- Kombinace textu a hodnot trí výrazu typu
int se vypíse príkazem
printf("text%dtext%dtext%dtext\n",výraz,výraz,výraz);
- Pro bezproblémové pouzití výse uvedených príkazu je nutné,
aby Vás program zacínal rádkem
#include <stdio.h>
- Predpokládejte, ze druhý letopocet bude zadán vzdy pozdejsí nez první,
splnení této podmínky není nutno kontrolovat.
Rovnez nemusíte kontrolovat, zda nekterý
letopocet není zadán jako záporný.
- Za zvlást originální resení muzete dostat bonus az 2 kladných bodu.
Riešenie:
vek.c
#include <stdio.h>
int main()
{
int rok1,rok2;
printf("Zadaj rok narodenia a dalsi rok:\n");
scanf("%d %d",&rok1,&rok2);
rok1= ( rok1<100 ? rok1+1900 : rok1 ) ;
rok2= ( rok2<100 ? rok2+1900 : rok2 ) ;
printf("Osoba narodena v roku %d oslavi(la) v roku %d",rok1,rok2);
printf(" svoje %d narodeniny \n",(rok2-rok1));
return 0;
}