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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 09:55   #1
salwator
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 31
Восклицание проблема с чтением из файла

текстовый файл
исправьте пожалуйста(желательно сегодня,буду рад кого не затруднит)
выдаёт ошибку в процедуре vivod, в этой строчке
writeln(f,'FIO':20,'kod_grup':10,'m atem':10,'algor ':10,'infor':10,'istor':10,'o.r':5) ;


Код:
Program tex;
uses crt;
Type student=record
FIO:string[20];
kod_grup:string[10];
socwork:string[5];
stipendiy:string[30];
ocenki:record
oc1,oc2,oc3,oc4:string[10];
end;
end;
Var f:text;a:student;g:string;i,n:integer;
Procedure sozd(n:integer);
Var f:text;a:student;i:integer;
Begin
assign(f,'список.txt');
rewrite(f);
For i:=1 to n do begin
with A do
begin
write('‚введите FIO:':20);
readln(FIO);
write('‚введите оценки:');
writeln;
with ocenki do begin
writeln('Matemat:');
readln(oc1);
writeln('Algoritmi:');
readln(oc2);
writeln('Informatika:');
readln(oc3);
writeln('Istoriya:');
readln(oc4);
writeln('“участие в о.р.?усли да то +,если нет то -:');
readln(socwork);
if (socwork='+') then
writeln('наличие участия в общественной работе:да ');
if (socwork='-') then
writeln('наличие участия в общественной работе:нет');
writeln;
writeln;
if (oc1='5') and (oc2='5') and (oc3='5') and (oc4='5') and (socwork='+')
then stipendiy:='+50% к степендии' else
if (oc1='5') and (oc2='5') and (oc3='5') and (oc4='5') and (socwork='-')
then stipendiy:='+25% к степендии' else
if ((oc1='4') xor (oc1='5')) and ((oc2='4') xor (oc2='5')) and ((oc3='4') xor
(oc3='5')) and ((oc4='4') xor (oc4='5'))
then stipendiy:='зачислен на степендию' else
if ((oc1='3') or (oc2='3') or (oc3='3') or (oc4='3')) and (socwork='+') then
stipendiy:='зачислен на степендию' else
if ((oc1='3') or (oc2='3') or (oc3='3') or (oc4='3')) and (socwork='-') then
stipendiy:='не зачислен на стипендию';
writeln(f,'FIO':20,'kod_grup':10,'matem':10,'algor ':10,'infor':10,'istor':10,'o.r':5);
writeln(f,FIO:20,kod_grup:10,oc1:10,oc2:10,oc3:10, oc4:10,socwork:5);
writeln(f,'------------------------------------------------------------------------');
writeln(f,'------------------------------------------------------------------------');
end;
writeln('stipendiy:',stipendiy);
end;
end;
close(f);
end;
Procedure vivod;
Begin
reset(f);
while not eof(f) do begin
{ read(f,n); }
with a do begin
read(f,kod_grup);
read(f,FIO);
read(f,socwork);
with ocenki do begin
read(f,oc1);
read(f,oc2);
read(f,oc3);
read(f,oc4);
if (oc1='5') and (oc2='5') and (oc3='5') and (oc4='5') and (socwork='+')
then stipendiy:='+50% к степендии' else
if (oc1='5') and (oc2='5') and (oc3='5') and (oc4='5') and (socwork='-')
then stipendiy:='+25% степендии' else
if ((oc1='4') xor (oc1='5')) and ((oc2='4') xor (oc2='5')) and ((oc3='4') xor
(oc3='5')) and ((oc4='4') xor (oc4='5'))
then stipendiy:='зачислен на степендию' else
if ((oc1='3') or (oc2='3') or (oc3='3') or (oc4='3')) and (socwork='+') then
stipendiy:='зачислен на степендию' else
if ((oc1='3') or (oc2='3') or (oc3='3') or (oc4='3')) and (socwork='-') then
stipendiy:='не зачислен на степендию';
writeln(f,'FIO':20,'kod_grup':10,'matem':10,'algor ':10,'infor':10,'istor':10,'o.r':5);
writeln(f,FIO:20,kod_grup:10,oc1:10,oc2:10,oc3:10, oc4:10,socwork:5);
writeln(f,'------------------------------------------------------------------------');
writeln(f,'------------------------------------------------------------------------');
end;
writeln('stipendiy:',stipendiy);
end;
end;
close(f);
end;
Begin
clrscr;
writeln('‚введите kod_grup:');
readln(g);
writeln('‚введите количество студентов:');
readln(n);
sozd(n);
assign(f,'список.txt');
vivod;
readkey;
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 23.12.2010 в 13:06.
salwator вне форума Ответить с цитированием
Старый 23.12.2010, 12:11   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Ты открываешь файл на чтение Reset(f) и пытаешься туда писать Writeln(f,lalala). Открой его на запись Rewrite(f), тогда все получится.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с чтением матрицы с txt-файла в C# Денис89 Помощь студентам 5 08.09.2010 17:40
Проблема с чтением из файла slamm PHP 12 16.01.2010 16:40
Проблема с чтением из INI файла JustKurt Общие вопросы Delphi 3 04.08.2009 20:47
Проблема с чтением типизированного файла. Вадим Буренков Общие вопросы Delphi 8 28.05.2009 13:31
проблема с чтением из файла Tesmont Общие вопросы C/C++ 0 20.05.2009 19:39