Dodaj do ulubionych

Pascal- prosze o porade

10.01.07, 22:58
Witam. Zaczynam naukę Pascala. Mam problem z jednym zadaniem i ani z pomocą
podręcznika, ani szukając w internecie, nie potrafi znaleźć odpowiedzi.
kod programu:

program zadania;
uses crt;
var
menu,menu2:char;
a,h:real;

begin
clrscr;
writeln('Wybierz opcje: ');
writeln('oblicz pole trójkąta ...... 1');
writeln('dodawanie ................. 2');
writeln('mnożenie .................. 3');

readln(menu);

case menu of
'1':write('wybrales trójkąt');
[TU CHCIAłBYM WSTAWIć PO RAZ DRUGI INSTRUKCJE "CASE OF" TAK BY STWORZYć
KOLEJNE MENU Z WYBOREM RóżNYCH RODZAJóW TRóJKąTA]
'2':write('wybrales dodawanie');
'3':write('wybrales mnożenie');

end;
repeat until keypressed;
end.

Pierwsze menu wyboru "case of" działa prawidłowo. Po mimo wielu prób, nie
potrafie wstawić tego drugiego. Reszta zadania wydaje sie prosta, ale bez tego
nie mogo go dalej ruszyć.

z góry dzieki za pomoc, pozdrawiam.
Obserwuj wątek
    • krozy31415 Re: Pascal- prosze o porade 11.01.07, 09:56
      Można napisać bardzo brzydko w ten sposób:
      '1': begin
      write('wybrales trójkąt');
      case ...
      end;

      A najlepiej to całość przerobić na procedury, np.
      '1': begin
      write('wybrales trójkąt');
      MenuTrojkat; // <- a tam już obsługa tego nowego menu...
      end;
      • oscypek11 Re: Pascal- prosze o porade 11.01.07, 10:50
        tak właśnie zrobiłem (a przynajmniej tak mi sie tak wydaje) i nie wiem gdzie mam
        błąd. W komunikacie o błędach mam napisane: "Label used but not defined "2" " i
        tyczy się to wiersza <27,5> czyli tego z: "'1':writeln('wybraleś dowolny');"


        program zadania;
        uses crt;
        var
        menu,menu2:char;
        a,h:real;

        begin
        clrscr;
        writeln('Wybierz opcje: ');
        writeln('oblicz pole trójkąta ...... 1');
        writeln('dodawanie ................. 2');
        writeln('mnożenie .................. 3');

        readln(menu);

        case menu of
        '1':begin
        write('jaki rodzaj trójkąta?');
        write('dowolny...1');
        write('równoboczny...2');
        readln(menu2);
        case menu2 of
        '1':writeln('wybraleś dowolny');
        '2':writeln('wybraleś równoboczny);
        end;

        '2':write('wybrales dodawanie');
        '3':write('wybrales mnożenie');

        end;
        repeat until keypressed;
        end.
        • stach.wokulski Re: Pascal- prosze o porade 12.01.07, 15:09
          <27> to chyba:
          <code>'2':write('wybrałeś dodawanie');</code>

          Przed nim powinno być jeszcze jedno <code>end</code> sparowane z wierszem:
          <code>'1':begin</code>
          <code>end</code>, które już jest, dotyczy wewnętrznego <code>case</code>

          Pozdrawiam,
          M.

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka