IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Универсальная программа тестирования., Помогите!В чём ошибка?
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Женский
Реальное имя: Виолетта

Репутация: -  0  +


Люди!Я написала программу универсального тестирования,но она почему то не работает!Условий было только два:Тест,последовательность вопросов и варианты ответов должны находиться в текстовом файле.Имя этого файла программа должна получать из командной строки её запуска.
Вот программа:
program test;
Uses crt;
Label bye;
Var gi:string[40];
f:text;
VsegoVopr:integer;
PravOtv:integer;
nOtv:integer;
prav:integer;
Otv:integer;
st:string;
p:integer;
i:integer;
begin
if ParamCount=0 then
begin
clrscr;
writeln ('Не задан файл вопросов теста!');
writeln ('Командная строка : test c:/Work/text.txt');
goto bye;
end;
gi:=ParamStr(1);
Assign(f,c:/Work/text.txt');
{$I-}
Reset(f);
{$I+}
if IOResult <> 0 then
begin
writeln ('Не найден файл теста!',gi);
goto bye;
end;
writeln ('‘Ґ©з б ‚ ¬ Ўг¤Ґв ЇаҐ¤«®¦Ґ­ вҐбв.');
writeln ('Љ Є ¦¤®¬г ў®Їа®бг ¤ Ґвбп ­ҐбЄ®«мЄ® ў аЁ ­в®ў','®вўҐв .');
writeln ('‚л ¤®«¦­л ўўҐбвЁ ­®¬Ґа Їа ўЁ«м­®Ј® ®вўҐв ','Ё ­ ¦ вм <Enter>');
writeln;
writeln ('”¤ зЁ!„«п ­ з « вҐбвЁа®ў ­Ёп ­ ¦¬ЁвҐ <Enter>');
?Clrscr;
TextBackGround(Blue);
VsegoVopr:=0;
Prav:=0;
while not EOF(f) do
begin
VsegoVopr:=VsegoVopr+1;
readln(f,st);
TextColor(White);
writeln(st);
readln(f,nOtv,Prav);
TextColor(LightGray);
for i:=1 to nOtv do
begin
readln (f,st);
writeln (i,'. ',st);
end;
writeln;
write('‚ и ўлЎ®а ->');
readln(Otv);
if Otv=Prav then PravOtv:=PravOtv+1;
writeln;
end;

Тегами пользуемся...

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Violet, программу полностью привести нельзя было? Тут только кусок программы...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Женский
Реальное имя: Виолетта

Репутация: -  0  +


Цитата(volvo @ 7.04.2006 18:18) *

Violet, программу полностью привести нельзя было? Тут только кусок программы...

Извините!
Код
Program test;
Uses crt;
Label bye;
Var gi:string[40];
    f:text;
    VsegoVopr:integer;
    PravOtv:integer;
    nOtv:integer;
    prav:integer;
    Otv:integer;
    st:string;
    p:integer;
    i:integer;
begin
   if ParamCount=0 then
begin
   clrscr;
   writeln ('ЌҐ § ¤ ­ д ©« ў®Їа®б®ў вҐбв !');
   writeln ('Љ®¬ ­¤­ п бва®Є : test c:\Work\text.txt');
   goto bye;
end;
gi:=ParamStr(1);
Assign(f,'c:\Work\text.txt');
{$I-}
Reset(f);
{$I+}
   if IOResult <> 0 then
begin
   writeln ('ЌҐ ­ ©¤Ґ­ д ©« вҐбв !');
   goto bye;
end;
writeln ('‘Ґ©з б ‚ ¬ Ўг¤Ґв ЇаҐ¤«®¦Ґ­ вҐбв.');
writeln ('Љ Є ¦¤®¬г ў®Їа®бг ¤ Ґвбп ­ҐбЄ®«мЄ® ў аЁ ­в®ў','®вўҐв .');
writeln ('‚л ¤®«¦­л ўўҐбвЁ ­®¬Ґа Їа ўЁ«м­®Ј® ®вўҐв ','Ё ­ ¦ вм <Enter>');
writeln;
writeln ('“¤ зЁ!„«п ­ з «  вҐбвЁа®ў ­Ёп ­ ¦¬ЁвҐ <Enter>');
Clrscr;
TextBackGround(Blue);
VsegoVopr:=0;
Prav:=0;
while not EOF(f) do
begin
  VsegoVopr:=VsegoVopr+1;
  readln(f,st);
  TextColor(White);
  writeln(st);
  readln(f,nOtv,Prav);
  TextColor(LightGray);
for i:=1 to nOtv do
begin
  readln (f,st);
  writeln (i,'. ',st);
end;
writeln;
write('‚ и ўлЎ®а ->');
readln(Otv);
if Otv=Prav then PravOtv:=PravOtv+1;
writeln;
end;
p:=Round((PravOtv/VsegoVopr)*100);
write('‚ и  ®жҐ­Є  ');
case p of
  100:writeln('Ћв«Ёз­®!');
  80..99:writeln('•®а®и®.');
  60..79:writeln('“¤®ў«Ґвў®аЁвҐ«м­®.');
  else writeln('Џ«®е®!');
end;
bye:
  write('„«п § ўҐа襭Ёп а Ў®вл ­ ¦¬ЁвҐ <Enter>');
  readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Хорошо... Тогда еще один вопрос - где именно останавливается программа? Что успевает вывести на экран?

Кстати, а параметры командной строки в программу передаются?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 4
Пол: Женский
Реальное имя: Виолетта

Репутация: -  0  +


Цитата(volvo @ 8.04.2006 14:26) *

Хорошо... Тогда еще один вопрос - где именно останавливается программа? Что успевает вывести на экран?

Кстати, а параметры командной строки в программу передаются?

Выводит вот что:
Код
Не задан файл вопросов теста!');
   writeln ('Командная строка : test c:/Work/text.txt'
Для завершения работы нажмите <Enter>


Сообщение отредактировано: Violet -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Значит, программе не передаются параметры командной строки... Если запускаешь прямо из Паскаля - зайди в меню "Run" -> "Parameters", и в окошке введи имя своего файла данных, т.е.

c:/Work/text.txt

После этого нажми на Ok и запусти программу еще раз.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 4
Пол: Женский
Реальное имя: Виолетта

Репутация: -  0  +


Что то вообще не запускается!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Цитата(Violet @ 8.04.2006 18:24)
Что то вообще не запускается!

Не запускаться ПРОСТО ТАК, без объяснения ошибки, программа не может. Обязательно должно быть что-то написано (код ошибки, объяснение, что-то !!!), но почему из тебя все надо вытягивать?
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 28.04.2017 7:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"