Program zgadujący liczbę z przedziału, o której użytkownik pomyśli

0

Cześć,
mam za zadanie zrobić taki oto program:

Napisać program zgadujący wymyśloną przez użytkownika liczbę całkowitą.
a) zakres, z którego jest liczba podany przez użytkownika,
b) program zadaje wielokrotnie pytanie, czy liczba jest mniejsza od pewnej wartości k,
c) w zależności od odpowiedzi („t” „n”), program ustala k dla kolejnego pytania,
d) po „zgadnięciu” liczby program wyświetla odpowiedni komunikat,
e) program powinien zadać jak najmniejszą liczbę pytań.

Mój kod jest taki:

#include <iostream>

using namespace std;

int main()
{
	int min, max, k, przedzial;
	char klawisz, czyLiczba;

	cout << "Podaj przedzial liczbowy: ";
	cin >> min >> max;
	k = (max - min) + 1;
	
	do
	{
		cout << "Czy twoja liczba to " << k << "? (t / n )" << endl;
		cin >> czyLiczba;

		if (czyLiczba == 'n')
		{
			cout << "Czy twoja liczba jest mniejsza od " << k << " ? (t / n)" << endl;
			cin >> klawisz;

			switch (klawisz)
			{
			case 't':
				k = k / 2;
				break;
			case 'n':
				k += k / 2;
				break;
			default:
				cout << "Zly znak";
			}
		}
	} while (czyLiczba != 't');

	cout << "Twoja liczba to " << k;
}
3

Cześć. Fajny program. Czy masz z nim jakiś problem, czy oczekujesz oceny kodu? Jeśli tego drugiego to zapraszam tutaj: Oceny i recenzje

0

Nie zbyt user friendly

0

Program nie bardzo spełnia swoje zadanie:

screenshot-20191029083140.png

i może tak lecieć zapewne w nieskończoność, jeszcze musiałbyś zabezpieczyć przed czymś takim:

screenshot-20191029083308.png

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