Avatar billede Slettet bruger
24. marts 2006 - 08:43 Der er 13 kommentarer og
2 løsninger

condition ? case1 | case2

- Kan man det?
Nå, ja, hej eksperter!

Men kan man?

Eks.:
cout << a == b ? c | d;

Hvis a == b udskrives c på skærmen; ellers udskrives d.

Eller SKAL man skrive:
if (a == b)
    cout << c;
else
    cout << d;
?
Avatar billede soreno Praktikant
24. marts 2006 - 09:05 #1
Prøv at pakke din expression ind i en parentes,
og så er det : ikke | der skal bruges:

cout << ((a==b) ? c : d);
Avatar billede jpk Nybegynder
24. marts 2006 - 09:15 #2
Den inderste parantes bør dog være nok.
Avatar billede soreno Praktikant
24. marts 2006 - 09:37 #3
VS2005 vil ikke godtage koden uden parentes om hele expression udtrykket.
Avatar billede soreno Praktikant
24. marts 2006 - 09:44 #4
Men, man behøver ikke den inderste parentes - var det det du mente ?
Altså:
cout (a == b ? c : d);
Avatar billede jpk Nybegynder
24. marts 2006 - 09:54 #5
Hmm, det var faktisk den inderste jeg mente.

VS2003 godtager begge...
Avatar billede Slettet bruger
24. marts 2006 - 15:08 #6
Med Dev-C++ skulle kun de yderste paranteser bruges:
(a == b ? c : d)
Men den godtager også:
((a == b) ? c : d)

Kan man have flere conditions i en?
Noget i denne stil:
(a == b && c == d || e == f ? g = h | i = j)
?
Avatar billede fiil123 Nybegynder
24. marts 2006 - 16:35 #7
ja det er muligt at sige
if(x<y && z=q)
cout << "lala" << endl;

&& = AND
|| = OR
Avatar billede Slettet bruger
24. marts 2006 - 17:49 #8
Man ikke, hvis det er i en linie?
Avatar billede Slettet bruger
24. marts 2006 - 17:50 #9
Som:
cout << (a == b && c == d || e == f ? "true" : "false");
Avatar billede Slettet bruger
24. marts 2006 - 17:51 #10
(Bare smid et svar... Det gælder også dig, jpk!)
Avatar billede fiil123 Nybegynder
24. marts 2006 - 17:54 #11
hmmm i VS mener jeg du lige skal have dig en parentes omkring din validering:
cout << (a == b && c == d || e == f) ? "true" : "false"
Avatar billede jpk Nybegynder
25. marts 2006 - 16:38 #12
Okay...
Avatar billede Slettet bruger
25. marts 2006 - 19:21 #13
Hmmm...
Du mener cout << ((a == b && c == d || e == f) ? "true" : "false"), ikke?
Avatar billede fiil123 Nybegynder
26. marts 2006 - 00:26 #14
Jo selvfølgelig:

cout << ((10 == 10 && 20 == 20 || 30 == 30) ? "true" : "false") << endl;

har lige testet det der og det fungerede som det skulle...
det her virkede også:
cout << (10 == 10 && 20 == 20 || 30 == 30 ? "true" : "false") << endl;
Avatar billede Slettet bruger
30. marts 2006 - 17:04 #15
Okaj!
Tak for hjælpen!

--- LUKKET ---
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester