Pomoc s proměnýma v c++

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
domitea
Tvůrce článků
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: Pomoc s proměnýma v c++

Příspěvek od domitea »

Do Intu lze dát znak (jsem se dozvěděl - díky faraone :) ), ale tohle je podle mě prasárna, protože na znak je char.

Pro geeky:
Abbc3 Spoiler Show
Uživatelský avatar
Ellrohir
nováček
Příspěvky: 49
Registrován: 10 pro 2011 18:06
Bydliště: Praha
Kontaktovat uživatele:

Re: Pomoc s proměnýma v c++

Příspěvek od Ellrohir »

přesněji řečeno do intu lze dát pořadí znaku dle ASCII tabulky...pokud se nepletu :P
"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Pomoc s proměnýma v c++

Příspěvek od CZechBoY »

takže y má hodnotu 0x79 a n má hodnotu 0x6e pokud si to dobře pamatuju
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7406
Registrován: 23 pro 2010 09:23

Re: Pomoc s proměnýma v c++

Příspěvek od faraon »

Ještě přesněji řečeno, do intu lze dát pořadí znaku podle tabulky znaků, kromě ASCII mě napadají ještě EBCDIC, UTF-16 a UTF-32, a další čtyři různá kódování na starých počítačích.

Jedině v ASCII má y hodnotu šestnáctkově 0x79, desítkově 121, a n má 0x6e, desítkově 110. A nebo osmičkově 0171 a 0156 :lol:
Ale v každém případě budou mít hodnotu 'y' a 'n', protože tímhle způsobem se v překladači vloží přímo hodnota znaku v kódování které daný systém používá, bez ohledu na to jaké to je. Vloží se tak pouze jeden znak, na rozdíl od "y" nebo "n", kde se vkládá celý string, což je text ukončený nulovým znakem '\0'. Zároveň není dobré spoléhat na to že '\0' bude i číselně nula, na některých architekturách skutečně není, stejně tak jako se může lišit 0 a NULL, proto se musí vždy používat zástupný symbol '\0' místo čísla 0!
A také by nebylo od věci počítat se zadáním velkého písmene jako odpovědi, protože z pohledu uživatele není rozdíl mezi y a Y, nebo n a N (na rozdíl od pohledu překladače). Já C++ neovládám, ale mohlo by to fungovat třeba nějak takhle:

Kód: Vybrat vše

int odpoved;
cout << "Víte co je to PC? [y/n]: ";
cin >> odpoved;
if (odpoved == 'y' || odpoved == 'Y')
   cout << "To si chytrej!!!\n";
else
   if (odpoved == 'n' || odpoved == 'N')
      cout << "To si blbej!!!\n";
   else
      cout << "Špatná odpověď!\n";


A nebo takhle:

Kód: Vybrat vše

int odpoved;
cout << "Víte co je to PC? [y/n]: ";
cin >> odpoved;
switch (odpoved)
       {
       case 'y':
       case 'Y': cout << "To si chytrej!!!\n";
                 break;
       case 'n':
       case 'N': cout << "To si blbej!!!\n";
                 break;
       default:  cout << "Špatná odpověď!\n";
       }
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
Uživatelský avatar
autoprd
Level 4.5
Level 4.5
Příspěvky: 1715
Registrován: 13 úno 2009 15:43
Bydliště: ▼▲☺U Pc ☺▼▲
Kontaktovat uživatele:

Re: Pomoc s proměnýma v c++

Příspěvek od autoprd »

To už je naprosto jedno jak napíšu ty proměné :D Navíc ten muj typ se mi pamatuje o mnoho líp at je to prasárna či boží kód :)
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7406
Registrován: 23 pro 2010 09:23

Re: Pomoc s proměnýma v c++

Příspěvek od faraon »

Bacha na věc, proměnná je tam jediná, a to odpoved, všechno ostatní jsou konstanty! :lol:
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
Uživatelský avatar
autoprd
Level 4.5
Level 4.5
Příspěvky: 1715
Registrován: 13 úno 2009 15:43
Bydliště: ▼▲☺U Pc ☺▼▲
Kontaktovat uživatele:

Re: Pomoc s proměnýma v c++

Příspěvek od autoprd »

Lol :DD A ty nejsi faraon ale tučnák :DD Taky ti to neříkám :D
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7406
Registrován: 23 pro 2010 09:23

Re: Pomoc s proměnýma v c++

Příspěvek od faraon »

Jen tak napůl, na rozdíl od Linuse nemám ani trochu tučňáčí postavu :lol:

Mimochodem, jak máš v tom původním kódu proměnné y a n, tak do nich můžeš při spuštění programu uložit libovolné znaky, takže bys pomocí toho mohl vytvářet různé jazykové mutace.
Čili snadno změnit jazyk kterým ten program mluví, bez toho abys zasahoval přímo do kódu ;-)
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Pomoc s výběrem
    od belphegor666 » » v Rady s výběrem hw a sestavením PC
    14 Odpovědi
    11858 Zobrazení
    Poslední příspěvek od belphegor666
  • Pomoc při taktu
    od ondyN » » v Taktování a další úpravy PC
    2 Odpovědi
    10123 Zobrazení
    Poslední příspěvek od Dyonysos
  • Pomoc s webem
    od Tay » » v Web-tipy a vaše weby
    5 Odpovědi
    48601 Zobrazení
    Poslední příspěvek od Tay
  • Pomoc pri upgrade procesoru
    od filipo88 » » v Rady s výběrem hw a sestavením PC
    5 Odpovědi
    3917 Zobrazení
    Poslední příspěvek od petr22
  • Pomoc s výběrem komponent
    od kurkisak » » v Rady s výběrem hw a sestavením PC
    2 Odpovědi
    4224 Zobrazení
    Poslední příspěvek od kurkisak

Zpět na „Programování a tvorba webu“