Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [С++] Простой тестер


Автор: buld03er 4.4.2011, 15:22
Привет всем... Хотелось бы попросить помощи о переводе программы из pascal в с++... на счёт конвертора я сомневаюсь, он как бы дословно конвертирует, вот поэтому обращаюсь к вам...
Код

Program Test;
Uses crt;
const a:array[1..10, 1..4] of integer=
      ((0,0,1,0),
       (0,1,0,0),
       (0,1,0,0),
       (1,0,0,0),
       (1,0,0,0),
       (0,1,0,0),
       (0,0,1,0),
       (0,0,0,1),
       (0,0,0,1),
       (0,0,0,1));

Var i,k:integer;
    ch: Char;
    f:boolean;

Procedure Out(k:integer);
begin

  if k=1 then begin
     Writeln('1. Что такое алгоритм?');
     Writeln('а) Набор различных команд');
     Writeln('б) Вывод сообщения на экран');
     Writeln('в) Последовательность действий');
     Writeln('г) Тип данных');
  end;
  if k=2 then begin
     Writeln('2. Выбрать неправильное свойство алгоритма ... ');
     Writeln('а) Понятность);
     Writeln('б) Информативность);
     Writeln('в) Массовость);
     Writeln('г) Результативность);
  end;
  if k=3 then begin
     Writeln('3. Что такое «Var» в Turbo Pascal?');
     Writeln('а) Подраздел объявления действий');
     Writeln('б) Имя процедуры.');
     Writeln('в) Выполнение упорядоченных действий.');
     Writeln('г) Нет ответа.');
  end;
  if k=4 then begin
     Writeln('4. Что такое «Procedure» в Turbo Pascal?');
     Writeln('а) Имя вложенных процедур со списком парамметров.');
     Writeln('б) Имя процедуры.');
     Writeln('в) Выполнение упорядоченных действий.');
     Writeln('г) Нет ответа .');
  end;
  if k=5 then begin
     Writeln('5. — Что такое «Label» в Turbo Pascal?');
     Writeln('а) Подраздел объявления локальных меток.');
     Writeln('б) Подраздел объявления локальных констант.');
     Writeln('в) Подраздел объявления локальных типов.');
     Writeln('г) Подраздел объявления локальных кнопок.');
  end;
  if k=6 then begin
     Writeln('6. Диапозон значений типа данных Shortint.');
     Writeln('а) 0 .. 255.');
     Writeln('б) -128 .. 127.');
     Writeln('в) -256 .. 255.');
     Writeln('г) Такого типа нет.');
  end;
  if k=7 then begin
     Writeln('7. Диапозон значений типа данных Integer');
     Writeln('а) -127 .. 128.');
     Writeln('б) -255 .. 256.');
     Writeln('в) -32768 .. 32767.');
     Writeln('г) -2147483648 .. 2147483647.');
  end;
  if k=8 then begin
     Writeln('8. Диапозон значений типа данных Lonight');
     Writeln(' ) -128 .. 128.');
     Writeln('Ў) -32768 .. 32767.');
     Writeln('ў) -255 .. 254.');
     Writeln('Ј) -2147483648 .. 2147483647.');
  end;
  if k=9 then begin
     Writeln('9. Диапозон значений типа данных Byte.');
     Writeln('а) 0 .. 127.');
     Writeln('б) 0 .. 128.');
     Writeln('в) 0 .. 65535.');
     Writeln('г) 0 .. 255');
  end;
  if k=10 then begin
     Writeln('10. Диапозон значений типа данных Word.');
     Writeln('а) 0 .. 32767.');
     Writeln('б) 0 .. 127.');
     Writeln('в) 0 .. 128.');
     Writeln('г) 0 .. 65535.');
  end;
end;
Procedure Result1(k:integer);
begin
  Clrscr;
  writeln(‘Результаты теста');
  writeln;
          if k=0 then begin
     writeln('Вы не ответили ни на один вопрос.');
  end;
 if k=1 then begin
     writeln('Вы ответили правильно на 1 вопрос.');
  end;
        if k=2 then begin
     writeln(' Вы ответили правильно на 1 вопрос.');
  end;
          if k=3 then begin
     writeln(' Вы ответили правильно на 1 вопрос.');
  end;
          if k=4 then begin
     writeln(' Вы ответили правильно на 1 вопрос.');
  end;
          if k=5 then begin
     writeln(' Вы ответили правильно на 1 вопрос.');
  end;
          if k=6 then begin
     writeln(' Вы ответили правильно на 1 вопрос.');
  end;
          if k=7 then begin
     writeln(' Вы ответили правильно на 1 вопрос.');
  end;
          if k=8 then begin
     writeln(' Вы ответили правильно на 1 вопрос.');
  end;
          if k=9 then begin
     writeln(' Вы ответили правильно на 1 вопрос.');
  end;
          if k=10 then begin
     writeln('Вы ответили всё правильно. Поздравляю!!!');
  end;
end;

Begin
  Clrscr;
  Writeln('Для начала теста нажмите любую кнопку.');
  Writeln('P.S. Обязательно переключитесь на русскую ракладку клавиатуры (Правый Shift+Ctrl)');
  write('РК ЗКИТУ 2010. Курсовая работа Темченко Геннадий. Группа ВТ-12. ');
  ch:=readkey;
  i:=0;
  for k:=1 to 10 do begin
  Clrscr;
    f:=false;
    Out(k);
    Writeln;
    Write('Ответ: ');
    ch:=readkey;
    if (ch=' а') then begin
      i:=i+a[k,1];
      f:=true;
      write('а');
      end;
    if (ch='б') then begin
      i:=i+a[k,2];
      f:=true;
      write('б');
      end;
    if (ch='в') then begin
      i:=i+a[k,3];
      f:=true;
      write('в');
      end;
    if (ch='г') then begin
      i:=i+a[k,4];
      f:=true;
      write('г');
      end;
    end;
    result1(i);
  writeln;
  writeln('Для выхода нажмите Enter');
  readln;
  exit;
end.



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)