Program z zmienną bool

0

Jak napisać program, w którym po wpisaniu wieku 18 lub więcej lat pokaże mi się na ekranie odpowiedź true lub 1, a po wpisaniu wieku 17 lub mniej lat pokaże mi się na ekranie odpowiedź false lub 0. Napisałam, ale mi nie działa tak jak wyżej jest opisane.

              #include <iostream>
              using namespace std;
              int main() {
	      system("chcp 1250");
	      system("cls");
              `
                bool dorosły = true;
		dorosły >= 18;
		cin >> dorosły;
		bool niepełnoletni = false;
		niepełnoletni < 18;
		cin >> niepełnoletni;
                system("pause");
	return 0;
}
2

https://ideone.com/tuEypM

mozesz tez zrobic osobna do tego zmienna
bool isAdult = age > 18;
i wtedy mozesz wyswieltac ta zmienna i bedzie jako 1 (jak zmienisz ustawienia cout to bedzie pokazywac true)

0

Jestem początkująca więc nie rozumiem o czym piszesz proszę popraw mój kod.

0

dobrze zdaje sobie sprawe z tego ze jestes poczatkujaca
Wystarczy kliknac w link i tam masz caly program
Nie bede poprawial Twojego programu, bo masz bledy w skldani samej jezyka oraz jest tragicznie sformatowany (powaznie uwazasz ze to co wkleilas jest czytelne?)

Dalem Ci najprostszy mozliwy przyklad z boolem i jak sprawdzic warunek.

2

Weź podręcznik polecony przez prowadzącego i przeczytaj rozdział o instrukcjach warunkowych.

1

Próbujesz wczytać wiek do zmiennej typu bool, co jest błędem. Zastosuj do tego dodatkową zmienną, np. typu int i sprawdzaj czy wartość wpisana za pomocą cin jest większa od 17. Dopiero na podstawie tych danych ustawiaj odpowiednio zmienną bool na false lub true.

0
grzesiek51114 napisał(a):

Próbujesz wczytać wiek do zmiennej typu bool, co jest błędem. Zastosuj do tego dodatkową zmienną, np. typu int i sprawdzaj czy wartość wpisana za pomocą cin jest większa od 17. Dopiero na podstawie tych danych ustawiaj odpowiednio zmienną bool na false lub true.

Nie wiem jak mam to zrobić. Poniższy kod nie działa. Jak sprawdzić czy wartość wpisana za pomocą cin jest większa od 17. Proszę pomóż.

int wiek;
		bool lat = wiek > 18;
		if (wiek > 17) {
			cout << "true "<< endl;
		}
		else {
			cout << "false " << endl;
		}
0

No, a jak się pobiera do zmiennej typu całkowitego w C++ w konsoli dane od użytkownika z klawiatury?

0
grzesiek51114 napisał(a):

No, a jak się pobiera do zmiennej typu całkowitego w C++ w konsoli dane od użytkownika z klawiatury?

Wiem, że przez cin ale nie wiem jak w tym przypadku.

0

No, a gdybyś chciała napisać program dodający dwie liczby to także zapisywałabyś je w zmiennej typu bool?
https://pl.wikibooks.org/wiki/C%2B%2B/Przyk%C5%82ady

0
grzesiek51114 napisał(a):

No, a gdybyś chciała napisać program dodający dwie liczby to także zapisywałabyś je w zmiennej typu bool?
https://pl.wikibooks.org/wiki/C%2B%2B/Przyk%C5%82ady

Potrzebuje program ze zmienną bool, który gdy wpisze wiek 18 wyświetli mi true a 17 to false.

1

Zadeklaruj zmienna "age" jako int, wczytaj wiek za pomocą cin, a następnie robisz po prostu:

cout << (age >= 18);
0

Można i tak:

#include <iostream>
using namespace std;
int main() {
  int age;
  //bool isAdult;
  cin >>age;
bool isAdult = age >17; //efekt ten sam co z if, a pisania ciut mniej
 // if (age > 17) isAdult = true;
  cout << boolalpha<<isAdult;
}

boolalpha
Zmienna bool jest, true lub false wyświetla,

0

@Marta Długa: powinnas krok po kroku przejsc przez swoj kod i jeszcze raz sie nad nim zastanowic, przemyslec czy to co napisalas faktycznie odpowiada temu, co chcialas napisac. Wez np ten fragment:

 bool niepełnoletni = false;
niepełnoletni < 18;

Jak sprawdzisz, czy ktos jest niepelnoletni? Porownasz, czy wiek danej osoby jest ponizej wieku uznawanego za pelnoletnosc, czyli wiek_osoby < 18.
W Twoim kodzie brakuje informacji o aktualnym wieku danej osoby.
To co robisz w swoim kodzie: niepełnoletni < 18 to tak jakbys porownywala false < 18. To nie jest sprawdzenie pelnoletnosci, prawda?

Jak juz bedziesz miala wiek danej osoby, wtedy porownasz go do 18 i dopiero wynik porownania przypiszesz do zmiennej niepelnoletni.

0
shagrin napisał(a):

@Marta Długa: powinnas krok po kroku przejsc przez swoj kod i jeszcze raz sie nad nim zastanowic, przemyslec czy to co napisalas faktycznie odpowiada temu, co chcialas napisac. Wez np ten fragment:

 bool niepełnoletni = false;
niepełnoletni < 18;

Jak sprawdzisz, czy ktos jest niepelnoletni? Porownasz, czy wiek danej osoby jest ponizej wieku uznawanego za pelnoletnosc, czyli wiek_osoby < 18.
W Twoim kodzie brakuje informacji o aktualnym wieku danej osoby.
To co robisz w swoim kodzie: niepełnoletni < 18 to tak jakbys porownywala false < 18. To nie jest sprawdzenie pelnoletnosci, prawda?

Jak juz bedziesz miala wiek danej osoby, wtedy porownasz go do 18 i dopiero wynik porownania przypiszesz do zmiennej niepelnoletni.

Pisząc ten kod niepełnoletni < 18 miałam na myśli że gdy wpisze np. 17 lat pojawi mi się false. Niestety to moje błędne myślenie przez to, że dopiero uczę się programować.
Dzięki

0
Serechiel napisał(a):

Można i tak:

#include <iostream>
using namespace std;
int main() {
  int age;
  //bool isAdult;
  cin >>age;
bool isAdult = age >17; //efekt ten sam co z if, a pisania ciut mniej
 // if (age > 17) isAdult = true;
  cout << boolalpha<<isAdult;
}

boolalpha
Zmienna bool jest, true lub false wyświetla,

Dzięki przeanalizuje ten kod.

0

Zamykam temat

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