Mi a hiba ebben az if-es forrásfájlban? (nem értem)
Build, Run és ezt írja ki: Pont 50Pont 1
Nem étem miért... Valaki tudna segíteni?
#include <iostream>
using namespace std;
int main()
{
int szam;
cout << "I'rjon be egy sza'mot 1 e's 50 ko:zo:tt: ";
cin >> szam;
if (szam = 1)
{
if (szam = 50)
{
if (szam < 50)
{
if (szam < 1)
{
cout << "Kisebb mint 1";
}
cout << "Kisebb mint 50";
}
cout << "Pont 50";
}
cout << "Pont 1";
return 0;
}
}
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Előszöris egyenlőséget nem if (szam=1) formátumban, hanem if (szam==1) formátumban vizsgálunk. Az if (szam=1) formátum mindig igaz lesz ÉS a szam változónak 1 értéket ad. Másodszor az if utáni {} közötti utasítások mindig végrehajtódnak, tehát az 50-es vizsgálatot csak akkor hajtaná végre, ha 1, a 3. csak akkor, ha az elsőnél 1, a másodiknál 50 a szam változó értéke.
Helyesen így lenne:
if (szam==1)
{
cout << "Pont 1";
}
if (szam==50)
{
cout << "Pont 50";
}
if (szam < 50)
{
cout >> "Kisebb, mint 50";
}
if (szam < 1)
{
cout << "Kisebb, mint 1";
}
Köszönöm szépen!! :)
Amúgy az hogy lehet hogyha manuálisan megnyitom az exe fájlt, beírok egy számot, akkor miért zárja be egyből az ablakot?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
De van benne egy cin (nem tudom mi)
Kiírná hogy "Írjon be egy számot 1 és 50 között: " Az kér egy számot ami a szam változó...
Ezt kéne konzolban beadnia nem?
(Manuális megnyitással)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
ezt kiírja, beolvassa a standard inputról a "szam"-ot, éa megcsinálja, amit mondtál
még mindig nem értem
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!