Napisati program na jeziku S u kome će biti definisane dve funkcije. Prva
funkcija slovo() čita sa tastature slovo i ako je to slovo malo vraća isto veliko
a ako je veliko slovo vraća isto malo. Druga funkcija broj() prihvata ceo broj
(kao znak) i vraća broj (kao znak) koji je dopuna prihvaćenog broja do broja 10.
Glavni program prihvata znak sa tastature, prepoznaje da li je broj ili slovo,
poziva odgovarajuću funkciju i prikazuje na ekranu rezultat pozvane funkcije.
Postupak se ponavlja sve dok se ne unese znak koji je različit od broja ili slova.
Moje pitanje je zasto program ne radi normalno kad ubacim petlju :(, evo probajte i Vi pa ako neko zna resenje da mi javi...
Ja sam uradio prvi dio, funkciju "slovo" :
#include <stdio.h>
#include <ctype.h>
char slovo (char s);
main ()
{
char c;
while(1) //Kada uklonim petlju program radi normalno
{
puts("Unesite neki znak: "); //Posle drugog kruga petlje i nadalje 2 puta se izvrsi ova naredba
c=getchar();
if ( isalpha (c) )
{
c = slovo (c);
putchar(c);
printf("\n");
}
else if (isalpha(c) == 0)
{
printf("Znak nije slovo\n");
}
}
}
char slovo (char s)
{
if (s >= 65 && s <= 90)
{
return tolower(s);
}
if (s >= 97 && s <= 122)
{
return toupper(s);
}
return s;
}
/* Koji je problem zasto se petlja normalno ne izvrsava??? */
[Ovu poruku je menjao X Files dana 27.05.2009. u 21:59 GMT+1]