Problém s ternárním operátorem – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problém s ternárním operátorem – C / C++ – Fórum – Programujte.comProblém s ternárním operátorem – C / C++ – Fórum – Programujte.com

 

David101010
Newbie
7. 8. 2010   #1
-
0
-

Zdravým
Následující kód:

#include <iostream>
using namespace std;
int main (void)
{
int cislo;

cout << "Prosim, zadejte cislo: ";
cin >> cislo;

cout << "Vami zadane cislo " <<
(cislo % 2 == 0) ? "je sude.\n" : "Cislo je liche.\n" ;

system ("pause");
return 0;
}

mi místo vypsání jednotlivých literálů "je sude.\n" nebo "Cislo je liche.\n", pokud platí či neplatí podmínka, vypíše dvě binární hodnoty 1 a 0. Nevíte čím to?

Nahlásit jako SPAM
IP: 77.48.160.–
Náhodný kolemjdoucí
~ Anonymní uživatel
15 příspěvků
7. 8. 2010   #2
-
0
-

#include <iostream>

using namespace std;
int main (void)
{
int cislo;

cout << "Prosim, zadejte cislo: ";
cin >> cislo;

cout << "Vami zadane cislo ";
(cislo % 2 == 0) ? cout<<"je sude.\n" : cout<<" je liche.\n" ;

system ("pause");
return 0;
}

Nahlásit jako SPAM
IP: 81.90.174.–
vdolek0
Newbie
8. 8. 2010   #3
-
0
-

To je také řešení, ale nevysvětluje chybu, kterou udělal David10101. Protože operátor << má větší prioritu než ?:, vypíše se právě hodnota cislo % 2 == 0 - stačí tedy jen uzavřít celou ?: konstrukci do závorek:

      cout << "Vami zadane cislo "; 

((cislo % 2 == 0) ? cout<<"je sude.\n" : cout<<" je liche.\n") ;
možná hezčí:
	cout << "Vami zadane cislo je " << 

((cislo % 2 == 0) ? "sude" : "liche") << ".\n";

Nahlásit jako SPAM
IP: 91.106.166.–
Náhodný kolemjdoucí
~ Anonymní uživatel
15 příspěvků
8. 8. 2010   #4
-
0
-

Máte samozřejmě pravdu, svým zápisem jsem ale chtěl zdůraznit samotnou syntaxi ternárního operátoru:

(podmínka) ? (výraz_pro_true): (výraz_pro_false)

Nahlásit jako SPAM
IP: 81.90.174.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 17 hostů

Podobná vlákna

Problém — založil Dfire

Problém v C — založil Robin

Problem — založil Ghosta

Problém — založil Ma.ty

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý