Forum » Programiranje » c++ pretvorba malih črk v velike in obratno
c++ pretvorba malih črk v velike in obratno
cosa nostra ::
Lep pozdrav.
Imam majhen problem.
Uporabik poda poljubno besedilo in potem v beseduli pretvoris črke iz male v velike in obratno,
PRIMER: SloveniJa- sLOVENIjA
Ima kdo tak program ..sem začetnik v c++. hvala
Imam majhen problem.
Uporabik poda poljubno besedilo in potem v beseduli pretvoris črke iz male v velike in obratno,
PRIMER: SloveniJa- sLOVENIjA
Ima kdo tak program ..sem začetnik v c++. hvala
dope1337 ::
Če si že začetnik, bi te lahk mal mučili xD
Hint: ASCII tabela
Hint: ASCII tabela
"Everybody is a genius. But if you judge a fish by its ability to climb a tree
it will live its whole life believing that it is stupid."
-Albert Einstein
it will live its whole life believing that it is stupid."
-Albert Einstein
ramiz?! ::
Ja preko ascii tabele... ko program pride do črke S, jo prebere in črko pretvori v številko (83), to je tudi njeno mesto v ascii tabeli in potem prišteješ +32 kakršna je razlika med prvo veliko črko A in prvo malo črko a v ascii tabeli. Ko prišteješ +32 dobiš število 115, kar je mesto črke s v ascii tabeli in nazaj pretvoriš to število v črko ...
Never regret anything, there's always a reason things happen.
dope1337 ::
Ti pa priporočam, da gledaš samo spekter od 65-90 in 97-122. Da ne boš kakšnih pik [.] spreminjal v črko n [N] ali kej podobnega.
P.S. šumniki so specialni znaki. Glej, da boš tudi njih upoševal.
P.S. šumniki so specialni znaki. Glej, da boš tudi njih upoševal.
"Everybody is a genius. But if you judge a fish by its ability to climb a tree
it will live its whole life believing that it is stupid."
-Albert Einstein
it will live its whole life believing that it is stupid."
-Albert Einstein
srus ::
Če ni prepovedano uporabiti že pripravljenih funkcij:
http://www.cplusplus.com/reference/ccty...
http://www.cplusplus.com/reference/ccty...
http://www.cplusplus.com/reference/ccty...
http://www.cplusplus.com/reference/ccty...
http://www.cplusplus.com/reference/ccty...
http://www.cplusplus.com/reference/ccty...
http://www.cplusplus.com/reference/ccty...
http://www.cplusplus.com/reference/ccty...
metalc ::
Za angleške črke je simple, znakom (ki so pravzaprav le 8-bitna cela števila) samo prišteješ/odšteješ neko vrednost, ki jo razbereš iz ASCII tabele. Čim imaš šumnike ali podobne "hieroglife", so stvari že bolj pestre, najprej odvisne od kodnega standarda... Tu ti še najbolj koristi kakšna knjižnica za locale.
Še bolj pestro je pri kakšni nemščini, kjer moraš poznati besedo, da sploh veš, ali se "SS" pretvori v "ss" ali v "ß".
Še bolj pestro je pri kakšni nemščini, kjer moraš poznati besedo, da sploh veš, ali se "SS" pretvori v "ss" ali v "ß".
cosa nostra ::
{
int i=0;
char str[]="Test String.\n";
char c;
while (str[i])
{
c=str[i];
putchar (toupper(c));
i++;
}
return 0;
}
Z TEM ne gre..samo ang abeceda..brez sumnikov pa pik.kolko vas razumem bi mogo za vsako črko posebej naret pretvorbo (iz te na on)
Ni kode ko bi ti avtomatsko spremenila ko bi ti podal besedilo bi ti pol ozpisalo enako samo drugače velikosti(majhne v velike in obratno).
int i=0;
char str[]="Test String.\n";
char c;
while (str[i])
{
c=str[i];
putchar (toupper(c));
i++;
}
return 0;
}
Z TEM ne gre..samo ang abeceda..brez sumnikov pa pik.kolko vas razumem bi mogo za vsako črko posebej naret pretvorbo (iz te na on)
Ni kode ko bi ti avtomatsko spremenila ko bi ti podal besedilo bi ti pol ozpisalo enako samo drugače velikosti(majhne v velike in obratno).
amacar ::
Na hitro:
#include <iostream> #include <string> using namespace std; int main() { string beseda="SloveniJa"; for(int x=0;x<beseda.length();x++) { if(beseda[x]>64 && beseda[x]<91) cout << (char)(beseda[x]+32); else cout << (char)(beseda[x]-32); } return 0; }
joze67 ::
Kaj se je zgodilo s funkcijami isupper(), islower(), toupper(), tolower()? A UNICODE nihče ne uporablja?
Yacked2 ::
Še primer v phpju
<?php $niz = "sLOVEnija"; $a = str_split($niz); foreach($a as $index => $element) { if(ctype_upper($element)) { $out = strtoulower($elemenet); $output.= $out; } else { $out = strtoupper($element); $output.= $out; } } echo $output; ?>
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!
Zgodovina sprememb…
- spremenil: Yacked2 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Kako zaznati in izpisati več znakov v stringu?Oddelek: Programiranje | 1576 (1400) | Ciklamen |
» | C++ to upper caseOddelek: Programiranje | 831 (761) | boogie_xlr |
» | Ukaz rand (C++)Oddelek: Programiranje | 1206 (1179) | Maxslo |
» | C++ preštej število enkOddelek: Programiranje | 1306 (1089) | kihc |
» | velike male besede c++Oddelek: Programiranje | 2584 (2200) | PoPon2 |