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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2015, 08:09   #1
Roblen
 
Регистрация: 21.03.2015
Сообщений: 3
По умолчанию Необходимо доработать программу, представляющую из себя тест.(PascalABC.net)

если необходимы документы "vopr,potv, otv" могу скинуть отдельно.
Проблема в том, что кнопка "старт" не работает, при запуске выводиться ошибка ,что ее невозможно реализовать из-за цикла while
Вторая проблема в том ,что выводимый на экран текст не входит в размеры графического окна.

uses GraphABC,ABCObjects,ABCButtons;

const n=4; //количество вариантов ответов
var vopr,otv,potv: text; //файлы: вопросов, ответов и правильных ответов
btn_start,btn_exit: ButtonABC;

procedure Test;
var s: string;
i,c,o: byte;
b,a: integer;
begin
b:=0; a:=0;
assign(vopr,'vo.txt'); //связывает файловую переменную с именем файла
assign(otv,'otv1.txt');
assign(potv,'potv1.txt');
reset(vopr); //открывает файл на чтение
reset(otv);
reset(potv);
clearwindow;
while not (eof(vopr)) do
begin
a:=a+1;
clearwindow;
readln(potv,o);
readln(vopr,s);
textout(10,20,s);
for i:=1 to n do
begin
readln(otv,s);
textout(10,60+(i*20),inttostr(i)+' ) '+s);//выводим каждый вопрос на отдельной странице
end;
readln(c);
if c<>o then b:=b+0 else inc(b);//счетчик для ответов
end;
close(vopr);
close(otv);
close(potv);
clearwindow;
writeln('Тестирование закончено');
writeln('Ваш результат ',b,' из ',a);
readln;
end;

procedure BtnStartClick();
begin
Test();
end;

procedure BtnExitClick();
begin
CloseWindow();
end;

begin
SetWindowSize(800,500);
SetWindowIsFixedSize(true);
textout(10,50,'Инструкция: ');
textout(10,70,'В тесте 50 вопросов');
textout(10,90,'Ответом на вопрос являеться номер одного из 4-х предложенных вариантов');
textout(10,110,'Для ответа необходимо ввести номер ответа в строку и нажать "enter"');
textout(10,150,'Желаем успехов!');


SetWindowSize(650,500);
SetWindowIsFixedSize(true);
SetWindowTitle('Тест');
PictureABC.Create(0,0,'grr.png');
btn_exit := new buttonABC(300, 300, 240, 50, 'Выход', clwhite);
btn_exit.OnClick := BtnExitClick;
btn_start := new ButtonABC(300, 200,240,50,'Старт',clWhite);
btn_start.OnClick := BtnStartClick;
end.

Последний раз редактировалось Roblen; 28.05.2015 в 08:11.
Roblen вне форума Ответить с цитированием
Старый 28.05.2015, 08:13   #2
Roblen
 
Регистрация: 21.03.2015
Сообщений: 3
По умолчанию Необходимо доработать программу, представляющую из себя тест.PascalABC.net

1)доработать кнопку "старт" на первой странице теста
2)сделать так, чтобы весь текст уместился в пределах графического окна
3)сделать к программе блок-схему

uses GraphABC,ABCObjects,ABCButtons;

const n=4; //количество вариантов ответов
var vopr,otv,potv: text; //файлы: вопросов, ответов и правильных ответов
btn_start,btn_exit: ButtonABC;

procedure Test;
var s: string;
i,c,o: byte;
b,a: integer;
begin
b:=0; a:=0;
assign(vopr,'vo.txt'); //связывает файловую переменную с именем файла
assign(otv,'otv1.txt');
assign(potv,'potv1.txt');
reset(vopr); //открывает файл на чтение
reset(otv);
reset(potv);
clearwindow;
while not (eof(vopr)) do
begin
a:=a+1;
clearwindow;
readln(potv,o);
readln(vopr,s);
textout(10,20,s);
for i:=1 to n do
begin
readln(otv,s);
textout(10,60+(i*20),inttostr(i)+' ) '+s);//выводим каждый вопрос на отдельной странице
end;
readln(c);
if c<>o then b:=b+0 else inc(b);//счетчик для ответов
end;
close(vopr);
close(otv);
close(potv);
clearwindow;
writeln('Тестирование закончено');
writeln('Ваш результат ',b,' из ',a);
readln;
end;

procedure BtnStartClick();
begin
Test();
end;

procedure BtnExitClick();
begin
CloseWindow();
end;

begin
SetWindowSize(800,500);
SetWindowIsFixedSize(true);
textout(10,50,'Инструкция: ');
textout(10,70,'В тесте 50 вопросов');
textout(10,90,'Ответом на вопрос являеться номер одного из 4-х предложенных вариантов');
textout(10,110,'Для ответа необходимо ввести номер ответа в строку и нажать "enter"');
textout(10,150,'Желаем успехов!');


SetWindowSize(650,500);
SetWindowIsFixedSize(true);
SetWindowTitle('Тест');
PictureABC.Create(0,0,'grr.png');
btn_exit := new buttonABC(300, 300, 240, 50, 'Выход', clwhite);
btn_exit.OnClick := BtnExitClick;
btn_start := new ButtonABC(300, 200,240,50,'Старт',clWhite);
btn_start.OnClick := BtnStartClick;
end.
Roblen вне форума Ответить с цитированием
Старый 28.05.2015, 10:13   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Решили обратиться за платной помощью?

А ваши темы в других разделах по этому же вопросу
http://programmersforum.ru/showthread.php?t=277937
http://programmersforum.ru/showthread.php?t=278517

закрываем?
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Напишите программу решения уравнений методом бисекции с наперед заданной точностью / PascalABC.NET now2 Паскаль, Turbo Pascal, PascalABC.NET 6 14.03.2014 07:37
модуль GRAPH: Написать программу построения сегмента и заполнения его некоторым цветом (PascalABC.NET) veronika55214 Паскаль, Turbo Pascal, PascalABC.NET 7 27.02.2014 16:38
Необходимо доработать программу (Написана на Visual Basic). За деньги. evgenyan Фриланс 3 05.09.2013 17:14
PascalABC.NET - Написать программу для расчёта по двум формулам. serge-first Помощь студентам 5 27.02.2013 20:38
Необходимо доработать программу "Паскаль" с типизированными файлами, чтобы результат выводило в текстовый документ а не на экран. Женька Good Помощь студентам 0 09.12.2011 21:20