c++ bool

0

Witam, mam problem z poniższym programem:

 

#include <iostream>
#include <conio.h>

using namespace std;

int main()
{

int x;
bool wiecej;

cout<<"Podaj liczbe wieksza niż 5 ";
cin>>x;

	wiecej = (x<5);
	if(wiecej = true)
		cout<<" Ta liczba jest wieksza od 5";
	else(wiecej = false);
		cout<<" Ta liczba nie jest wieksza od 5";
	getch();
}

Obojętnie jaką liczbę podam zawsze wypisuje mi obydwie odpowiedzi, proszę o pomoc.

0

wiecej == true i wiecej == false. Jesli uzywasz w if'ie operatora = to zwraca ci czy udalo sie przypisac wartosc do zmiennej. Teoretycznie zawsze uda sie przypisac wiec zawsze zwroci true. Poza tym chyba powinno byc else if(wiecej = false) {} (bez srednika) a nie else(wiecej = false). Nie wyrzuca ci tam kompilator zadnych wyjatkow?

0

@up: skad wytrzasnales bzdure, ze operator '=' zwraca 'true', gdy udalo sie przypisac wartosc do zmiennej, a 'false' w innym przypadku? :|

0

Poprawiłem, ale efekt jest ciągle taki sam, ciągle wypisuje mi że jest większe i że jest mniejsza obojętnie jaką liczbę podam

 

#include <iostream>
#include <conio.h>

using namespace std;

int main()
{

int x;
bool wiecej;

cout<<"Podaj liczbe wieksza niż 5 ";
cin>>x;

	wiecej = (x<5);
	if(wiecej == true)
	{
		cout<<" Ta liczba jest wieksza od 5";
	}
	else(wiecej == false);
	{
		cout<<" Ta liczba nie jest wieksza od 5";
	}
	getch();
}

0

Ten operator zwraca przypisana wartosc; a=b=10 -> b=10, a=10

0

Tak:

        }
        else if(wiecej == false)
        {

lub tak:

        }
        else
        {

oraz:

        if(x<5)
0

Usunąłem średnik i działało z odwrotnym skutkiem tzn gdy była większa pisało że jest mniejsza i na odwrót. Zamieniłem true z false i wszystko dziala

#include <iostream>
#include <conio.h>

using namespace std;

int main()
{

int x;
bool wiecej;

cout<<"Podaj liczbe wieksza niż 5 ";
cin>>x;

	wiecej = (x<5);
	if(wiecej == false)
	{
		cout<<" Ta liczba jest wieksza od 5";
	}
	else if(wiecej == true)
	{
		cout<<" Ta liczba nie jest wieksza od 5";
	}
	getch();
} 

Dziękuje za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1