» »

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

dope1337 ::

Če si že začetnik, bi te lahk mal mučili xD

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

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.
"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

srus ::

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 "ß".

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).

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 ()

cosa nostra ::

hvala :D


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kako zaznati in izpisati več znakov v stringu?

Oddelek: Programiranje
121561 (1385) Ciklamen
»

C++ to upper case

Oddelek: Programiranje
5821 (751) boogie_xlr
»

Ukaz rand (C++)

Oddelek: Programiranje
51194 (1167) Maxslo
»

C++ preštej število enk

Oddelek: Programiranje
111296 (1079) kihc
»

velike male besede c++

Oddelek: Programiranje
152562 (2178) PoPon2

Več podobnih tem