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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2018, 18:34   #1
ParkerVans
Пользователь
 
Регистрация: 22.10.2017
Сообщений: 25
По умолчанию Перевести код программы из Pascal в Delphi 7 - Delphi

Добрый день! Необходимо перевести код из Pascal в Delphi 7.
Код:
uses crt;
const s1:array[1..4] of string[6]=('пики','трефы','бубны','червы');
      s2:array[1..9] of string[6]=('6','7','8','9','10','валет','дама',
                                   'король','туз');
type mast=(pk,tr,bb,ch);
     dost=(k6,k7,k8,k9,k10,vl,dm,kr,tz);
     karta=record
           m:mast;
           d:dost;
           end;
          
function Kick(k1,k2:karta;km:mast):boolean;
var i:mast;
    j:dost;
begin
Kick:=((k1.m=km)and(k2.m<>km)){первая козырная, вторая не козырная}
or((k1.m=k2.m)and(k1.d>k2.d));{или одной масти и первая старше}
end;
 
var k1,k2:karta;
    km:mast;
    i,j:byte;
    s:string[6];
    f:boolean;
begin
clrscr;
f:=false;
 
 
repeat
writeln('Введите масть первой карты (пики,трефи,бубны,червы)');
readln(s);
i:=1;
while(i<=4)and not f do
if s=s1[i] then
 begin
  k1.m:=mast(i-1);
  f:=true;
 end
else i:=i+1;
if not f then writeln('Такой масти нет, повторите ввод')
until f;
 
 
 
f:=false;
repeat
writeln('Введите достоинство первой карты (6,7,8,9,10,валет,дама, король,туз)');
readln(s);
i:=1;
while(i<=9)and not f do
if s=s2[i] then
 begin
  k1.d:=dost(i-1);
  f:=true;
 end
else i:=i+1;
if not f then writeln('Такого достоинства нет, повторите ввод')
until f;
 
 
f:=false;
repeat
writeln('Введите масть второй карты (пики,трефи,бубны,червы)');
readln(s);
i:=1;
while(i<=4) and not f do
if s=s1[i] then
 begin
  k2.m:=mast(i-1);
  f:=true;
 end
else i:=i+1;
if not f then writeln('Такой масти нет, повторите ввод')
until f;
 
 
f:=false;
repeat
writeln('Введите достоинство второй карты (6,7,8,9,10,валет,дама, король,туз)');
readln(s);
i:=1;
while(i<=9)and not f do
if s=s2[i] then
 begin
  k2.d:=dost(i-1);
  f:=true;
 end
else i:=i+1;
if not f then writeln('Такого достоинства нет, повторите ввод')
until f;
 
 
f:=false;
repeat
writeln('Введите козырную масть(пики,трефи,бубны,червы)');
readln(s);
i:=1;
while(i<=4)and not f do
if s=s1[i] then
 begin
  km:=mast(i-1);
  f:=true;
 end
else i:=i+1;
if not f then writeln('Такой масти нет, повторите ввод')
until f;
 
 
writeln('Бьет ли первая карта вторую?');
write(Kick(k1,k2,km));
readln
end.
ParkerVans вне форума Ответить с цитированием
Старый 29.05.2018, 18:39   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

А вы не пробовали скомпилировать этот код в D7? Ну, естественно, выкинув крт.
p51x вне форума Ответить с цитированием
Старый 29.05.2018, 20:06   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Ну, естественно, выкинув крт.
И все readln, writeln
Это можно сделать совсем красиво: загрузить .bmp'шку со всей колодой и тыркать мышью на нужные карты.
И вообще - для такого примитивного действа - еще прогу строгать ?

Последний раз редактировалось digitalis; 29.05.2018 в 20:09.
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переписать код программы из C или Delphi(что удобнее) в Pascal PavelSimonoff Помощь студентам 2 24.09.2015 09:50
Перевести код из Delphi в Pascal Bianca Помощь студентам 4 05.06.2011 14:26
Перевести текст программы из DELPHI в PASCAL анна2709 Паскаль, Turbo Pascal, PascalABC.NET 2 03.04.2011 20:05
перевести не трудный код программы из Delphi на С++ Ilius Помощь студентам 2 16.12.2008 18:11