/* zadatak 21, vjezba 8 */ #include #include char upcase(a) char a; //ekvivalentno char(char a), u biti ovo je redekleracija { int tmp=a; /* ovu konverziju char->int bi rijesili sa int tmp=(int)a; medjutim kako prevodilac sam vrsi konverziju u char mi to mozemo ispustiti...*/ /*interval u kojem gledamo veliko/malo slovo je [97,122] iako bi smo mogli josh ukljuciti i par slova, radi dijakritickih znakova, pretpostavimo da ih nema ;)) */ if ((tmp>=97) && (tmp<=122)) tmp=tmp-32;//'A' je 65, 'a' je 97 return tmp; /*prevodilac moze sam izvrsiti konverziju int->char jer smo explicitno naveli da f-ja vraca char*/ } void main() { char a; clrscr(); printf("Zapocni unos znakova "); a=getch(); //malo drukciji raspored radi detekcije 0 do { printf("\nZnak je %c, a veliki %c",a,upcase(a)); a=getch(); /* umjesto a=getch() moze i scanf("%c",&a); */ } while (a!='0'); printf("\nKraj!"); getch(); }