Witam, napisałem program, który wykonuje obliczenia matematyczne(trochę ich jest). Wiec za każdym razem, żeby wychodzić i wchodzić do programu tylko po to żeby cofnąć się jeden stopień do poprzedniego menu nie ma sensu. Kombinowałem sam z if i then i z repeat i until ale mi nie wychodzi. Czy ktoś ma jakiś pomysł ?
Pozdrawiam!
Ale pomysł na co? Na powrót?
To instrukcja goto?
A może umieść to menu w pętli ?
Jeśli masz rozbity program na procedury, to robisz to tak (pisane z głowy, a w Pascalu nie pisałem sto lat, pewnie gdzieś BEGIN i END potrzeba):
REPEAT
WriteLn('1. Licz1');
WriteLn('2. Licz2');
WriteLn('3. Wyjdź');
Read(wybor);
CASE wybor OF
1: Licz1();
2: Licz2();
UNTIL wybor = 3
W tych procedurach (Licz1 i Licz2) robisz podobne menu i wtedy, gdy już zakończą się tam obliczenia lub gdy z podmenu wybierzesz opcję (menu wyżej na przykład) to wróci do miejsca wywołania, i to menu wyżej znów się pojawi.
o to chodziło ?
- Kod źródłowy
- Błędy przy kompilacji
Prawie dobrze. Tyle, że te Twoje wywołania procedur są złe, a raczej te nazwy procedur są złe. Zapewne nie masz w kodzie takich nazw procedur jak Obliczyc pierwiastek dane liczby
itd.. Najpierw napisz sobie procedurę, która taki pierwiastek liczy i nazwij ją na przykład LiczPierwiastek
a później w instrukcji case
wywołaj tę procedurę.
Rozumiesz?
chodzi na przykład o to:
var pierwiastek:real;
?
Zacznij od jakiegoś kursu online w którym będziesz miał wyjaśnione funkcje/procedury a wszystko stanie się jasne.