Co to kur... jest 6234 11

O temacie

Autor Frodo

Zaczęty 1.02.2008 roku

Wyświetleń 6234

Odpowiedzi 11

Frodo

Frodo

Użytkownicy
posty15
  • Użytkownicy
#include <iostream>
#include <string>

using namespace std;

int main()
{
int lol = 4;
if (!(lol = 5)) cout << "char isnt 5 but test is finished!";
return 0;
}
Testowałem sobie właśnie "!" i za nic nie mogę pojąć dlaczego tekst który mam w poleceniu cout nie wyświetla się. Bo jeżeli wpiszę:

if (lol = 5) ... to jasne że to nie jest prawda i polecenie nie powinno się wyświetlić. A wyświetla się. Zaś gdy dodam "!" jak w przykładzie powyżej, z fałszu powinna się zrobić prawda, tak? Więc dlaczego tak nie jest?
 

Krolik

Krolik

Użytkownicy
posty373
Propsy167
  • Użytkownicy
siema, jestem kolegą królika. najprawdopodobniej dlatego, że warunek nie jest spełniony, a tak na marginesie obejmuj wszystko w bloki.

pozdrawiam programista delphi.
 

Frodo

Frodo

Użytkownicy
posty15
  • Użytkownicy
Inna sprawa. Nie mogę pojąć pointerów tj. wskaźników. A to dlatego że najzwyczajniej nie widzę w nich żadnego sensu. Nie rozumiem ich i nie mam jak sprawdzić ich wykorzystania w praktyce. Jakieś porady?
 

Krolik

Krolik

Użytkownicy
posty373
Propsy167
  • Użytkownicy
W tym kodzie nie widzę abyś stosował wskaźniki. Polecam kurs na th
 

Yasiek

Yasiek

Użytkownicy
posty7
  • Użytkownicy

Yasiek

Co to kur... jest
#4 2008-02-01, 21:06(Ostatnia zmiana: 2008-02-05, 16:30)
Po pierwsze na razie niepotrzebnie includujesz stringi.
Po drugi powinno byc if (lol != 5) cout << "char isnt 5 but test is finished!";
A co do Twojej konstrukcji powinien byc znak podwojny =, tj. ==
ale nie wiem czy takie cos zadziala, a do pierwszego jestem pewny
Po trzecie program Ci się automatycznia wylacza, sprobuj przed returnem dac getch();(tu chyba jest potrzebna biblioteka <conio.h>)
albo cin >> naprzykladowa_wczesniej zadeklarowana zmianna..

Powodzenia z C++

EDIT: Sorry Frodo, że bez ładu i składu. Nie zrozumielismy sie. modyfikator "!" daje się zamiast jednego =, a tak jak powiedzial Zysk lol=5 jest prawda, poniewaz nie mamy porownania.
 

Frodo

Frodo

Użytkownicy
posty15
  • Użytkownicy

Frodo

Co to kur... jest
#5 2008-02-01, 23:05(Ostatnia zmiana: 2008-02-01, 23:09)
Raczej string, a nie stringi :)

Stringi to kobiety mają :lol:  

A includuje żebym później nie musiał się wracać na początek kodu i znowu wpisywać tego...

Po drugie, tu nie chodzi o żadne includy czy inne, ja chcę sprawdzić działanie tego "modyfikatora" - "!", który zamieniał wynik wyrażenia na odwrotny - true na false i false na true. Nie zrozumiałeś w ogóle o co tu chodzi ;(  

krolik - a kto powiedział, że ich używam? Piszę że ich nie mogę zrozumieć. Jaki znowu tutorial? Gdzie? :blink:

Nauki kontynuować także nie mogę - po wskaźnikach są cały czas używane przez co nie mogę zrozumieć dalszych tutków...
 

Zysk

Zysk

Użytkownicy
posty606
Propsy451
  • Użytkownicy
akurat (lol=5) jest prawdą (przypisuje do lola 5, a potem go zwraca), powinieneś napisać (lol==5).
a co do wskaźników, to one są naprawdę istotne.
 

MWL

MWL

Użytkownicy
posty205
Profesjabrak
  • Użytkownicy

MWL

Co to kur... jest
#7 2008-02-05, 17:27(Ostatnia zmiana: 2008-02-05, 17:28)
#include <iostream>
#include <string>

using namespace std;

int main()
{
int lol = 4;
if (!(lol == 5)) { cout << "char isnt 5 but test is finished!"; }
return 0;
}

Powinno działać
 
Tworzymy  aplikacje internetowe i strony internetowe. Jesteś grafikiem? Napisz do nas - szukamy najlepeszych ;)

Zdunek

Zdunek

Administrator
Ken'Udz mistrz stali i runy
posty671
Propsy132
Profesjabrak
  • Administrator
  • Ken'Udz mistrz stali i runy
Cytat: MWL link=topic=491.msg3216#msg3216 date=Feb 5 2008, 17:27\'
#include <iostream>
 #include <string>
 
 using namespace std;
 
 int main()
 {
int lol = 4;
if (!(lol == 5)) { cout << "char isnt 5 but test is finished!"; }
return 0;
 }

Powinno działać
tak się właśnie spojżałem i myślę że ten kawałek powinien być tak :
 if (lol != 5) { cout << "char isnt 5 but test is finished!"; }
czyli jeśli lol jest inne niż 5, trza pamiętać że ! jest zaprzeczeniem
 PS: wiem że stary temat ale jakoś musiałem napisać ;p , nudzi mi się na praktykach
 
Po co utrudniać coś co jest proste?

Agencja Interaktywna - CreaWeb.

Sick

Sick

Użytkownicy
posty14
  • Użytkownicy
tylko ze on tam ma if ( ! (lol == 5)) (spojrz na ten wykrzyknik przed tym) ale nie rozumiem sensu takiego zapisu, kiedy powinno to sie zrobic jak Zdunek napisal czyli (lol != 5) widze ze tu na forum bardzo powazne klopoty ludzie maja z kodowaniem haha
 

Edawid

Edawid

Użytkownicy
posty49
  • Użytkownicy

Edawid

Co to kur... jest
#10 2008-04-03, 20:10(Ostatnia zmiana: 2008-04-03, 20:17)
Ja to tak zrobiłem I jest git Podstawy znam to chyba dobrze Napisałem bo działa kompiluje dev c++
#include <iostream>
#include <conio.h>
using namespace std;
int Wyrazek;
int main(int argc, char *argv[])
{
int lol = 5;
{  
if (lol == 5)
{  
  cout << "char isnt 5 but test is finished!"<< endl << endl;

}
getch();
return 0;
}
}
A Jezeli w moim Kodzie     jest  int lol = 4; to nie zadziała chyba ze wpiszesz ze Lol jest mniejsze od 5
    if (lol <= 5)
to zadziała to samo jak LOL bedzie 6 TO Ten dziubek w druga strone xD
 
Hot modding Team

Qbaczek
  • Gość

Qbaczek
Gość

Co to kur... jest
#11 2008-08-17, 18:54(Ostatnia zmiana: 2008-08-17, 18:55)
Cytuj
...
int lol=4;
if (!(lol=5)) cout << "hurra";
...
tekst nie zostanie wyświetlony ponieważ
lol=4  - deklarujesz lol i przypisujesz mu 4

!(lol=5) -- rozłóżmy na kawałki
lol=5 - przypisujesz lol'owi 5 i zwracasz to samo
czyli mamy !5 ... 5 nie równe zero więc jest prawda
!TRUE to czywiście FALSE
czyli masz if(FALSE) albo if(0) czyli warunek nie może być spełniony

:DD
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry