Создать Массив Записей

Тема в разделе "Pascal and Delphi", создана пользователем -, 19 дек 2011.

Статус темы:
Закрыта.
  1. Гость

    Ребята пожалуйста у кого есть какие соображения на счет этой программы, а то я все команды забыл(:)
    Создать массив записей А(n), где n<=20, содержащий сведения: фамилии, три оценки на экзаменах. Используя процедуру, определить студентов, успевающий на 5, и упорядочить их массив по алфавиту. В основной программе полученный массив вывести на экран.


    Код (Delphi):
    var a : array[1..20]; i, j, n : integer; s : string; t;
    begin
    write('Количество записей = '); readln(n);
    for i := 1 to 20 do begin
    write('Фамилия: '); readln(a[i].surname);
    write('Оценки: '); readln(a[i].grade);

    end;
    writeln('Фамилии' : 15, 'Оценки' : 15);
    for i := 1 to 20 do
    writeln(a[i].surname : 15, a[i].grade : 15);
    write('Фамилия, оценки найти: '); readln(s);
    j := -1;
    for i := 1 to 20 do
    if a[i].surname = s then begin
    j := i;
    break
    end;
    if j <> -1
    then writeln('Оценки: ', a[j].grade)
    else writeln('Не найдено');
    {сортировка}
    for i := 1 to n - 1 do
    for j := i + 1 to n do
    if a[i].surname > a[j].surname then begin
    t := a[i];
    a[i] := a[j];
    a[j] := t
    end;
    writeln('Фамилии' : 15, 'Оценки' : 15);
    for i := 1 to n do
    writeln(a[i].surname : 15, a[i].grade : 15);
    end.
    По-моему это бред?


    и почему прога дает ошибку на uses,type не чего не понимаю(((((((
    если что-то типо такого:
    Код (Delphi):
    uses crt;
    type data=record
    fio:string;
    num:integer;
    end;
    var stud: array [1..20] of data;
    tmp:data;
    i,n,x:integer;

    begin
    ClrScr;
    write ('Kol-vo studentov: '); readln (n);
    for i:=1 to n do
    begin
    writeln('Студент #',i);
    write ('Фамилия: '); readln (stud[i].fio);
    write ('Оценка: '); readln (stud[i].num);
    ClrScr;
    end;
    for i:=1 to n do
    writeln (stud[i].fio, stud[i].num:5);
    write ('Введите искомую оценку : '); readln (x);
    ClrSCr;
    Writeln ('Студенты получившие ',x);
    for i:=1 to 20 do
    if stud[i].num=x then writeln (stud[i].fio);
    readln
    end.
     
  2. Cambur

    Cambur Active Member

    Регистрация:
    20 июн 2010
    Сообщения:
    27
    Симпатии:
    0
    привет! пара риторических вопросов...
    почему бы не использовать:
    1. визуальные компоненты
    2. бд Access
    конечно, если есть ограничивающие условия, то никуда не денешься..
     
  3. nayke

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    Странные мысли..

    По топику - текст ошибки увеличит вероятность, что тебе помогут.
    И что значит "что-то типа такого"
     
  4. Cambur

    Cambur Active Member

    Регистрация:
    20 июн 2010
    Сообщения:
    27
    Симпатии:
    0
    nayke, я бы использовал Tmemo, Tedit для ввода и вывода
    или тот-же TStringGrid для вывода, но это как-то не красиво..
    определить.., упорядочить.. - можно, конечно, написать процедуры а можно использовать одну строку элементарного Query
    всё получится симпатичней, проще и надёжней, если использовать БД
     
  5. nayke

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    В данном случае лабораторная работа, обучающая действиям со списками - достаточно полезная вещь.
    В этом случае выводить результ в консоль или на формы безразлично.
    Тем более бессмыслица написана с БД, если рассматривать описанную предметную область как реальную задачу, то access здесь противопоказан.
    А говорить о разнице списков и БД странно, поскольку это разные области работы - динамическая обработка и хранение данных.

    поэтому и написал, что странный комментарий)
     
  6. Cambur

    Cambur Active Member

    Регистрация:
    20 июн 2010
    Сообщения:
    27
    Симпатии:
    0
    nayke, привет!
    ... с новым годом!
    мне нравится работу с данными перекладывать на базы данных
    они и хранят и обрабатывают и оптимизированы дай боже..
    вся работа со списками, массивами, ..прочими сверхумностями сводится к паре запросов к БД :)
     
  7. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Если ты пишешь на делфи, то он не знает библиотеки crt, а знает SysUtils, в котором всё равно нету ClrScr :)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей