» »

[c++] problem: pretvorba iz malih v velike crke

[c++] problem: pretvorba iz malih v velike crke

Makina ::

V kontrolni smo mel nalogo, da moraš iz malih črk spremenit velike in obratno. Zdej me pa zanima, če bi znal kdo napisat program.
Lepo prosim.

LP.

edit: Naslednjič preberi: PREBERI ME: označevanje topicov v oddelku programiranje - snow
Trisixty s kombajnom bočno.
  • spremenilo: snow ()

Monster ::

malo je pozno ... ti bom samo dal hint


vsak znak(tudi crka) ti ma neko "ascii kodo" in ta je razlicna za velike in male crke ... char pa je tipa? ... sicer je to bol Cjevska resitev kak C++ pa ma verjetno String pa funkcijo ala toUpperCase()

Lp! :)
Ka zaboga...

Makina ::

Sem uspel rešiti, drugače k bi lahk jst malo z glavo delal, pa bi prec pogruntal.
Hvala za namig :)

ps: bom se še uglasu kdaj, vidm da tle kr obvladate

lp.
Trisixty s kombajnom bočno.

Zgodovina sprememb…

  • spremenilo: Makina ()

Makina ::

No stručkoti jst sm itak noben guru v temu, pač nimam domišljij.
No za nalogo smo spet dobili neki čudnga in to SMS napisat v c++, v podobnem načinu ko na tipkovnici mobitela. Lepo bi pršu kaki namig.



Lp
Trisixty s kombajnom bočno.

bozjak ::

hmm kako to misliš? Torej da uporablaš samo numerično tipkovnico in glede na to kolkrat je pritisnjena določena številka potem izpišeš črko? Če je tako potem se pojavijo vprašanja: ali lahko kombiniraš z entrom ali rabiš timer? Če rabiš timer, kako dolgo čakaš? Točno kakšno abecedo boš uporabljal? itd...

Če lahko uporabljaš enter (domnevam da lahko) potem je zadeva dokaj enostavna. Preprosto beri en int in si pomagaj z swtich stavkom (case a of : 2 = a, 22 = b, 222 = c, 3 = d, 33 == e, itd...) in vse skupaj zapisuj znak po znak v en string. Na koncu (ali pa sproti izpisuj kar znak po znak, po zelji) ta string izpisi in mas nalogo reseno ;)

Lp
http://upor.blogec.si
http://bozjak.deviantart.com

Makina ::

Jaz sm to bol zakompliciral, im bom rajš realiziral tvojo idejo. Pač sm sam tako naredu, da se z nič dol po ascii tabeli pomikaš 1 pa gor.
Sam tvoja je bol moj stajl, ker ne smemo uporabljat teh funkcij getch pa putch.
evo program:

int main(void)
{
char znak = ’a’; //znake pisemo v enojnih navednicah
char tipka = 0;

while (tipka != ’3’)
{
putch(znak);
tipka = getch();
switch (tipka)
{
case ’0’: znak--; break;
case ’1’: znak++; break;
}
putch(’\b’);
}
return 0;
}
Trisixty s kombajnom bočno.

bozjak ::

seveda lahko tudi tako naredis da se pomikas po abecedi gor al pa dol. Sam nism hotu tega oment da se ti nebi zdel prekompliciran. Na primeru k sm ga podov zgorej ej sicer ful mal za programirat (ni treba lih velik razmislat) ampak je velik za pisat. Ce ti do tega ni (in ti nej nebi blo ;) ) pol zadevo nared mal bl zanimivo.

Da ne bos tok case stavkov pisov lahko naredis tko, da tist integer k ga ze mas, ugotovis kok mestno je (hint: deli z 10) in si zapomnis enice ter kolkrat si stevilo deliu (kolk mestno je bilo). Iz enice nato ugotovis pri keri ascii vrednosti moras zaceti (ce je enica 2 (oz 1 kakorkoli, bos pac sestavu abecedo) moras zaceti pri 'a') in pristeti stevilo_deljenj. Za 111 bi torej dobil a + 2 = c.

Mislim da bo taksna resitev tudi profesorju bolj usec ;)

Lp
http://upor.blogec.si
http://bozjak.deviantart.com

Makina ::

Mene neki heca, dej mi mal kode začetne napiš.
Trisixty s kombajnom bočno.

bozjak ::

hmm... Recimo tkole... najprej moras zasnovati svojo "glavno zanko" in zanjo rabis zaustavitveni pogoj. Da bo zadeva dokaj enostavna, reciva da je sms koncan, ko uporabnik vnese piko (.). Dobiva:

char dobljen_znak;
do {
...
} while (dobljen_znak != '.')


Potem mors prebrt znak. Jst bom uproabu kr scanf, ce nisi navajen delat s to funkcijo kr spremen (rabis stdio.h).

char dobljen_znak;
int znak;
do {
   scanf("%d", &znak);
} while (dobljen_znak != '.')


Sedaj pa si napises se funkcijo za "pridobivanje" enic.

int enice (int stevilo)
{
   int stev=0;
   while (stevilo/10 > 0) {
      stevilo /= 10;
      stev++;
   }
   return stev;
}


Sedaj pa to funkcijo samo se klices iz glavne zanke pa si zmagov. Mislim da bi zdj moglo it, ce ne pa kr vprasi.

Lp
http://upor.blogec.si
http://bozjak.deviantart.com

Makina ::

EJ jst sm glavni program naredu pa mi ker ene erorre prbija spet, če se ti da dj še kej napiš. Sam pol ti bi pa lahk že za pjačo dal. :))
Trisixty s kombajnom bočno.

bozjak ::

ja res bi mi lahk dau za eno pijačo ;)

nism zdle doma, bom probov zvčer najt 5 min cajta ;)

lp
http://upor.blogec.si
http://bozjak.deviantart.com

yeti ::

hmm, ma ja ni vec aktualno ampak vseeno; 5. bit popravis na 0 za uppercase in na 1 za lowercase...

Zgodovina sprememb…

  • spremenil: yeti ()

Thomas ::

> ma ja ni vec aktualno ampak vseeno; 5. bit popravis na 0 za uppercase in na 1 za lowercase...

Seveda je aktualno. Ker doktorji so hoteli postdoktorirat na bolj štoraste načine.

Good to see you yeti, and your common sense!
Man muss immer generalisieren - Carl Jacobi

bozjak ::

ok, tkole sm na hitr napisov. Ne deluje cist tko kokr bi mogl (ubistvu je pomembn samo kera je ta prva stevilka, nato pa pac kok je se naprej prtisnjenih, tako je 11=b in 12 = b...), ampak mislm da ti bo dal idejo kako zadevo dokonct.


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

int enice (int &stevilo)
{
   int stev=0;
   while (stevilo/10 > 0) {
      stevilo /= 10;
      stev++;
   }
   return stev;
}

int main(int argc, char *argv[])
{
    char dobljen_znak;
    char text[200];
    int temp;
    
    int i=0, j=0;
    
    int znak;
    
    for (i=0; ; i++) {
        
       scanf("%d", &znak);
       
       if (znak == 999) break;
       
       dobljen_znak = enice (znak) + 64;
       
       text[i] = znak + dobljen_znak;
       
    }

    printf("%s\n", text);     
    
    system("PAUSE");
    return 0;
}



Poenostavu sm, da namesto '.' koncas "stavek" z 999.

Lp
http://upor.blogec.si
http://bozjak.deviantart.com

Makina ::

Hehe bozjak, ta program je supr:D ampak, sem poslal profesorju in je ratal mal tečen, ker nismo uprabljal tega sploh:\ .Tako, da bom mogu tist z switchem uprizorit. Se priporočam za pomoč, kot vedno.
Trisixty s kombajnom bočno.

Zgodovina sprememb…

  • spremenilo: Makina ()


Vredno ogleda ...

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

Nemorem rešit ene naloge z c++ (sem začetnik) (strani: 1 2 )

Oddelek: Programiranje
6810164 (5902) technolog
»

[c] Enaki datoteki

Oddelek: Programiranje
7972 (832) Spura
»

[C++] - Tolmačenje povedi in izvedba operacij nad števkami

Oddelek: Programiranje
353260 (2496) jernejl
»

[java ali C] Datoteka v obliki 0 in 1

Oddelek: Programiranje
191789 (1509) Mmm'Aah
»

[c] char zadeva

Oddelek: Programiranje
222154 (1952) TheCyborg

Več podobnih tem