Перевести код с Pascal - C (СИ) (79232)

Узнай цену своей работы

Формулировка задачи:

вот есть кусочек кода.я пытался передалть на застопорился на кодах клавиш
repeat
kod:=readkey;
until Kod in [#13, #72, #80];
case Kod of
#72: begin
     k:=k-1;
     if k=0 then k:=3;
     end;
#80: begin 
     k:=k+1;
     if k=4 then k:=1;
     end;
end;

Решение задачи: «Перевести код с Pascal»

textual
Листинг программы
int k;
//где-то k чтото присваивается
char c;
while( c = getc() && c!=13 && c!=72 && c!=80 );
switch( c ){
  case 72: --k;
               if( k==4 ) k=1;
               break;
  case 80: ++k;
               if( k==4 ) k=1;
               break; 
}

Объяснение кода листинга программы

  1. Объявлены две переменные: k и c.
  2. В цикле while происходит чтение символа из стандартного ввода и присваивание его переменной c.
  3. Условие цикла while состоит из трех частей, объединенных оператором &&:
    • c должен быть не равен 13 (возможно, это символ перевода строки или возврата каретки).
    • c должен быть не равен 72 (возможно, это символ H).
    • c должен быть не равен 80 (возможно, это символ P).
  4. В блоке switch происходит проверка значения переменной c:
    • Если c равно 72 (символ H), то переменная k уменьшается на 1, и если k становится равным 4, то k снова становится равным 1.
    • Если c равно 80 (символ P), то переменная k увеличивается на 1, и если k становится равным 4, то k снова становится равным 1.
  5. Цикл while продолжается до тех пор, пока не будет выполнено одно из условий прекращения: c станет равным 13, 72 или 80.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5