Pro geeky:
Pomoc s proměnýma v c++
Moderátor: Mods_senior
- 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++
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:
Pro geeky:
Abbc3 Spoiler Show
- 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řesněji řečeno do intu lze dát pořadí znaku dle ASCII tabulky...pokud se nepletu 
"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."
- CZechBoY
- 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++
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
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: Pomoc s proměnýma v c++
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
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:
A nebo takhle:
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
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)
(pravil K. H. Borovský o cenzuře internetu)
- autoprd
- 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++
To už je naprosto jedno jak napíšu ty proměné
Navíc ten muj typ se mi pamatuje o mnoho líp at je to prasárna či boží kód :)
Re: Pomoc s proměnýma v c++
Bacha na věc, proměnná je tam jediná, a to odpoved, všechno ostatní jsou konstanty! 
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
- autoprd
- 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++
Lol
D A ty nejsi faraon ale tučnák
D Taky ti to neříkám 
Re: Pomoc s proměnýma v c++
Jen tak napůl, na rozdíl od Linuse nemám ani trochu tučňáčí postavu
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
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)
(pravil K. H. Borovský o cenzuře internetu)
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 14 Odpovědi
- 11858 Zobrazení
-
Poslední příspěvek od belphegor666
-
- 2 Odpovědi
- 10123 Zobrazení
-
Poslední příspěvek od Dyonysos
-
- 5 Odpovědi
- 48601 Zobrazení
-
Poslední příspěvek od Tay
-
- 5 Odpovědi
- 3917 Zobrazení
-
Poslední příspěvek od petr22
-
- 2 Odpovědi
- 4224 Zobrazení
-
Poslední příspěvek od kurkisak

