Программа компилируется, но не запускается - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, первый раз сталкиваюсь с этим, опыта у меня очень мало. Потому даже и не знаю, что с этим делать

программа:

а это модуль:

Решение задачи: «Программа компилируется, но не запускается»

textual
Листинг программы
UNIT data_input;
 
INTERFACE
uses crt;
const n=5;
  type leaner = record
                 fam     : string[50]; //фамилия ученика
                 name    : string[50]; //имя
                 school  : integer;   //№ школы
                 predmet : array [1..n] of char; //предмет
                 ball    : array [1..n] of integer; //количество набранных баллов на ЕГЭ
                end;
  procedure  INPUT; //ВВОД ДАННЫХ
 
 
 
IMPLEMENTATION
 
   //ВВОД ДАННЫХ
PROCEDURE INPUT;
var s: leaner;
    f: file of leaner;
    i: integer;
    g, q: char;
Begin
  //проверка на существование файла и его создание
  
  if not (FileExists ('Список учеников.txt')) then
    begin
      textcolor(4);
      write('Файл не существует!');
      textcolor(0);
    end
  else
    write ('Здравствуйте, вы хотите создать новый файл - (Y) или открыть уже имеющийся - (N)?');
    readln(g);
    if (g='y') or (g='Y') then
      begin
        assign(f,'Список учеников.txt');
        rewrite (f);
      end
    else
      begin
        assign(f,'Список учеников.txt');
        reset(f);
      end;
  
  //ввод данных о человеке
  i:=1;
  repeat
    write('Введите фамилию ученика: ');
    readln(s.fam);
    write('Введите имя ученика: ');
    readln(s.name);
    write('Введите № школы ученика: ');
    readln(s.school);
    writeln('Введите наименования предметов, которые сдавал ученик (5 предметов): ');
    for i:=1 to n do
      readln( s.predmet[i] );
    writeln('Соответственно введите количество набранных баллов на ЕГЭ учеником (если ученик не сдавал какой-либо экзамен поставьте 0): ');
    for i:=1 to n do
      readln(s.ball[i]);
    write(f,s);
    write('Вы закончили ввод данных (y/n)?');
    readln(q);
  until (q='n') or (q='N');
  close(f);
End;
 
 
 
 
BEGIN  // начало инициирующей части
END.    // конец инициирующей части

Объяснение кода листинга программы

  1. Объявление типа данных leaner для хранения информации об ученике, включая фамилию, имя, номер школы и результаты ЕГЭ по 5 предметам.
  2. Объявление процедуры INPUT для ввода данных об ученике.
  3. Проверка наличия файла Список учеников.txt и его открытие для записи или чтения.
  4. Ввод данных об ученике, включая фамилию, имя, номер школы и результаты ЕГЭ по 5 предметам.
  5. Запись данных об ученике в файл Список учеников.txt.
  6. Повторяющийся блок для ввода данных об нескольких учениках.
  7. Завершение ввода данных и закрытие файла Список учеников.txt.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.571 из 5
Похожие ответы