• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Паскаль, файлы

  • Автор темы Автор темы Max 20
  • Дата начала Дата начала

Max 20

Ученик
Регистрация
6 Ноя 2011
Сообщения
8
Реакции
0
Баллы
0
Паскаль, файлы

Помогите пожалуйста с последней лабораторной. Следующее условие:вывести на экран студентов получающих стипендию со средним баллом выше 4 в виде таблицы:порядковый номер, ФИО, дата рождения, курс, год поступления, и оценки на последней сессии (4 предмета). A дальше эту информацию необходимо записать во внешний файл, вывод исходных данных из файла, добавление данных в файл. Может кто-то сумеет написать код, буду очень благодарен.
 
:tehnari_ru_325: Почему-то все молчааааат.....
 
:tehnari_ru_325: Почему-то все молчааааат.....
Знаете... у нас тут такие оригиналы, включая меня... Вот ведь незадача - ночью накануне рабочего дня предпочитают, как писал Дж.К.Джером, "тратить время на скотский сон" вместо того, чтобы провести ночное время с пользой для нерадивых студентов. Что тут скажешь - паразиты да и только.
Теперь по сути.
Мы уже разбирали Вашу задачу здесь:
http://www.tehnari.ru/f41/t59446/
Тогда осталось выяснить, что не нравится Вашему идиотскому Паскалю АВС и довести программу до полного ума (естественно, на Турбо она была надлежащим образом оттестирована и работает безупречно). Однако Вы перестали отвечать в той теме и задачу забросили. Теперь выложили как бы заново. Предпочитаете воспользоваться услугами другого программиста-консультанта? Я не устраиваю? Пожалуйста, с моей стороны - никаких возражений. Дерзайте, ждите.
И всё-таки я предлагаю такой путь: довести программу из старой темы до ума, чтобы она шла под вашим... этим... ну, в общем, АВС, а дальше вставить файловый ввод-вывод - пара пустых.
Так что решать Вам.
 
Уважаемый Vladimir_S, я не в коем случае не хотел как-то Вас задеть, да, код который Вы мне написали не шел в той версии Паскаль АВС, но прекрасно работает в обычной версии Паскаля и в другой версии АВС. Спасибо, что Вы тогда потратили время и прислали мне его (на значек "добавить отзыв для Vladimir_S я не забыл нажать"). Просто не отписался. А написал по новой, потому что как оказалось та задача связана с последней, где нужно было все соединить с файлами, чего я и не умею. Вот и вся причина, а не потому что ваши БЕСПЛАТНЫЕ услуги меня не устраивают. Прошу еще раз меня извинить.
 
Ладно-ладно, не суть важно.
Например, так (имя и расположение файла, конечно, можете подставить свои):
Код:
uses crt;
var
 f:Text;
 Action,Inp_Type,Out_Type:Byte;
 N:Byte;
 FIO:string[25];
 Birth_Date:string[10];
 Course:Byte;
 Year:word;
 Marks:Array[1..3] of Byte;
 Mmark:Real;

Procedure Inp_Date;
var i:Byte;
begin
 writeln('Vvodite dannie o studentax:');
 Repeat
  Inc(N);
  write(f,N:2,' ');
  write('FIO: ');
  readln(FIO);
  write(f,FIO);
  for i:=Length(FIO)+1 to 25 do write(f,' ');
  write('Birth Date (dd.mm.yyyy): ');
  readln(Birth_Date);
  write(f,Birth_Date);
  write('Course: ');
  readln(Course);
  write(f,Course:3);
  write('Year of entry: ');
  readln(Year);
  write(f,Year:5);
  Mmark:=0;
  for i:=1 to 3 do
   begin
    write('Mark ',i,' = ');
    readln(Marks[i]);
    write(f,Marks[i]:4);
    Mmark:=Mmark+Marks[i]/3;
   end;
  writeln(f,Mmark:7:2);
  clrscr;
  writeln ('ENTER-continue, ESC-quit');
 Until readkey=#27;
end;

Procedure Out_Date(OT:Byte);
var i:byte; mmrk:real; C:Char;
begin
 if OT=1 then mmrk:=0 else mmrk:=4;
 Repeat
  Read(f,N,C,FIO,Birth_Date,Course,Year);
  for i:=1 to 3 do read(f,Marks[i]);
  Readln(f,Mmark);
  If Mmark>mmrk then
   begin
    write(N:2,' '+FIO);
    for i:=Length(FIO)+1 to 25 do write(' ');
    write(Birth_Date);
    write(Course:3);
    write(Year:5);
    for i:=1 to 3 do
     write(Marks[i]:4);
    writeln(Mmark:7:2);
   end;
 Until EoF(f);
end;

BEGIN
 clrscr;
 Assign(f,'D:\data');
 REPEAT
  Writeln('Vyberite dejstvie:');
  Writeln('                 1 - Vvod dannyh');
  Writeln('                 2 - Vyvod rezultata');
  Writeln('                 3 - Vykhod iz programmy');
  Readln(Action);
  If Action=1 then
   begin
    Writeln('Variant vvoda:');
    Writeln('             1 - Novyi spisok');
    Writeln('             2 - Prodoljit spisok');
    Readln(Inp_Type);
    if Inp_Type=1 then
     begin
      Rewrite(f);
      N:=0;
     end
    else
     begin
      Reset(f);
      repeat
       Readln(f,N);
      until EoF(f);
      Close(f);
      Append(f);
     end;
    Inp_Date;
    Close(f);
   end else
  If Action=2 then
   begin
    Reset(f);
    Writeln('Variant vyvoda:');
    Writeln('              1 - Vse studenty');
    Writeln('              2 - Polychayushchie stipendiyu');
    Readln(Out_Type);
    Out_Date(Out_Type);
    Close(f);
   end;
 UNTIL Action=3;

END.
 
Спасибо за понимание и ОГРОМНОЕ спасибо за код!
 
Назад
Сверху