Primer 1: Pretvaranje svih vrsta slova u tekstu u velika slova (jedno od rešenja)

#include <stdio.h>
#include <ctype.h>
#include <string.h>

int main(void)
{
int i, duzina;
char str1[80],str2[80];

puts("unesi neki tekst: ");
gets(str1);
duzina = strlen(str1);

for(i=0; i<duzina; i++)
str2[i] = toupper(str1[i]);

str2[i]='\0';

printf("poceli smo sa str=%s, a dobili smo str2=%s",str1,str2);

return 0;
}

Drugi način na koji bi de mogao rešiti isti zadatak:

#include <ctype.h>
#include <stdio.h>

char *u_velika(char *ptxt) {
char *p = ptxt;
while(*p)
{ *p = toupper(*p);
p++; }
return ptxt;
}

int main(void) {
char tekst[100];
gets(tekst);
puts(u_velika(tekst));
return 0;
}

Niska znakova, kao parametar funkcije, u ovom slučaju je deklarisana kao pokazivač na znakove (char *). Uslov u naredbi while ispituje da li je kod znaka na koji pokazuje pokazivač p različit od nule (!=0, što je istovetno sa != '\0', što se podrazumeva). Sve dok je taj uslov ispunjen, pokazivani znak se bibliotečkom funkcijom toupper pretvara u veliko slovo. Posle toga se pokazivač p poveća za jedan, čime se prelazi na sledeći znak teksta. Kao vrednost funkcije vraća se pokazivač na obrađeni tekst.

Pošto funkcija u_velika vraća, kao rezultat, pokazivač na obrađeni tekst, poziv te funkcije mogao je da se piše kao argument funkcije puts, radi ispisivanja rezultata. Naravno, kao bočni efekat funkcije u_velika, obrađivani tekst se trajno nalazi u nizu tekst, pa bi, po potrebi, mogao da se koristi u nastavku programa.


Primer 2: Iz unetog teksta izbaciti sve praznine (space).

Primer 3. Iz unetog teksta izbaciti sve tačke

Primer 4: Nacrtati algoritam i napisati program u programskom jeziku C za određivanje broja velikih slova, malih slova i broja ostalih znakova iz teksta koji je korisnih uneo.


Last modified: Wednesday, 20 March 2019, 9:14 PM