Podanie wyniku po slowie "koniec'.

0

Witam jak zrobić podanie wyniku po słowie koniec?

Aktualnie wynik otrzymuje po wpisaniu -1.

until a=-1;

1
program ogarnij_podstawy_i_uzywaj_google_zanim_zapytasz;

{$APPTYPE CONSOLE}

var
  S : string;
begin
  repeat
    Write('Napisz cokolwiek: ');
    Readln(S);
  until S = 'koniec';
  Writeln('Pokazuje wynik...');
  Readln;
end.

I pytania o banalne podstawy zadaje się w dziale Newbie i zawsze należy tagować wątki nazwą środowiska / języka!!!

0
var S:String;
var a:Integer;

while true do
begin
  Write('Podaj liczbe: ');
  ReadLn(S);
  if S='koniec' then break;
  a:=StrToIntDef(S,MaxInt);
  if a=MaxInt then WriteLn('miala byc liczba');
  else
  begin
    WriteLn('Podales liczbe ',a);
  end;
end;
0

Co tu zrobiłem źle?

 program zaliczenie23;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var a, suma, n:integer;           {Deklaracja zmiennych}
    a1,a2,a3,a4,a5,a6, :Integer;
    S : string;
begin

Writeln('Srednia ocen');
Writeln;
Writeln('Wpisz "koniec" aby otrzymac wynik');
Writeln;
Writeln;
a1:=0;
a2:=0;
a3:=0;
a4:=0;
a5:=0;
a6:=0;

suma:=0;a:=0;n:=0;


repeat

Write('Podaj ocene ');
readln(a);
if ((a > 0) and (a < 7)) then
begin
  if a=1 then a1:=a1+1;
  if a=2 then a2:=a2+1;
  if a=3 then a3:=a3+1;
  if a=4 then a4:=a4+1;
  if a=5 then a5:=a5+1;
  if a=6 then a6:=a6+1;
  suma:=suma+a;
  n:=n+1;
end
else Writeln('Zla ocena');

until S = 'koniec';

Writeln;
writeln('Srednia ocen: ',suma/n :10:2) ;
Writeln;
writeln('Wpisane oceny: ',n);
Writeln;
if a1>0 then writeln(a1,' x 1', a1*100/n:10:2,'%');
if a2>0 then writeln(a2,' x 2', a2*100/n:10:2,'%');
if a3>0 then writeln(a3,' x 3', a3*100/n:10:2,'%');
if a4>0 then writeln(a4,' x 4', a4*100/n:10:2,'%');
if a5>0 then writeln(a5,' x 5', a5*100/n:10:2,'%');
if a6>0 then writeln(a6,' x 6', a6*100/n:10:2,'%');
Writeln;


 

Readln;

end.
0

Wszystko źle, nie działa bo wczytujesz "a" zaś sprawdzasz "S".
zamiast a1..a6 użyj tablicy a:array[1..6]of Word;

0

Tablić nie moge użyć bo ich nie przerabialiśmy.

0

@And333: Przy użyciu procedury opisanej na: Val sprawdzaj czy wpisany tekst jest prawidłową liczbą z prawidlowego zakresu i wtedy wykonuj operacje lub rób to tak, jak pokazał w piewszym postcie @_13th_Dragon. Poza tym co to za jakiś idiotyzm wykładających. Nie wolno Wam użyć tablic, bo ich nie przerabialiśmy, zamiast od razu je przerobić i szybko omówić aby uczyć ludzi pisania prawidłowego kodu, a nie takich - niesformatowanych dobrze w dodatku - "potworków", jakie pokazałeś we wklejonym przez Ciebie kodzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1