Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Программа в Pascal

Ответить
Настройки темы
Разное - [решено] Программа в Pascal

Ветеран


Сообщения: 710
Благодарности: 12

Профиль | Отправить PM | Цитировать


Изменения
Автор: asus a9rp
Дата: 24-08-2009
Описание: Добавил новую версию программы
Я создавал программу как опрос. Вот она:
Код: Выделить весь код
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.

Отправлено: 22:27, 20-08-2009

 

Старожил


Сообщения: 435
Благодарности: 63

Профиль | Отправить PM | Цитировать


Используйте 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;

-------
black-eric.livejournal.com

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:46, 20-08-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 710
Благодарности: 12

Профиль | Отправить PM | Цитировать


BlackEric, Всё работает!!! Огромное спасибо!

Последний раз редактировалось asus a9rp, 21-08-2009 в 00:34.


Отправлено: 22:54, 20-08-2009 | #3


Ветеран


Сообщения: 710
Благодарности: 12

Профиль | Отправить PM | Цитировать


У меня ещё вопрос. Если вот тут
Код: Выделить весь код
Write ('Какой у Вас Windows? [XP - 1, Vista - 2] -> '); Readln (x);
ввести 1 или 2 - всё нормально, если другую цифру - код = 0, а если букву или символ - программа отключается. Как это изменить (тоже сделать нулевой код)?

И ещё один вопрос. Тоже тут. у меня операционки написаны в скобках, а я хочу в столбик. Я пробовал так:
Код: Выделить весь код
Write ('Какой у Вас Windows?') 
Write ('XP - 1')
Write ('Vista - 2')
Write ('-> '); Readln (x);
но не помогло. Было всё равно в строчку.

Отправлено: 00:43, 21-08-2009 | #4


Аватара для DillerInc

Обратный инженер


Сообщения: 644
Благодарности: 47

Профиль | Отправить PM | Цитировать


Цитата asus a9rp:
а я хочу в столбик »
...байты 0Dh и 0Ah в конец строки.
http://delphi.about.com/od/adptips2005/qt/crlf.htm

-------
То,что неясно,следует выяснить.То,что трудно творить,следует делать с великой настойчивостью. © Конфуций


Отправлено: 00:51, 21-08-2009 | #5


Вредитель


Сообщения: 460
Благодарности: 126

Профиль | Отправить PM | Цитировать


Цитата asus a9rp:
а я хочу в столбик »
Writeln вместо Write.

-------
Все сказаное является только моим личным мнением.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:53, 21-08-2009 | #6


Ветеран


Сообщения: 710
Благодарности: 12

Профиль | Отправить PM | Цитировать


DedAlex, ой. Очепятка... Спасибо!

Отправлено: 02:23, 21-08-2009 | #7


Ветеран


Сообщения: 710
Благодарности: 12

Профиль | Отправить PM | Цитировать


Ах да. Вот.
Цитата asus a9rp:
У меня ещё вопрос. Если вот тут
Код: Выделить весь код
Write ('Какой у Вас Windows? [XP - 1, Vista - 2] -> '); Readln (x);
ввести 1 или 2 - всё нормально, если другую цифру - код = 0, а если букву или символ - программа отключается. Как это изменить (тоже сделать нулевой код)? »
DillerInc, у меня Pascal а не Delphi.
DedAlex, да, всё работает. Ещё раз спасибо.

Отправлено: 17:56, 21-08-2009 | #8


Аватара для DillerInc

Обратный инженер


Сообщения: 644
Благодарности: 47

Профиль | Отправить PM | Цитировать


Цитата asus a9rp:
у меня Pascal а не Delphi »
...нет разницы в данном случае.
0Dh (hex) == 13 (dec) == CR == carriage return == возврат каретки
0Ah (hex) == 10 (dec) == LF == line feed == перенос строки
Функция WriteLn добавляет эти два байта в конец строки.Только в Дельфе это вроде как именуется признаком конца строки - EOLN - но суть та же.
Учите матчасть.

-------
То,что неясно,следует выяснить.То,что трудно творить,следует делать с великой настойчивостью. © Конфуций


Отправлено: 19:21, 21-08-2009 | #9


Ветеран


Сообщения: 710
Благодарности: 12

Профиль | Отправить PM | Цитировать


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

Отправлено: 22:18, 21-08-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Программа в Pascal

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Всё о TURBO PASCAL (обсуждение, помощь в написание программ, ошибки, Pascal ABC) Loading Программирование и базы данных 41 20-05-2015 15:28
Разное - [решено] Графический режим Turbo Pascal и Windows 7 Hector Microsoft Windows 7 9 07-06-2010 13:53
Delphi - [решено] Помогите с задачей /Pascal/ Habetdin Программирование и базы данных 23 11-11-2009 22:46
Разное - Pascal ManHack Программирование и базы данных 2 01-09-2009 22:50
[решено] программирование на pascal PAUK Программирование и базы данных 2 09-11-2006 10:43




 
Переход