Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

Eszy

Rozwiązany: Dev Pascal - problem z programem

Polecane posty

Witam.

Próbuje napisać program w Dev Pascalu, który sprawdza, czy podana liczba przez użytkownika mieści się w przedziale od 1 do 100. Napisałem taki program:

program cda;

uses crt;

var

a:longint;

label miejsce1;

begin

writeln('Ten program sprawdza, czy liczba ktora podales miesci sie w przedziale 1-100.');

miejsce1:

writeln('Podaj liczbe: ');

read(a);

if (a<101) or (a>0) then

begin;

writeln('Podales liczbe mieszczaca sie w przedziale 1-100!');

end;

if (a>100) or (a<1) then

begin;

writeln('Podales liczbe nie mieszczaca sie w przedziale 1-100! Sproboj jeszcze raz.');

goto miejsce1;

end;

readln;

readln;

end.

Kiedy wpisuje liczbę z przedziału 1-100, np 50, pojawia się odpowiedni komunikat i gdy nacisnę enter, program się wyłącza, jednak gdy napiszę liczbę nie mieszczącą się w tym przedziale, np. 150, wtedy pojawia się komunikat o podaniu liczby mieszczącej się w przedziale oraz o tym, że użytkownik podał liczbę nie mieszczącą się w przedziale i żeby spróbował jeszcze raz. Czy wie ktoś w czym tkwi usterka tego programu? Proszę o pomoc i pozdrawiam.

Link do komentarza
Udostępnij na innych stronach

Opis słowny pasuje do przedstawionego kodu. Co rozumiesz przez usterkę? Zgaduję, że chciałbyś, aby program zachowywał się inaczej, ale jak? Poza tym gorąco polecam zrezygnować z instrukcji "goto". Poza bardzo specyficznymi przypadkami jej użycie jest odradzane. Zamiast goto użyj jakiejś pętli.

Link do komentarza
Udostępnij na innych stronach

Słuchaj. Kiedy podaje liczbę w przedziale 1-100 taką jak np. 10 pojawia się komunikat:

'Podales liczbe mieszczaca sie w przedziale 1-100!

I program się zamyka.

Kiedy podaje liczbę NIE mieszczącą się w tym przedziale (np. 200) pojawia się taki komunikat:

Podales liczbe mieszczaca sie w przedziale 1-100!

Podales liczbe nie mieszczaca sie w przedziale 1-100! Sproboj jeszcze raz.

I muszę jeszcze raz podać liczbe. Rozumiesz już o co chodzi z tą usterką? Po podaniu liczby nie mieszczącej się w przedziale nie powinno pojawiać się zdanie o podaniu poprawnej liczby. Jeżeli masz dev pascala, to wprowadź kod do programu i zobacz jak to działa.

Link do komentarza
Udostępnij na innych stronach

A w którym miejscu w programie mam wpisać clrscr?

EDIT: To chyba nie o to chodzi. Wrzuciłem clrscr w różne miejsce w programie i dalej pojawia się ten dodatkowy komunikat (a może po prostu umieszczałem clrscr w złych miejscach w programie?). Nie wiem, wydaje mi się, że jednak nie o to chodzi.

Link do komentarza
Udostępnij na innych stronach

Gość
Temat jest zablokowany i nie można w nim pisać.


  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...