Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pretvaranje velikih slova u mala

[es] :: C programiranje :: Pretvaranje velikih slova u mala

[ Pregleda: 1712 | Odgovora: 8 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Smilebey
Easy Smilebey
Kod kuće

Član broj: 48170
Poruke: 57
*.as54.ze.bih.net.ba.

Sajt: www.art-bike.biz


Profil

icon Pretvaranje velikih slova u mala07.03.2005. u 21:21

Pa eto ja bi trebao pretvoriti uneseni string koji se sastoji iz velikih slova u male. Npr. RONALDO u ronaldo. Ja sam mislio dodati na char 32 [jer a(97)-A(65)=32]. Mislim da me razumijete, ali mogu li dodati tipu char int vrijednost? Npr.
Code:
int i=97;
 char c=i;

Hvala unaprijed!!!

"Na svetu postoje dve stvari koje su beskonačne. To su univerzum i čovekova glupost. Ali za univerzum nisam baš siguran!"
Albert Einstein
07.03.2005. u 21:21 

xxxrugby

Član broj: 16068
Poruke: 641
*.ericsson.net.

Sajt: www.zagreb-rugby.hr


Profil

icon Re: Pretvaranje velikih slova u mala07.03.2005. u 21:49
Code:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
               
int main()
{
    int i = 0; char ch;
    char string[] = "RONALDO";
    
    while( string[i] != '\0' )
    {
        ch = string[i];
        if( isupper(ch) == 1 )
        {
            ch += 32;
        }
        string[i] = ch;
        i++;
    }
    printf("%s\n", string);

     system("PAUSE");
     return 0;
}


xxxrugby: "We are all philosophers, when question is about politics!"
07.03.2005. u 21:49 

Marko Stankovic

Član broj: 11
Poruke: 306
212.200.120.*

Jabber: urobor@elitesecurity.org
ICQ: 42897384


Profil

icon Re: Pretvaranje velikih slova u mala08.03.2005. u 00:45
Samo da dodam da u zaglavlju ctype.h postoji i funkcija tolower() cija je deklaracija:
Code:

int tolower(int ch);

Znaci ona radi tako sto ako je ch veliko slovo za koje postoji malo slovo onda funkcija vraca kod malog slova a ako ch nije slovo onda je povratna vrednost ch, pa kad koristis ovu funkciju nemas potrebe da vrsis proveru da li je u pitanju veliko slovo.
Tako da ako imas recimo string koji je niz karaktera mozes da prebacis u mala slova na sledeci nacin:

Code:

for(i=0;string[i];i++) string[i]=tolower(string[i]);



Inace u c-u tip char je u stvari celobrojni osmobitni tip podataka, tako da su dozvoljene sve operacije koje su dozvoljene nad tipom int, plus c vrsi automatsku konverziju izmedju int i char. Tako da slobodno sabiraj slova.
I drink to make other people interesting.
08.03.2005. u 00:45 

spaka-s
Crna Gora

Član broj: 23693
Poruke: 26
*.crnagora.net.



Profil

icon Re: Pretvaranje velikih slova u mala09.03.2005. u 15:49
Postoji jos jedna verzija ako ne znas kolika je duzina rijeci i bukvalno si ogranicen da radis sa pozivima vec "giotovih stvari" :)
while(s[i++]!='\o')
{
if((s>='A')&&(s<='Z'))
s=s-('A'-'a');
i++;
}
}
Fora je sto od ASCI vrijednosti VEKLIKOG slova oduzimas ASCI razliku izmedju malih i velikih i dobijas "umanjeno" slovo :)
Poz
Citav zivot je jedna velika aproksimacija ...
09.03.2005. u 15:49 

spaka-s
Crna Gora

Član broj: 23693
Poruke: 26
*.crnagora.net.



Profil

icon Re: Pretvaranje velikih slova u mala09.03.2005. u 15:52
S tim sto dolje mora da bude s(i) kada se provjerava vrijednost u ASCI kodu i kada se dodaje ispada s(i)=s(i)-('A'-'a') , naravnop umjesto ovih malih zagrada stavljaju se srednje :) ali je bukvalno starnica to zaobisla , sto nazalost nisam znao .
Citav zivot je jedna velika aproksimacija ...
09.03.2005. u 15:52 

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 2677
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: Pretvaranje velikih slova u mala09.03.2005. u 16:07
Borland C++ Builder (sigurno i ostala ozbiljna okruzenja) imaju
vec gotove metode ili zasebne funkcije za rad sa stringovima.

Na primer:

NekiString = NekiString.UpperCase();

ili

NekiString = UpperCase( NekiString );




FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
09.03.2005. u 16:07 

filmil
Filip Miletić
Oce Technologies B.V., inženjer hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.ipact.nl.

Jabber: filmil@jabber.org
ICQ: 36601391


Profil

icon Re: Pretvaranje velikih slova u mala09.03.2005. u 19:10
Citat:
Fora je sto od ASCI vrijednosti VEKLIKOG slova oduzimas ASCI razliku izmedju malih i velikih i
Ovo nije dobro rešenje jer radi samo za ASCII. Postoje mašine koje koriste EBCDIC kod.

Ispravno rešenje je funkcija toupper() iz zaglavlja ctype.h, koja radi nezavisno od koda koji se koristi.

f
09.03.2005. u 19:10 

deroko

Član broj: 48499
Poruke: 123
*.selcuk.edu.tr.



Profil

icon Re: Pretvaranje velikih slova u mala14.03.2005. u 16:14
Ma samo or 0x20 i imas mala slova.
Code:

#include <stdio.h>

int main(){
       char a = 'A';
       a|=0x20;
       printf ("%c\n", a);
       return 0;
       
}


14.03.2005. u 16:14 

yooyo
Centroid / Technical director

Član broj: 4891
Poruke: 1101
*.nat-pool.bgd.sbb.co.yu.



Profil

icon Re: Pretvaranje velikih slova u mala14.03.2005. u 19:01
hmm.. a da probas strlwr(str) ili strupr(str) ?

yooyo
14.03.2005. u 19:01 

[es] :: C programiranje :: Pretvaranje velikih slova u mala

[ Pregleda: 1712 | Odgovora: 8 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.