Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
максимочка
0 / 0 / 4
Регистрация: 13.11.2014
Сообщений: 41
#1

Сформировать массив записей (не менее 5), содержащий данные по студентам - Turbo Pascal

18.02.2015, 21:02. Просмотров 982. Ответов 5
Метки нет (Все метки)

Задача такая:Сформировать массив записей (не менее 5), содержащий данные по студентам в следующем виде: «Фамилия Имя Группа ГР RS», где ГР – год рождения, RS – средний рейтинг (данные можно считывать из предварительно набранного текстового файла). Осуществить сортировку массива методом выбора.
Писал на Турбо Паскале для Виндовс,при компиляции выдает ошибку 105 ,ругается на Writeln.Помогите разобраться,пожалуйста!!!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
program analize_methods;
type
     student=record
               fam,name,group:string[20];
               year:integer;
               sr:real
             end;
     ar=array [1..10] of student;
var a,b:ar;
    stud:student;
    amax,i,k:integer;
{Вспомогательная процедура для ввода данных из файла}
procedure input_from_file(name:string;var a:ar);
var st:string;kod:integer;f:text;
begin
     assign(f,name);
     reset(f);
     amax:=0;
     while not eof(f) do
           begin
                readln(f,st);
                with stud do
                     begin
                          fam:=copy(st,1,pos(' ',st)-1);
                          delete(st,1,pos(' ',st));
                          name:=copy(st,1,pos(' ',st)-1);
                          delete(st,1,pos(' ',st));
                          group:=copy(st,1,pos(' ',st)-1);
                          delete(st,1,pos(' ',st));
                          val(copy(st,1,pos(' ',st)-1),year,kod);
                          delete(st,1,pos(' ',st));
                          val(st,sr,kod)
                     end;
                if amax < 10 then amax:=amax+1;
                a[amax]:=stud
           end;
     close(f)
end;
{Вспомогательная процедура для вывода данных в файл}
procedure output_to_file(name,header:string;a:ar);
var f:text;i:integer;
begin
     assign(f,name);
     {$i-} append(f); {$i+}
     if ioresult <> 0 then rewrite(f);
     writeln(f,header);
     writeln(f,'|-----------------------------------------------');
     writeln(f,'|  Фамилия  |   Имя   |  Группа  | Г.р. | С.р. |');
     writeln(f,'|-----------------------------------------------');
     for i:=1 to amax do with a[i] do
     writeln(f,'|',fam:11,'|',name:9,'|',group:10,'|',year:6,'|',sr:6:1,'|');
     writeln(f,'|-----------------------------------------------');
     writeln(f);
     close(f)
end;
{Стандартная процедура для обмена значениями}
procedure obmen(var a,b:student);
var r:student;
begin
     r:=a;a:=b;b:=r
end;
procedure sort_choice(var m:ar);
var k,i,j:integer;
begin
     for i:=1 to amax-1 do
         begin
              k:=i;
              for j:=i+1 to amax do if m[k].fam > m[j].fam then k:=j;
              obmen(m[k],m[i])
         end
end;
begin
     input_from_file('data.txt',a);
     output_to_file('result.txt','Исходный массив',a);
     b:=a; sort_choice(b);
     output_to_file('result.txt','После сортировки выбором:',b);
writeln('Ok')  // ВОТ ЗДЕСЬ ВЫБИВАЕТ ОШИБКУ
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2015, 21:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сформировать массив записей (не менее 5), содержащий данные по студентам (Turbo Pascal):

Сформировать файл записей, содержащий данные об успеваемости студентов
1). Сформировать файл записей, содержащий данные об успеваемости студентов (не...

Создать массив записей , содержащий данные о книгах
Создать массив записей , содержащий данные о книгах . Данные о каждом книгу...

Создать массив записей, содержащий данные об учениках школы (Ошибка в коде)
создать массив записей, содержащий данные об учениках школы. поля записей:...

Сформировать файл FM.DAT, содержащий информацию о деталях на складе (не менее 10 штук)
Составить программу, решающую следующие задачи: 1. Сформировать файл FM. DAT,...

Создать файл записей, содержащий данные о кубах
Создать файл записей, содержащий данные о кубы: размер каждого куба (длина...

Создать типований файл записей, содержащий данные об изданиях
Разработать алгоритмы и две программы. Первая создает файл записей для заданной...

5
Joy
Эксперт Pascal/Delphi
2119 / 1159 / 1418
Регистрация: 29.08.2014
Сообщений: 4,221
19.02.2015, 08:48 #2
все работает вот результат:
Исходный массив

Фамилия ИмяГруппаГ.р.С.р.
fam
fam1
fam0
name
name1
name
group
group
group
12
13
12
23.0
14.0
23.0

После сортировки выбором:

Фамилия ИмяГруппаГ.р.С.р.
fam
fam0
fam1
name
name
name1
group
group
group
12
12
13
23.0
23.0
14.0

Добавлено через 3 минуты
а что за TurboPascal для Windows?
0
Trukhanov_VP
37 / 37 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
19.02.2015, 08:54 #3
Pascal
1
writeln('Ok');
0
TrueTerm
168 / 116 / 45
Регистрация: 25.12.2014
Сообщений: 384
19.02.2015, 09:05 #4
У меня выполнилось вместе с writeln('Ok'). Программа выдала на экран Оk, файл сформировался.
Платформа Windows 7\DOSBOX\TP7

Добавлено через 1 минуту
Trukhanov_VP, вряд ли от этого. ";" перед end можно не ставить. В любом случае, это не должно давать ошибку времени выполнения.
0
максимочка
0 / 0 / 4
Регистрация: 13.11.2014
Сообщений: 41
19.02.2015, 16:00  [ТС] #5
Всем спасибо за помощь!!!!!! Я добаавил uses wincrt и у меня тоже все получилось!
0
Puporev
Модератор
54145 / 41778 / 28884
Регистрация: 18.05.2008
Сообщений: 98,326
19.02.2015, 17:59 #6
Цитата Сообщение от максимочка Посмотреть сообщение
Я добаавил uses wincrt
Так в разделе Free Pascal и создавали бы тему.
0
19.02.2015, 17:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2015, 17:59
Привет! Вот еще темы с решениями:

Ввести массив записей содержащий фамилии, табельный №, зарплату. Отсортировать массив по зарплате.
Ввести массив записей содержащий фамилии, табельный №, зарплату. Отсортировать...

Массив записей: Организовать массив, содержащий сведения о веществах
Маленькая ошибка в коде. Задача у меня такая : Организовать массив,...

Файл записей, содержащий данные о гражданах, которые обслуживаются определённой поликлиникой
Создаваемая информационно-поисковая система должна: разрабатываться в среде...

Дан одномерный массив Z[n]. Сформировать массив L, содержащий только нечетные элементы массива Z
Задача на Pascal. Не решу - зачёт не поставят.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru