Przerobienie programu z pętli do/while na while

Przerobienie programu z pętli do/while na while
L1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

Witam mam problem taki jak w temacie. Mam we wtorek kolosa z tego i nie do końca wiem jak zamienić ten program z pętli do/while na samo while. Oczywiście nikt nam tego nie tłumaczy, więc dlatego trudno mi to samemu załapać. Z góry dzięki za pomoc :)

Kopiuj
#include<stdio.h>
int main()
{

srand(time(NULL));
short propozycja, wylosowana=rand()%100;
do
{
printf("Wpisz liczbe: ");
scanf("%hd", &propozycja);
if (propozycja<0 || propozycja>99)
{
printf("Liczba poza zakresem 0-99.\n");
break;/* przejdz do warunku petli */
};
if (propozycja>wylosowana) printf("Zbyt duza liczba\n");
if (propozycja<wylosowana) printf("Zbyt mala liczba\n");
} while (propozycja!=wylosowana);
printf("Zgadza sie!\n");
system("pause");
}  
Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0

Różni się tylko miejscem gdzie warunek jest sprawdzany. Jedyne co trzeba zrobić to zainicjalizować zmienne sprawdzane w warunku i zapewnić żeby pętla wykonała się przynajmniej raz.

L1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

A można coś więcej? Bo nie za bardzo to rozumiem co napisałeś :(

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0

Zmień na pętlę while. Ustaw zmienną propozycja = wylosowana + 1 przed pętlą i tyle. No i chyba masz błąd, bo wydaje mi się, że w pętli zamiast break powinno być continue, bo break spowoduje przerwanie pętli i wyświetlenie info o sukcesie.

L1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

Super wielkie dzięki! Działa wszystko :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.