Witam jak zrobić podanie wyniku po słowie koniec?
Aktualnie wynik otrzymuje po wpisaniu -1.
until a=-1;
Witam jak zrobić podanie wyniku po słowie koniec?
Aktualnie wynik otrzymuje po wpisaniu -1.
until a=-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!!!
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;
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.
Wszystko źle, nie działa bo wczytujesz "a" zaś sprawdzasz "S".
zamiast a1..a6 użyj tablicy a:array[1..6]of Word;
Tablić nie moge użyć bo ich nie przerabialiśmy.
@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.