Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.12.2017
Сообщений: 6
1

Данные структуры запись хранить в типизированном файле

24.01.2018, 00:09. Показов 696. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот программа. В ней надо чтобы данные из типа-записи хранились в файле.
Delphi
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
uses
  SysUtils,
  Windows;
 
type kurs = record
      fam:string;
      group:1..2;
      geom,alg,inf:2..5;
     end;
var a:array[1..10] of kurs;
    i,k,b,c,d:integer;
    x,y:string;
begin
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
x:=('');
k:=0;
b:=0;
c:=0;
d:=0;
for i:=1 to 10 do
with a[i] do begin
writeln('Фамилия'); readln(fam);
writeln('Группа'); readln(group);
writeln('Оценка по геометрии'); readln(geom);
writeln('Оценка по алгебре'); readln(alg);
writeln('Оценка по информатике'); readln(inf);
if (geom=2)or(alg=2)or(inf=2)then
x:=x+fam;
if (geom>3)and(alg>3)and(inf>3) then
inc(k);
if geom>=2 then
b:=b+geom;
if alg>=2 then
c:=c+alg;
if inf>=2 then
d:=d+inf;
end;
if (b/10>c/10)and(b/10>d/10)then
y:=('Геометрия');
if (c/10>b/10)and(c/10>d/10)then
y:=('Алгебра');
if (d/10>c/10)and(d/10>b/10)then
y:=('Информатика');
writeln('Фамилии студентов, имеющих больше 1 задолжности:',x);
writeln('Качество успеваемости ',k/10*100:3:0,'%');
writeln('Предмет который был сдан лучше всего:',y);
readln;
 { TODO -oUser -cConsole Main : Insert code here }
end.
Вот мои наброски. Вроде как всё работает но у меня не получается создать правильно сам файл database
Delphi
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
uses
  SysUtils,
  Windows;
 
type kurs = record
      fam:string[15];
      group:1..2;
      geom,alg,inf:2..5;
     end;
var a: kurs;
    i,k,b,c,d:integer;
    x,y:string;
    f:file of kurs;
    z:kurs;
begin
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
AssignFile(f,'database.dat');
Reset(f);
x:=('');
k:=0;
b:=0;
c:=0;
d:=0;
for i:=0 to filesize(f)-1 do
Read(f,z);
with z do begin
writeln('Фамилия,fam);
writeln('Группа',group);
writeln('Оценка по геометрии',geom);
writeln('Алгебра',alg);
writeln('Информатика',inf);
if (geom=2)or(alg=2)or(inf=2)then
x:=x+fam;
if (geom>3)and(alg>3)and(inf>3) then
inc(k);
if geom>=2 then
b:=b+geom;
if alg>=2 then
c:=c+alg;
if inf>=2 then
d:=d+inf;
end;
 
if (b/10>c/10)and(b/10>d/10)then
y:=('Геометрия');
if (c/10>b/10)and(c/10>d/10)then
y:=('Алгебра');
if (d/10>c/10)and(d/10>b/10)then
y:=('Информатика');
CloseFile(f);
writeln('Фамилии студентов у которых больше 1 задолжности:',x);
writeln('Качество успеваемости',k/10*100:3:0,'%');
writeln('Предмет который был сдан лучше всего:',y);
readln;
 { TODO -oUser -cConsole Main : Insert code here }
end.

Помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2018, 00:09
Ответы с готовыми решениями:

Данные структуры 'запись' хранить в типизированном файле
Задание 2 соответствует заданию 2 лабораторной работы № 4. Данные структуры запись хранить в...

Как сдвинуть запись в типизированном файле?
У меня есть типизированный файл с n количеством записей. Как удалить выбранную запись? Я понимаю,...

Вставить новую запись в файл в типизированном файле
Программа на паскаль. Составить программу не используя глобальные переменные внутри процедур, а...

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

2
Житель Земли
3002 / 3004 / 391
Регистрация: 26.07.2011
Сообщений: 11,463
Записей в блоге: 1
24.01.2018, 10:27 2
Цитата Сообщение от Sarmat1234 Посмотреть сообщение
Вот мои наброски
для начала, если это копипаст с твоего проекта, то пропущен апостроф в строке 28. или тебе цветовая разметка текста программы не намекает, не говоря уже об ошибках компиляции?

Цитата Сообщение от Sarmat1234 Посмотреть сообщение
type kurs = record
если запись предназначена для сохранения в тип. файл, то рекомендуют объявлять ее так
Pascal
1
type kurs = packed record
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
24.01.2018, 10:29 3
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//создание файла записей
AssignFile(f,'database.dat');
Rewrite(f);
write('Сколько записей занести в файл k=');
readln(k);
for i:=1 to k do
 begin
  writeln('Запись ',i);
  with z do
   begin
    write('Фамилия: ');readln(fam);
    write('Группа: ');readln(group);
    write('Оценка по геометрии: ');readln(geom);
    write('Алгебра: ');readln(alg);
    write('Информатика: ');readln(inf);
    write(f,a);
   end;
 end;
//чтение и обработка
reset(f);
........
close(f);
end.
0
24.01.2018, 10:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2018, 10:29
Помогаю со студенческими работами здесь

StringGrid: в типизированном файле изменить конкретную запись
Подскажите пожалуйста, как в типизированном файле изменить конкретную запись? все действия в...

Запись и чтение вещественных чисел в типизированном файле
Добрый день. В типизированный файл нужно записать действительные числа, а после прочесть его и...

Запись, удаление, поиск записей в типизированном файле
Ищу пример программы, которая включает в себя: 1)Меню 2)Запись, удаление, поиск записей в...

Как можно сравнить данные в типизированном файле?
Добрый вечер.Хотелось бы узнать.... как можно сравнить данные в типизированном файле? Пример...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru