Разное - [решено] Программа в Pascal

Ответить
 • Просмотры: 1
Аватара пользователя
asus a9rp

Разное - [решено] Программа в Pascal

Сообщение asus a9rp »

Я создавал программу как опрос. Вот она:



Код:

Код: Выделить всё

Uses Crt;
Var x, y: Integer;
 begin
  ClrScr;
  y:=0;
  Write ('Какой у Вас Windows? [XP - 1, Vista - 2] -> '); Readln (x);
  If  x=1 Then
   begin
    inc(y)
   end
  Else  If x=2 Then
   begin
    inc(y)
   end
  Else  Writeln ('Значение не верно! Учитывается как 0!');
  Writeln('Код: ',y);
  Readln;
 end.

Ну так вот. Есть "inc(y)" и добавляет к результату (коду) 1. Мне нужно, чтобы в определённых местах добавлялось 3, 10, 20, 400, 1000 и т.д. Помогите. Заранее спасибо.

Опыт у меня примерно двухнедельный Изображение



Сейчас программа выглядет так (ориентируйтесь на эту версию):


читать дальше »




Код:

Код: Выделить всё

Uses Crt;
Var x, y: Integer;
  begin
   TextBackGround(1); ClrScr;
   y:=0;
   Writeln ('Какой у Вас Windows?');
   Writeln ('');
   Writeln ('XP    -  1');
   Writeln ('Vista -  2');
   Writeln ('2000  -  3');
   Writeln ('Seven -  4');
   Writeln (''); Readln (x);
  case x of
   1:inc(y, 10);
   2:inc(y, 20);
   3:inc(y, 30);
   4:inc(y, 40);
   Else
      Writeln ('Значение не верно! Учитывается как 0!'); Readln;
   End;
   ClrScr;
   Writeln ('Какой у Вас Office?');
   Writeln ('');
   Writeln ('2003 -  1');
   Writeln ('2007 -  2');
   Writeln ('2010 -  3');
   Writeln (''); Readln (x);
  case x of
   1:inc(y);
   2:inc(y, 2);
   3:inc(y, 3);
   Else
      Writeln ('Значение не верно! Учитывается как 0!'); Readln;
   End;
   ClrScr;
   Writeln('');
   Writeln('Код: ',y);
   Readln;
 end.
Аватара пользователя
BlackEric

Re: Разное - [решено] Программа в Pascal

Сообщение BlackEric »

Используйте inc(y, 4);

Для уменьшения можно использовать dec();



Код:

Код: Выделить всё

If  x=1 Then
   begin
    inc(y)
   end
  Else  If x=2 Then
   begin
    inc(y)
   end

Эта конструкция по нормальному должна выглядеть так:



Код:

Код: Выделить всё

  case x of
  1:inc(y);
  2:inc(y);
  Else  
     Writeln ('Значение не верно! Учитывается как 0!');
  End;
Аватара пользователя
BlackEric

Re: Разное - [решено] Программа в Pascal

Сообщение BlackEric »

BlackEric, Всё работает!!! Огромное спасибо!
Аватара пользователя
Alan85

Re: Разное - [решено] Программа в Pascal

Сообщение Alan85 »

паскаль делает программы для DOS - а их там никогда не было. В винде эта проблема решается созданием ярлыка (pif файл)где и задается иконка , при этом и сам exe видится с иконокой пока не удалишь pif файл. вроде так.

а вот пример который тебе может помочь в решении твоей задачи. Обрати внимание что char тоже можно сравнивать при помощи case...



Код:

Код: Выделить всё

program pnum;
var
num:char;
begin
writeln("Enter number 1 or 2");
readln(x);
case x of
 '1': writeln('1');
 '2':writeln('2');
 else writeln('error');
end;
end.
Аватара пользователя
asus a9rp

Re: Разное - [решено] Программа в Pascal

Сообщение asus a9rp »

BlackEric, Всё работает!!! Огромное спасибо!
Аватара пользователя
asus a9rp

Re: Разное - [решено] Программа в Pascal

Сообщение asus a9rp »

Ах да. Вот.


Цитата asus a9rp:



У меня ещё вопрос. Если вот тут



Код:

Код: Выделить всё

Write ('Какой у Вас Windows? [XP - 1, Vista - 2] -> '); Readln (x);

ввести 1 или 2 - всё нормально, если другую цифру - код = 0, а если букву или символ - программа отключается. Как это изменить (тоже сделать нулевой код)?
Разное - [решено] Программа в Pascal




DillerInc, у меня Pascal а не Delphi. Изображение

DedAlex, да, всё работает. Ещё раз спасибо.
Аватара пользователя
DillerInc

Re: Разное - [решено] Программа в Pascal

Сообщение DillerInc »

Цитата asus a9rp:



у меня Pascal а не Delphi
Разное - [решено] Программа в Pascal




...нет разницы в данном случае.

0Dh (hex) == 13 (dec) == CR == carriage return == возврат каретки

0Ah (hex) == 10 (dec) == LF == line feed == перенос строки

Функция WriteLn добавляет эти два байта в конец строки.Только в Дельфе это вроде как именуется признаком конца строки - EOLN - но суть та же.

Учите матчасть.
Аватара пользователя
DedAlex

Re: Разное - [решено] Программа в Pascal

Сообщение DedAlex »

DillerInc, спасибо за разъяснение, но всёже вернёмся к моему вопросу. Изображение
Ответить

Вернуться в «Программирование и базы данных»