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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2012, 20:31   #1
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
Вопрос Запись содержит сведения о сдаче экзаменов. Структура записи:

Исправить ошибку в программе.

Задание:
Запись содержит сведения о сдаче экзаменов. Структура записи:
- Номер группы; ( 11"б")
- Ф.И.О.;
- Шифр;
- Оценки сдачи трех экзаменов. ( математика, физика, русский).
Выдать сведения о студентах, успешно сдавших экзамены.


Код:
( Сделайте так, что всё вводить в окне Паскаль, т.е. через writeln, readln, а не через assing).
program td;
uses crt;
 var
   gr, name, code, ball:array[1..40] of string;
   i, m, n,:integer;
   vall:array[1..40] of byte;
   false:integer;
   t:text;
begin
  assing(input,'input.txt'); { you need to create this file}
  assing(output,'output.txt'); { you need to create this file}
  reset(input);
  rewrite(output);
  while not eof do
    begin
      i:=i+1;
      readln(gr[i]);
      readln(name[i]);
      readln(code[i]);
      readln(ball[i]);
    end;
  i:=1;
  for n:=1 to i do
    begin
      val(ball[n][12],vall[i],false);
      i:=i+1;
      val(ball[n][22],vall[i],false);
      i:=i+1;
      val(ball[n][33],vall[i],false);
      if (vall[i-2]>5) and (vall[i-1]>5) and(vall[i]>5) then
        begin
          writeln (gr[n]);
          writeln(name[n]);
          writeln(code[n]);
          writeln(ball[n]);
          writeln('         ');
        end;
    end;
  close(input);
  close(output);
end.
Anton94.by вне форума Ответить с цитированием
Старый 28.02.2012, 11:02   #2
Arhangel7
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 90
По умолчанию

Код:
 
var
   gr, name, code, ball:array[1..40] of string;
   i, m{где используем?}, n:integer;
   vall:array[1..40] of byte;
   {должно быть Extended - используется в val}
   false:integer;
   t:text; // где используем?
begin
  assign(input,'input.txt'); { you need to create this file}
  assign(output,'output.txt'); { you need to create this file}
   try
    reset(input);
   except
    rewrite(input);
   end;
  rewrite(output);
  //открыли два файла, проверка идет у какого файла?
  //читаем данные из файла вывода?
  while not eof do
    begin
      i:=i+1;
      {перед использованием стоит обнулять переменные,
      кто его знает что там содержится}
      readln(gr[i]);
      {структура readln(файловая переменная"input",
      переменные "gr[i]");}
      readln(name[i]);
      readln(code[i]);
      readln(ball[i]);
    end;
  i:=1;
  for n:=1 to i do
    begin
      val((ball[n][12],vall[i],false);
      i:=i+1;
      val(ball[n][22],vall[i],false);
      i:=i+1;
      val(ball[n][33],vall[i],false);
      if (vall[i-2]>5) and (vall[i-1]>5) and(vall[i]>5) then
        begin
          writeln(gr[n]);
          writeln(name[n]);
          writeln(code[n]);
          writeln(ball[n]);
          writeln('         ');
        end;
    end;
  close(input);
  close(output);
end.
надеюсь ничего не напутал
как-то так
Arhangel7 вне форума Ответить с цитированием
Старый 28.02.2012, 12:49   #3
Arhangel7
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 90
По умолчанию

Код:
type
  Tabiturient = Record
     Nomer_gruppy:string[10];
     FIO:string[200];
     Shifr:string[100];
     Ocenka: array[1..3] of integer;
     end;
var
   zap:array of Tabiturient;
   abiturient:Tabiturient;
   kolvo,i:integer;
begin
   writeln('vvedite kolichestvo abiturientov');
   readln(kolvo);
   SetLength(zap,kolvo);
   writeln('vvedite dannye abiturientov');
   for i:=0 to kolvo-1 do
      begin
         writeln('abiturient N* ',i+1);
         write('nomer gruppy -->  ');
         readln(abiturient.Nomer_gruppy);
         write('F.I.O. -->  ');
         Readln(abiturient.FIO);
         write('Shifr -->  ');
         readln(abiturient.Shifr);
         write('Ocenka po matematike -->  ');
         readln(abiturient.ocenka[1]);
         write('Ocenka po fizike -->  ');
         readln(abiturient.ocenka[2]);
         write('Ocenka po russkomu -->  ');
         readln(abiturient.ocenka[3]);
         zap[i]:=abiturient;
      end;
   writeln('uspeshno sdali ekzameny');
   for i:=0 to kolvo-1 do
   //хорошая оценка - 4 или выше
      Begin
         if zap[i].Ocenka[1]>=4 then
         if zap[i].Ocenka[2]>=4 then
         if zap[i].Ocenka[3]>=4 then
            begin
               writeln;
               writeln('F.I.O. ',zap[i].FIO);
               writeln('Nomer gruppy  ',zap[i].Nomer_gruppy);
               writeln('Shifr  ',zap[i].Shifr);
               writeln;
            end;
      end;
   readln;
end.
как-то так
Arhangel7 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись содержит сведения о сдаче экзаменов. Структура записи: Anton94.by Паскаль, Turbo Pascal, PascalABC.NET 2 08.02.2012 19:26
Создать массив, который содержит сведения о сдаче студентами сессии... bot0 Помощь студентам 9 25.12.2010 20:20
Сформировать массив содержащий сведения об ассортименте товара супермаркета .Структурный тип содержит пол gomer88 Общие вопросы C/C++ 5 17.06.2010 12:37
файл, содержащий сведения о сдачи студентами сессии. Каждая запись содержит поля: номер группы, фамилия Babur4iK Помощь студентам 3 18.05.2010 23:11
Help (Составить запись, содержащую сведения о сдаче группой студентов экзамена) Forro Паскаль, Turbo Pascal, PascalABC.NET 2 08.01.2008 12:15