![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Violet |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 4 Пол: Женский Реальное имя: Виолетта Репутация: ![]() ![]() ![]() |
Люди!Я написала программу универсального тестирования,но она почему то не работает!Условий было только два:Тест,последовательность вопросов и варианты ответов должны находиться в текстовом файле.Имя этого файла программа должна получать из командной строки её запуска.
Вот программа: 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 ('‘Ґ(c)з б ‚ ¬ Ўг¤Ґв ЇаҐ¤«(r)¦Ґ вҐбв.');
writeln ('Љ Є ¦¤(r)¬г ў(r)Їа(r)бг ¤ Ґвбп ҐбЄ(r)«мЄ(r) ў аЁ (r)ў','(r)⢥в .');
writeln ('‚л ¤(r)«¦л ўўҐбвЁ (r)¬Ґа Їа ўЁ«м(r)Ј(r) (r)⢥в ','Ё ¦ вм <Enter>');
writeln;
writeln ('”¤ зЁ!„«п з « вҐбвЁа(r)ў Ёп ¦¬ЁвҐ <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('‚ и ўлЎ(r)а ->');
readln(Otv);
if Otv=Prav then PravOtv:=PravOtv+1;
writeln;
end;
Тегами пользуемся... Сообщение отредактировано: volvo - 5.11.2006 19:09 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Violet, программу полностью привести нельзя было? Тут только кусок программы...
|
Violet |
![]()
Сообщение
#3
|
![]() Группа: Пользователи Сообщений: 4 Пол: Женский Реальное имя: Виолетта Репутация: ![]() ![]() ![]() |
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. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Хорошо... Тогда еще один вопрос - где именно останавливается программа? Что успевает вывести на экран?
Кстати, а параметры командной строки в программу передаются? |
Violet |
![]()
Сообщение
#5
|
![]() Группа: Пользователи Сообщений: 4 Пол: Женский Реальное имя: Виолетта Репутация: ![]() ![]() ![]() |
Хорошо... Тогда еще один вопрос - где именно останавливается программа? Что успевает вывести на экран? Кстати, а параметры командной строки в программу передаются? Выводит вот что: Код Не задан файл вопросов теста!'); writeln ('Командная строка : test c:/Work/text.txt' Для завершения работы нажмите <Enter> Сообщение отредактировано: Violet - 8.04.2006 18:10 |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Значит, программе не передаются параметры командной строки... Если запускаешь прямо из Паскаля - зайди в меню "Run" -> "Parameters", и в окошке введи имя своего файла данных, т.е.
c:/Work/text.txt После этого нажми на Ok и запусти программу еще раз. |
Violet |
![]()
Сообщение
#7
|
![]() Группа: Пользователи Сообщений: 4 Пол: Женский Реальное имя: Виолетта Репутация: ![]() ![]() ![]() |
Что то вообще не запускается!
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Цитата(Violet @ 8.04.2006 18:24) Что то вообще не запускается! Не запускаться ПРОСТО ТАК, без объяснения ошибки, программа не может. Обязательно должно быть что-то написано (код ошибки, объяснение, что-то !!!), но почему из тебя все надо вытягивать? |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 17:57 |