Sepsal jsem program , ale když to vypisuje poočet znaků tak to špatně přiřažuje počty ke znakům .PŘ: v souboru je 19 znaku a ono mi to napise 19 pismen 19 ostatnich 0 cisel ikdyz tam zadam i cisla .
program Pocitadlo;
const Konec = '*';
var Pismena, Cislice, Ostatni : integer;
Znak : Char;
procedure Pozdrzeni;
begin
writeln (' ');
writeln ('Stisknete enter');
readln;
end;
begin
writeln ('Pocitadlo znaku');
writeln ('Napiste nekolik znaku, ukoncete zmacknutim "*"');
writeln (' ');
Pismena := 0;
Cislice := 0;
Ostatni := 0;
read (Znak);
while Znak <> Konec do
begin
case Znak of
'a'..'z' , 'A'..'Z' : Pismena := Pismena + 1;
'0'..'9' : Cislice := Cislice + 1;
else Ostatni := Ostatni + 1;
end;
read (Znak);
end;
writeln ('Celkem:');
writeln (' ');
begin
case Pismena of
2 .. 4 : Writeln (Pismena, ' pismena');
0, 5 .. 30000 : Writeln (Pismena, ' pismen');
1 : Writeln (Pismena, ' pismeno');
end;
case Cislice of
1 .. 4 : Writeln (Cislice, ' cislice');
0, 5 .. 30000 : Writeln (Pismena, ' cislic');
end;
case Ostatni of
2 .. 4 : Writeln (Ostatni, ' ostatni znaky');
0, 5 .. 30000 : Writeln (Ostatni, ' ostatnich znaku');
1 : Writeln (Ostatni, ' ostatni znak');
end;
end;
Readln;
Pozdrzeni;
end.