Kezdőoldal » Számítástechnika » Programozás » Segítesz? Nem értem hogy itt...

Segítesz? Nem értem hogy itt mi is történik. // C++

Figyelt kérdés

int error;

cin >> error;

if(!error) /*Ez mit csinál? Tudom megvizsgálja az error-t de nem értem,hogy mit is vizsgál meg rajta.*/

cout <<"bla bla bla";

else

cout <<"ha ha ha";


2012. jan. 14. 20:13
1 2
 1/18 anonim ***** válasza:

C-ben és C++-ban nem létezik olyan típus, hogy boolean, ami kizárólag az igaz/hamis értékkészlettel rendelkezne. Ehelyett a programnyelv szintaktikája azt mondja, hogy egy egész numerikus értéket hordozó változó 0 értéke logikailag hamisat, 0-tól eltérő értéke pedig logikai igazat jelöl.


if(!error) azt jelenti, hogy: if(error != 0)

2012. jan. 14. 20:23
Hasznos számodra ez a válasz?
 2/18 A kérdező kommentje:
Kipróbáltam és nem azt jelenti
2012. jan. 14. 20:30
 3/18 A kérdező kommentje:

//itt az egész forráskód.

//main.cpp

# include <iostream> //std függvénykönyvtár

# include <stdlib.h> //return EXIT_SUCCESS

# include <windows.h> //Sleep(500),exit(0)


typedef unsigned short ushort;

typedef unsigned int uint;


using std::cout;

using std::cin;

using std::endl;


uint Factor(uint,uint*,uint*);


int main()

{

uint number,squared,cubed;

ushort error;


std::cout <<"Adj meg egy szamot(0-20): "; std::cin >> number;

error = Factor(number,&squared,&cubed);

if(!error)

{

std::cout <<"number: "<< number << std::endl

<<"squared: "<< squared << std::endl

<<"cubed: "<< cubed;

}

else

{std::cout <<"error enqountered!";}



cin.get();

return EXIT_SUCCESS;

}


uint Factor(uint number,uint *psquared,uint *pcubed)

{

ushort value;

if(number > 20)

value = 1;

else

{

*psquared = number*number*number;

*pcubed = number*number;

value = 0;

}


return value;

}

2012. jan. 14. 20:30
 4/18 A kérdező kommentje:

Nem értem ezt a részt:if(!error)

És nem úgy működik mert ha ezt írom oda :if(error != 0) akkor már más történik.

2012. jan. 14. 20:35
 5/18 A kérdező kommentje:
Már értem
2012. jan. 14. 20:39
 6/18 A kérdező kommentje:
Mégsem csak eszembe jutott valami.
2012. jan. 14. 20:40
 7/18 A kérdező kommentje:

De már értem tényleg.

És üzenem az elsőnek hogy ez:if(!error) ezt jelenti if(error = 1)


if(error) pedig ezt if(error == 0)

2012. jan. 14. 20:42
 8/18 A kérdező kommentje:
if(error == 1) hups
2012. jan. 14. 20:43
 9/18 anonim ***** válasza:
Vagyis, ha error == 1 az ugyan azt jelenti, hogy error != 0, tehát a válaszolónak igaza volt. :)
2012. jan. 14. 20:48
Hasznos számodra ez a válasz?
 10/18 anonim ***** válasza:

Oké, nem PONT ugyan azt, de technikailag igen.

Mert hát ami 1-el egyenlő, az nem egyenlő 0-val.

2012. jan. 14. 20:49
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!