Dyskusja: Turbo Pascal
Podgląd pojedynczego posta
Stary 22.12.2003, 15:21   #9
cinma
Samiec - twój wróg!
 
Data rejestracji: 21.06.2003
Lokalizacja: Lublin
Posty: 330
cinma zaczyna zdobywać reputację <1 - 49 pkt>
Cytat:
Napisany przez Banana Coctail
A znasz funkcje która spytałaby by użytkownika "Jeśli chcesz wyjść naciśnij W a jeśli chcesz wykonać jakieś działanie naciśnij T"
jak napisal pawelblu - jest wiele mozliwosci, zalezy od tego, co chcesz zrobic
ale ogolnie to mozna zapisac tak:
Kod:
program

// deklaracja typow
// deklaracja zmiennych

var
  odp : Char;
begin
  // tu moze byc jakis kod

  // pytamy o akcje
  Write('Co chcesz zrobic? ');
  ReadLn(odp);

  while (UpCase(odp) <> 'W') do begin  // dopoki uzytkownik nie wpisal 'w' lub 'W'
    case UpCase(odp) of
      // tutaj lista mozliwosci
      'A' : ProceduraA;  // wywolanie procedury A
      'B' : ProceduraB;  // wywolanie procedury B
      'C' : ProceduraC;  // wywolanie procedury C
    else  // podano inna wartosc
      WriteLn('Podales ', odp, ', nie ma takiej mozliwosci.');
    end;  // case

    // pytamy o akcje
    Write('Co chcesz zrobic? ');
    ReadLn(odp)
  end;  // while

  WriteLn('No to konczymy.');

  // tu moze byc jakis kod, ktory wykona sie przed zakonczeniem programu
end.
a ladniej to mozna by tu zrobic funkcje, ktora pyta o akcje i zwraca odpowiednia wartosc, zalezna od odpowiedzi
Kod:
function CoRobimy : Integer;
// funkcja, ktora wyswietla 'menu', pyta uzytkownika
// o akcje i zwraca wartosc odpowiedzi
var
  odp : Integer;
begin
  // pytamy o akcje
  WriteLn('1. procedura pierwsza');
  WriteLn('2. procedura druga');
  WriteLn('3. procedura trzecia');
  WriteLn('0. koniec');
  Write('Co chcesz zrobic? (wpisz 1, 2, 3 lob 0) ');

  // wczytujemy odpowiedz
  ReadLn(odp);

  // zwracamy odpowiedz
  Result := odp
end;  //  CoRobimy

a potem w programie:

// potrzebne doklaracje
  var
    akcja : Integer;
begin
  // jakis kod

  akcja := CoRobimy;  // wczytujemy odpowiedz
  while ( akcja <> 0 ) do begin
    case akcja of
      1 : Procedura1;
      2 : Procedura2;
      3 : Procedura3;
    else
      WriteLn('Nie ma takiej akcji.')
    end;

    akcja := CoRobimy;  // wczytujemy odpowiedz
  end;  // while

  // jakis kod na koniec
end.
__________________
"Chciałam powiedzieć tak, że 90% oprogramowania w Europie rzeczywiście pisanych jest w Microsoft Office, natomiast ok. 5% w Linuksie."
Podsekretarz Stanu w Ministerstwie Edukacji Narodowej i Sportu Hanna Kuzińska

Ostatnio zmieniany przez cinma : 22.12.2003 o godz. 15:39
cinma jest offline   Odpowiedz cytując ten post