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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2012, 01:40   #1
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
Сообщение «Динамические переменные языка Паскаль. Указатели»

Программа должна содержать полность задания которые выделенные чёрным и красным. Данная программа написанна для задания выделенного чёрным. Нужно дополнить программу заданием выделенным красным. ( Т. е. чтобы программа совмещала и чёрное и красное задание).

Тема: «Динамические переменные языка Паскаль. Указатели»

1. Разработать программу работы:
- с очередью (нечетные варианты),
- со стеком (четные варианты)
(использовать указатели).
Программу оформить с помощью меню со следующей структурой:

Создание Дополнение Удаление элемента Печать Выход


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


Код:
program st;
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 russkomy -->  ');
      readln(abiturient.ocenka[3]);
      zap[i]:=abiturient;
    end;
  writeln(' uspeshno sdali ekzameny');
  for i:=0 to kolvo-1 do
    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.
Anton94.by вне форума Ответить с цитированием
Старый 15.03.2012, 23:38   #2
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
По умолчанию

Нужно немного изменить программу.
Anton94.by вне форума Ответить с цитированием
Старый 16.03.2012, 07:51   #3
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Тут не немножко получиться изменить. Во 1-ых структура данных поменяется + нужно написать "Создание ДополнениеУдаление элемента Печать" это совсем другую прогу надо писать из вашей программы разве что
Код:
type
  Tabiturient=Record
    Nomer_gruppy:string[10];
    FIO:string[200];
    Shifr:string[100];
    Ocenka:array[1..3] of integer;
    end;
можно взять и все, и то тут надо кое-что подправить
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 16.03.2012, 08:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Во 1-ых структура данных поменяется
Почему? Что там менять?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.03.2012, 09:18   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Почему? Что там менять?
так речь же о динамических структурах идёт. Если не брать во внимание хакерский приём с указателем на массив из одного элемента, то, думаю, что, по хорошему, надо делать связный список. А для этого в структуру нужно добавлять ссылку(ки) на следующий элемент списка...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.03.2012, 00:28   #6
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
Радость

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так речь же о динамических структурах идёт. Если не брать во внимание хакерский приём с указателем на массив из одного элемента, то, думаю, что, по хорошему, надо делать связный список. А для этого в структуру нужно добавлять ссылку(ки) на следующий элемент списка...
А вы могли бы написать программу если знаете как её делать?
Anton94.by вне форума Ответить с цитированием
Старый 14.05.2012, 01:44   #7
Владисла8
Новичок
Джуниор
 
Регистрация: 11.04.2012
Сообщений: 6
По умолчанию

масивов быть вообще не должно
Владисла8 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Динамические переменные Pepsik Помощь студентам 4 15.07.2011 06:33
Динамические переменные и указатели DjedayD Паскаль, Turbo Pascal, PascalABC.NET 0 03.05.2011 09:16
Указатели и переменные в функциях. Alexcomeback Общие вопросы C/C++ 6 28.09.2009 20:11
Динамические переменные.. NSvirus Паскаль, Turbo Pascal, PascalABC.NET 2 08.06.2009 22:56