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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.02.2016, 13:09   #1
Imwey
 
Регистрация: 07.02.2016
Сообщений: 6
По умолчанию Проверка введенных данных

Как сделать проверку веденных данных? К примеру мне надо вводить только цифры, при вводе буквы , ошибка чтобы была. Буду очень благодарен.

Код HTML:
uses crt;
//Массив названий пунктов меню
const MainMenu:array[1..7] of string=('1-Треугольник',
                                      '2-Прямоугольник',
                                      '3-Круг',
                                      '4-Куб',
                                      '5-Квадрат',
                                      '6-Ромб',
                                      '7-Выход');
      SubMenuTriangle:array[1..4] of string=('1-по 3 сторонам',
                                      '2-по 2 сторонам и углу между ними',
                                      '3-по стороне и высоте',
                                      '4-назад в меню');
procedure Menu(var k:byte;kol:byte);
var kod: char;
    i:byte;
begin
clrscr;
k:=1;
repeat
  for i:=1 to kol do
   begin
     if i=k then
      begin
         textbackground(10); //Цвет стрелки выбора
         textcolor(9); //Цвет букв в меню
      end
     else
      begin
         textbackground(7); //задний фон букв в меню
         textcolor(0)
      end;
     gotoxy(25,i);
     write(MainMenu[i]);
   end;
  writeln;
  textbackground(7); //Задний фон который менятеся, после выбора фигуры, он же и остается далее
  writeln;
  repeat
  kod:=readkey;
  if kod=#0 then kod:=readkey;
  until kod in [#13, #38, #40];
  case kod of
  #38: begin  //стрелка вверх
       k:=k-1;
       if k=0 then k:=kol;//если верхний край, вниз
       end;
  #40: begin  //стрелка вниз
       k:=k+1;
       if k>kol then k:=1;//если нижний край, вверх
       end;
  end;
 until kod=#13; //Enter - выбор
end;
procedure SubMenu(var k:byte;kol:byte);
var kod: char;
    i:byte;
begin
k:=1;
repeat
  for i:=1 to kol do
   begin
     if i=k then
      begin
         textbackground(10); //Цвет стрелки выбора
         textcolor(9); //Цвет букв в меню
      end
     else
      begin
         textbackground(7); //задний фон букв в меню
         textcolor(0)
      end;
     gotoxy(45,i);
     write(SubMenuTriangle[i]);
   end;
  writeln;
  textbackground(7); //Задний фон который менятеся, после выбора фигуры, он же и остается далее
  writeln;
  repeat
  kod:=readkey;
  until kod in [#13, #38, #40];
  case kod of
  #38: begin  //стрелка вверх
       k:=k-1;
       if k=0 then k:=kol;//если верхний край, вниз
       end;
  #40: begin  //стрелка вниз
       k:=k+1;
       if k>kol then k:=1;//если нижний край, вверх
       end;
  end;
 until kod=#13; //Enter - выбор
end;
Procedure Triangle_1;
var a,b,c,s,res:real;
 begin
    clrscr;
    repeat
    write('Введите строну А: ');
    readln(a);
    write('Введите строну B: ');
    readln(b);
    write('Введите строну С: ');
    readln(c);
    s:= (a + b + c) / 2;
    res:= sqrt(s * (s - a) * (s - b) * (s - c)); //конечная Формула по которой мы узнали площадь треугольника.
    writeln('Площадь треугольника: ', res:6:2);
    readln;
 end;
Procedure Triangle_2;
var a,b,u,res:real;
 begin
    clrscr;
    write('Введите строну А: ');
    readln(a);
    write('Введите строну B: ');
    readln(b);
    repeat
    write('Введите угол между сторонами в градусах от 1 до 179: ');
    readln(u);
    until(u>=1)and(u<=179);
    u:=u*pi/180;
    res:= a*b*sin(u)/2;
    writeln('Площадь треугольника: ', res:6:2);
    readln;
 end;
Procedure Triangle_3;
var a,h,res:real;
 begin
    clrscr;
    write('Введите строну А: ');
    readln(a);
    write('Введите высоту H: ');
    readln(h);
     res:= a*h/2;
    writeln('Площадь треугольника: ', res:6:2);
    readln;
 end;
 
 Procedure Rectangle;
 var a,b,res:real;
 begin
    clrscr;
    write('Введите строну А: ');
    readln(a);
    write('Введите строну B: ');
    readln(b);
    res:= a * b; //Формула получения площади прямоугольника
    writeln('Площадь прямоугольника: ', res);
    readln;
 end;
 Procedure Circle;
 var d,res:real;
 begin
    write('Введите диаметр круга: '); //Вводим диаметр круга
    readln(d);
    res:= pi * sqr(d) / 4; // pi=3.14
    writeln('Площадь круга: ', res:6:2);
    readln;
 end;
 Procedure Cube;
 var a,res:real;
 begin
    clrscr;
    write('Введите ребро куба: ');
    readln(a);
    res:=a*a*a;
    writeln('Площадь куба: ', res:6:2);
    readln;
 end;
 Procedure Square;
 var a,res:real;
 begin
   clrscr;
   write('Введите сторону квадрата: ');
   readln(a);
   res:=a*a;
   writeln('Площадь квадрата: ', res:6:2);
   readln;
 end;
 Procedure Rhombus;
 var a,b:real;
 begin
  clrscr;
  write('Введите длину диагонали A: ');
  readln(a);
  write('Введите длину диагонали B: ');
  readln(b);
  writeln('Площадь ромба равна: ', a * b / 2:0:4);// цифры ограничивают вывод десятичных чисел
  readln;
 end;
var k,w:byte;
begin
 repeat
   Menu(k,7); //выводим меню
   case k of //выбираем стрелками действие
   1:begin
      SubMenu(w,4);
      case w of
      1: Triangle_1; //по 3 сторонам'
      2: Triangle_2; //по 2 сторонам и углу между ними
      3: Triangle_3; //по стороне и высоте
      4: if k=4 then break; //Возвращение в главное меню
      end;
     end;
   2:Rectangle; //Прямоугольник
   3:Circle; //Круг
   4:Cube; //Куб
   5:Square; //Квадрат
   6:Rhombus; //Ромб
   7:exit;
   end;
 until k=7;
end.
Imwey вне форума
Старый 07.02.2016, 13:20   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

на форуме запрещён кросспостинг (создание одинаковых тем в разных разделах форума)
Вадим Мошев вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка введенных данных Imwey Помощь студентам 8 07.02.2016 15:38
проверка введенных данных cargo29 JavaScript, Ajax 6 22.09.2011 13:56
проверка введенных данных ayPinki JavaScript, Ajax 2 28.11.2010 11:18
Проверка введенных данных viscas PHP 4 01.06.2009 02:41
проверка введенных данных Elm0 Общие вопросы Delphi 4 19.12.2008 19:00