• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

error gdy dopisze << endl;

Object Storage Arubacloud
0 głosów
284 wizyt
pytanie zadane 28 stycznia 2017 w C i C++ przez huare Początkujący (310 p.)

Gdy w kodzie nie ma "<< endl" wszystko jest ok i dziala tak jak powinien ,jednak gdy jest "<< endl" to wyskakuje error: invalid operands of types 'int' and '<unresolved overloaded function type>'. Szukalem w necie i wyczytalem ze "<<" ma wiekszy priorytet,jednak nic mi to nie mowi,oto kod i prosze o pomoc.

#include <iostream>
int main ()

{
    using namespace std;
    bool wynik ;
    bool a;
    bool b;
    a= false;
    b= true;
    cout << "wynik operacji !a && b : " << !a && b << wynik<< endl;

  
    return 0;

}

 

1 odpowiedź

+1 głos
odpowiedź 28 stycznia 2017 przez timrh Mądrala (6,030 p.)

Zapisz !a && b w nawiasach

cout << "wynik operacji !a && b : " << (!a && b) << wynik << endl;

 

komentarz 28 stycznia 2017 przez huare Początkujący (310 p.)
a gdy przed nawias dopisze ! to konsola wyczyta to tak gdyby nie bylo nawiasow? dzieki za odpowiedz
komentarz 28 stycznia 2017 przez timrh Mądrala (6,030 p.)
Wtedy znegujesz to co jest w nawiasach
komentarz 28 stycznia 2017 przez huare Początkujący (310 p.)
niestety to nie dziala,bo za miast prawdy (czyli 1) wyswietlaja sie losowe liczby z zakresu int
komentarz 28 stycznia 2017 przez timrh Mądrala (6,030 p.)
Wyświetlasz jeszcze zmienna wynik której wartość nie jest zdefiniowana.
komentarz 28 stycznia 2017 przez timrh Mądrala (6,030 p.)

Napisz tak:

cout << "wynik operacji !a && b : " << (!a && b) << endl;

Wtedy otrzymasz prawdę.

komentarz 28 stycznia 2017 przez huare Początkujący (310 p.)
racja,dzieki wielkie!
komentarz 28 stycznia 2017 przez huare Początkujący (310 p.)

sorry za topornosc,ale to moje pierwsze kroki :x gdybym zdefiniowal wynik,czyli:

wynik = true||false

to wtedy nie musze pisac tego,co napisales ty?

komentarz 28 stycznia 2017 przez timrh Mądrala (6,030 p.)

To wtedy możesz napisać tak:

    cout << "wynik operacji !a && b : " << (!a && b) << wynik << endl;

Pamiętaj że wyrażenia przesyłane strumieniami trzeba pisać w nawiasach

komentarz 28 stycznia 2017 przez huare Początkujący (310 p.)

hmm,bo chodzilo o to zeby przetestowac kolejnosc wykonywania operacji logicznych,czyli co sie stanie gdy bedzie 

!a && b // lub !(a && b) 

 

komentarz 28 stycznia 2017 przez timrh Mądrala (6,030 p.)

To są dwa inne wyrażenia.

!a && b

Wyrażenie zwróci prawdę gdy a jest fałszywe ORAZ b jest prawdziwe.

!(a && b)

Tutaj wyrażenie zwróci prawdę gdy a ORAZ b będzie fałszywe, negujesz cały nawias, jesli chcesz otrzymać taką samą wartość jak w pierwszym przykładzie to piszesz:

(!a && b)


Nie wiem o co ci chodzi bo ma tutaj nawet za bardzo gdzie ustalać kolejności. Nawiasy w tym przypadku pisze się po to aby kompilator wiedział że to jest jedno wyrażenie. Przy przypisywaniu wartości zmiennej nie musisz ich pisać.
 

komentarz 28 stycznia 2017 przez huare Początkujący (310 p.)
tresc zadania z http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Operacje-logiczne/15 brzmi po prostu tak:

"Napisz odpowiedni program dzięki któremu przetestujesz kolejność wykonywania operacji logicznych. Zrób co najmniej dwa programy. Pierwszy z nich niech nie wykorzystuje nawiasów zaokrąglonych, drugi program natomiast niech będzie modyfikacją pierwszego, który wymusi inną kolejność wykonania działań niż jest to standardowo zapewnione przez język C++."

sam nie wiem jak to rozumieć bo rzeczy tam nie sa zbyt dobrze wytlumaczone

Podobne pytania

0 głosów
1 odpowiedź 1,328 wizyt
pytanie zadane 26 grudnia 2015 w C i C++ przez Pac Plus Mądrala (5,560 p.)
0 głosów
2 odpowiedzi 153 wizyt
pytanie zadane 27 sierpnia 2016 w Inne języki przez niezalogowany

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...