Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
Raptoridze
0 / 0 / 0
Регистрация: 30.12.2011
Сообщений: 10
1

Дан файл записей. Одно из полей записи ФИО. Вывести все записи в виде таблицы в алфавитном порядке ФИО

21.09.2012, 10:18. Просмотров 1505. Ответов 3
Метки нет (Все метки)

Я сделал ввод файла, а вот как сделать такой вывод не знаю. Помогите пожалуйста.

Каждая запись содержит поля:
• ФИО;
• пол;
• группа;
• код специальности;
• наименование специальности;
оценки по предметам:
• информатика;
• дискретная математика;
• математический анализ;
• высшая алгебра


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
type
  oc=record
  inf:integer;
  dm:integer;
  matan:integer;
  val:integer; end;
 fktipm=record
  fio:string;
  pol:char;
  gr:integer;
  ks:string;
  ns:string;
  ball:oc;
 end;
var x:fktipm; p:integer; f:file of fktipm;
procedure vvod;
var x:fktipm; pr:integer;
begin
 rewrite(f);
 while pr<>2 do begin
 writeln('Введите данные о студенте:');
 write('ФИО: '); readln(x.fio);
 write('Пол: '); readln(x.pol);
 write('Группа: '); readln(x.gr);
 write('Код специальности: '); readln(x.ks);
 write('Наименование специальности: '); readln(x.ns);
 write('Оценка по информатике: '); readln(x.ball.inf);
 write('Оценка по дискретной математике: '); readln(x.ball.dm);
 write('Оценка по математическому анализу: '); readln(x.ball.matan);
 write('Оценка по высшей алгебре: '); readln(x.ball.val);
 write(f,x);
 writeln('Запись создана.');
 writeln('Продолжить ввод данных?');
 writeln('1. Да');
 writeln('2. Нет');
 write('Введите номер: '); readln(pr);
 end;
 close(f);
 end;
begin
assign(f,'file.txt');
while p<>6 do begin
writeln('1. Создание файла и ввод информации');
writeln('2. Вывод записей');
writeln('3. Редактирование записи');
writeln('4. Удаление записи');
writeln('5. Вывести номер группы, в которой больше всего студентов, сдавших сессию без троек и их ФИО');
writeln('6. Завершение работы;');
writeln;
writeln('Введите номер:'); readln(p);
if p=1 then vvod;
end;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2012, 10:18
Ответы с готовыми решениями:

Дан текст.Напечатать в алфавитном порядке все согласные буквы, которые входят хотя бы в одно слово.
Дан текст.Напечатать в алфавитном порядке все согласные буквы, которые входят...

Записи и файлы. Предметная область - Факультатив. Структура: Наименование, ФИО проводящего, день недели, время
1. Записи. Составить программу, которая позволяет вводить сведения о...

Напечатать в алфавитном порядке все согласные буквы, которые не входят ни в одно слово
Дана непустая последовательность слов из строчных русских букв, меду соседними...

Множества Напечатать в алфавитном порядке: все согласные буквы, которые не входят ни в одно слово
Дана непустая последовательность слов из строчных русских букв; между...

Напечатать в алфавитном порядке: все согласные буквы, которые входят только в одно слово
4.Дана последовательность слов русского языка, между словами – запятая, за...

3
domovou2.0
Дзæуджыхъæу
231 / 203 / 148
Регистрация: 20.09.2012
Сообщений: 421
Записей в блоге: 1
21.09.2012, 19:17 2
Код
uses wincrt;
type
  oc=record
           inf:integer;
  dm:integer;
  matan:integer;
  val:integer; end;
 fktipm=record
  fio:string;
  pol:char;
  gr:integer;
  ks:string;
  ns:string;
  ball:oc;
 end;
 fil= file of fktipm;
var x,y,sp:fktipm; p:integer; f:fil;
procedure vvod;
var x:fktipm; pr:integer;
begin
 assign(f,'file.txt');
 rewrite(f);
 while pr<>2 do begin
       writeln('Введите данные о студенте:');
        write('ФИО: '); readln(x.fio);
        write('Пол: '); readln(x.pol);
        write('Группа: '); readln(x.gr);
         write('Код специальности: '); readln(x.ks);
          write('Наименование специальности: '); readln(x.ns);
         write('Оценка по информатике: '); readln(x.ball.inf);
          write('Оценка по дискретной математике: '); readln(x.ball.dm);
           write('Оценка по математическому анализу: '); readln(x.ball.matan);
          write('Оценка по высшей алгебре: '); readln(x.ball.val);
         write(f,x);
          writeln('Запись создана.');
        writeln('Продолжить ввод данных?');
          writeln('1. Да');
         writeln('2. Нет');
         write('Введите номер: ');
          readln(pr);
                      end;
 close(f);
 end;
 procedure sort;
 var q,i,j:integer;

 begin
assign(f,'file.txt');
reset(f);

for i:=0 to filesize(f)-2 do
    for j:=i+1 to filesize(f)-1 do
     begin
          seek(f,i);
          read(f,x);
           seek(f,j);
            read(f,y);
          if x.fio>y.fio then
                  begin
                  sp:=x;
                  x:=y;
                  y:=sp;
                  seek(f,i);
                  write(f,x);
                  seek(f,j);
                  write(f,sp);
                  end;
     end;
close(f);
reset(f);
writeln('ФИО:                ','Пол: ','Группа: ','Код специальности: ','Наименование специальности: ');
while not eof(f) do begin
      read(f,x);
      writeln(x.fio:2,x.pol:7,x.gr:7,x.ks:7);

                      end;

 end;
begin
{assign(f,'file.txt'); }
while p<>6 do begin
      writeln('1. Создание файла и ввод информации');
      writeln('2.Сортировка и Вывод записей');
      writeln('3. Редактирование записи');
      writeln('4. Удаление записи');
      writeln('5. Вывести номер группы, в которой больше всего студентов, сдавших сессию без троек и их ФИО');
      writeln('6. Завершение работы;');
      writeln;
      writeln('Введите номер:'); readln(p);
      case p of
           1:  vvod;
           2: sort;
           end;
           end;
end.
0
Raptoridze
0 / 0 / 0
Регистрация: 30.12.2011
Сообщений: 10
21.09.2012, 21:05  [ТС] 3
Спасибо большое, но за это время я успел сам справиться)
0
domovou2.0
Дзæуджыхъæу
231 / 203 / 148
Регистрация: 20.09.2012
Сообщений: 421
Записей в блоге: 1
21.09.2012, 21:25 4
Цитата Сообщение от Raptoridze Посмотреть сообщение
Спасибо большое, но за это время я успел сам справиться)
Бывает))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2012, 21:25

Напечатать в алфавитном порядке все гласные буквы, которые не входят более чем в одно слово
дан текст на русском языке. напечатать в алфавитном порядке все гласные буквы...

Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят только в одно слово
Задание: Дан текст на русском языке. Напечатать в алфавитном порядке все глухие...

Строки. Напечатать в алфавитном порядке все звонкие согласные, которые входят более чем в одно слово
Дана непустая последовательность слов из строчных русских букв; между соседними...


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

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

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