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

Компьютерный форум 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 | Цитировать


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

Я бы сделал как-то так:

Код: Выделить весь код
readln(x);
case ord(x) of
ord(1): inc(y);
ord(2): inc(y);
else
writeln('Неверный ввод!');
end;
Этот алгоритм не идеален, но общая идея примерно такова.
Пробуйте.

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


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



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

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


Ветеран


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

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


Спасибо, ппробую.
Как char я её писал, но только на месте Integer, а дальше ничего не менял.

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


Ветеран


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

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


Ну и покачто последний вопрос. Можно ли моей программе поменять иконку (ну к примеру как папке)?

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


Ветеран


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

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


BlackEric, вылезла одна ошибка - нестыковка тута:
Код: Выделить весь код
Uses Crt;
Var x, y: Char;
 begin
  TextBackGround(1); ClrScr;
  y:=0;
  Writeln ('Какой у Вас Windows?');
И пишет:
Цитата Pascal:
Programm.pas(5,6) Error: Incompatible types: got "ShortInt" expected "Char"
Programm.pas(40) Fatal: There were 1 errors compiling module, stopping
Programm.pas(0) Fatal: Compilation aborted

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


Старожил


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

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


Цитата asus a9rp:
y:=0; »
Вы же переменной символьного типа присваиваете число. Так нельзя.

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


Отправлено: 18:50, 23-08-2009 | #15


Ветеран


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

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


А как иначе?

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


Старожил


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

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


asus a9rp, а что вы хотите сделать?
Где работаем числами, там integer, real, где строки там Char или string.

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


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


Ветеран


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

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


BlackEric, ладно, пусть будет как было. Я просто хотел испрасить отключение программы после ввода буквы, а не цифры.

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


Старожил


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

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


asus a9rp,
1. Вам ничего не мешает описать несколько переменных
var
x: char;
y: integer;
.....и т.д.
2. Почитайте по приведение типов.
Char ковертируется в Byte одной функцией chr.

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


Отправлено: 00:35, 24-08-2009 | #19


Ветеран


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

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


Я прописал, читал про приведение типов, но всё равно не получилось. Ладно, оставим как есть.
Но я просто объясню свою идею:
В программе требуется ввести число, если я ввожу правильное, то всё нормально. Если введено другое число, то выводится соответствующая надпись. Если введена буква, то программа отключается. Мне нужно было, чтобы если введена буква была выведеня такая же надпись, как и при неправильном числе. Но вводить нужно не буквы, а цифры. Вот и всё. Но с этим закончим. У меня только вопрос:
Цитата asus a9rp:
Можно ли моей программе поменять иконку (ну к примеру как папке)? »

Отправлено: 12:28, 24-08-2009 | #20



Компьютерный форум 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




 
Переход