Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2011, 20:33   #1
glebochek
 
Регистрация: 06.12.2011
Сообщений: 6
Сообщение Написать программу через case!!!

С клавиатуры вводится последовательность символов. Признак завершения ввода символ ch.

Символ ch присвоить точке (.). Определить количество вхождения цифр, больших букв латиницы, маленьких букв латиницы и других символов последовательности.

Нужно прогу ниже переделать через case, но не знаю как.

uses crt;
var ch:char;
chis,mal,bol,simvol:byte;
begin
clrscr;
chis:=0; mal:=0; bol:=0; simvol:=0;
repeat
read(ch);
if ch in['0'..'9'] then
chis:=chis+1;
if ch in['A'..'Z'] then bol:=bol+1;
if ch in['a'..'z'] then mal:=mal+1;
if ch in ['!','@','#','$','%','^','&','*','(' ,')','_','-','=','+','\','|',' ',
'{','}','~','`','[',']',',','.',':',';','?','/']

then simvol:=simvol+1;
until ch='.';
readln;
writeln('kolichestvo chisel ' , chis );
writeln('kolichestvo malenkix bukv ' , mal );
writeln('kolichestvo bolchih bukv ' , bol);
writeln('kolichestvo drugix simvolov ' , simvol);
readln;
end.
glebochek вне форума Ответить с цитированием
Старый 06.12.2011, 21:50   #2
<- DelpHIFanat ->
Пользователь
 
Аватар для <- DelpHIFanat ->
 
Регистрация: 07.11.2011
Сообщений: 58
По умолчанию

Переписал с Case.

Код:
uses crt;
var 
  ch:char;
  chis,mal,bol,simvol:byte;
begin
  clrscr;
  chis:=0; mal:=0; bol:=0; simvol:=0;
  repeat
    read(ch);

    Case ch Of
      '0'..'9': chis:=chis+1;
      'A'..'Z': bol:=bol+1;
      'a'..'z': mal:=mal+1;
      '!','@','#','$','%','^','&','*','(' ,')','_','-','=','+','\','|',' ',
      '{','}','~','`','[',']',',','.',':',';','?','/': simvol:=simvol+1;
    End;

   until ch='.';
    readln;
  writeln('kolichestvo chisel ' , chis );
  writeln('kolichestvo malenkix bukv ' , mal );
  writeln('kolichestvo bolchih bukv ' , bol);
  writeln('kolichestvo drugix simvolov ' , simvol);
  readln;
end.
И ещё: не просто рекомендую форматировать код, а призываю к этому, а то Ваш код: называетсяполомайглаза.
Лучше вообще не иметь знаний о чём-то, чем иметь неправильные знания об этом!..
<- DelpHIFanat -> вне форума Ответить с цитированием
Старый 08.12.2011, 15:53   #3
glebochek
 
Регистрация: 06.12.2011
Сообщений: 6
По умолчанию

Спасибо большое!!
glebochek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить приведенную программу, используя оператор варианта CASE(Pascal) Nitoo Помощь студентам 2 29.09.2010 15:16
необходимо написать программу(в Паскале или Бэйсике)через файлы. Mariya0202 Помощь студентам 5 21.05.2010 17:36
Написать программу, иcпользуя case Станислава13 Паскаль, Turbo Pascal, PascalABC.NET 1 04.05.2010 17:04
не работают процедуры через case of sproject Помощь студентам 3 22.03.2010 14:46
Написать программу, определяющую, через сколько дней количество съеденных комаров превысит 100 мелкая007 Паскаль, Turbo Pascal, PascalABC.NET 1 12.01.2009 13:22