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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2009, 18:38   #1
StudeHt
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 78
По умолчанию Записи. Бьет ли карта k1 карту k2

Здравствуйте, Господа эксперты! Помогите разобраться в следующей задаче:TYPE масть=(пик,трефы,бубны,червы);
достоинство=(шесть,семь,восемь,девя ть,десять,валет,дама,король,туз);
карта=RECORD
M: масть;
д: достоинство;
END;
Описать логическую функцию KICK(K1,K2,KM), проверяющую, "бьет" ли карта K1 карту K2, с учетом того, что масть KM является козырной

Нашел на форуме такую же задачу, но препод сказал что нужно переделать.. Вот у меня возник вопрос. Вот код:
Код:
procedure InputCard(var K:Card);
begin
  writeln('Введите масть ');
  readln(K.m);
  writeln('Введите достоинство ');
  readln(K.d);
end;
Выскакивает ошибка 64(Cannot Read or Write variables of this type). Подскажите чем это вызвано и как исправить. Заранее огромное спасибо!
StudeHt вне форума Ответить с цитированием
Старый 28.04.2009, 19:36   #2
HoLToFF
Пользователь
 
Регистрация: 22.03.2009
Сообщений: 58
По умолчанию

Переменные перечисляемыех типов не возможно вводить/выводить, используйте для чтения и вывода оператор case
HoLToFF вне форума Ответить с цитированием
Старый 28.04.2009, 19:42   #3
HoLToFF
Пользователь
 
Регистрация: 22.03.2009
Сообщений: 58
По умолчанию

Код:
procedure InputCard(var K:Card);
st:string;
begin
  write('Введите масть ');
  readln(st);
     case st of
        'chervi': k.m:=червы;
        'bubi': k.m:=буби;
        'kresti': k.m:=крести;
        'trefi': k.m:=трефы;
      end;
  writeln('Введите достоинство ');
  readln(st);
      case st of
        'shest': k.d:=6;
        'sem': k.d:=7;
       ...................
        'tuz': k.d:=tuz;
      end;
end;
HoLToFF вне форума Ответить с цитированием
Старый 28.04.2009, 23:49   #4
StudeHt
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 78
По умолчанию

Извините, что так поздно отписываюсь (инет тупит(((). Ну вот у меня все равно не получается.. Мне нужно, чтобы процедура ввода карты и считывания данных была разделена на 3. Вот попытки, но они четны(преведенены 2 процедуры:ввод и считывание масти карты)
Код:
procedure InputCard;
var Kz:string;
begin
  writeln('Введите масть ');
  readln(Kz);
  writeln('Введите достоинство ');
  readln(Kz);
end;

procedure RecognitionColorCard(var K:Card);
var Kz:string;
begin
  case Kz of
    'пики':K.m:=Spades;
    'трефы':K.m:=Clubs;
    'бубны':K.m:=Diamonds;
    'червы':K.m:=Hearts;
  end;
end;
Я понимаю, что переменная Kz должна быть в списке фактических параметров в процедуре InputCard, но препод сказал, что это ввод карты и соответственно должна возвращаться карта, а не строка.. Так же выскакивает ошибка 39(Ordinal expression expected) на строчке case Kz of Помогите пожалуйста разобраться.
StudeHt вне форума Ответить с цитированием
Старый 29.04.2009, 21:21   #5
HoLToFF
Пользователь
 
Регистрация: 22.03.2009
Сообщений: 58
По умолчанию

Вот код более менее приемлемой для данной задачи процедуры чтения масти карты:
Код:

procedure RecognitionColorCard(var K:Card);
var Kz:string;
begin
  writeln('Введите масть ');
  readln(Kz);
  case Kz of
    'пики':K.m:=Spades;
    'трефы':K.m:=Clubs;
    'бубны':K.m:=Diamonds;
    'червы':K.m:=Hearts;
  end;
end;
HoLToFF вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
New Audio Component и аудио поток идущий на звуковую карту Timoffei Мультимедиа в Delphi 2 20.04.2009 17:39
Записи. Бьет ли карта k1 карту k2 Иван 883 Помощь студентам 7 06.04.2009 14:08
что делать если комп хочет отформатировать карту памяти с информацией? Александр Катаев Компьютерное железо 1 14.03.2009 14:11
Не могу установить карту fy_snow в counter strike Altera Свободное общение 6 30.04.2008 14:03
Нарисовать географическую карту. Фортран. Helga Помощь студентам 2 24.04.2008 19:47