Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
4 / 4 / 4
Регистрация: 03.01.2015
Сообщений: 449

Программа-анкета: использовать файл записей

18.01.2015, 17:44. Показов 2769. Ответов 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
Program Z9;
Procedure Make(var anketa: record);
 
begin
writeln(anketa);
readln(anketa.fio1);
readln(anketa.Mat1);
readln(anketa.Alg1);
readln(anketa.Inf11);
readln(anketa.Chisl1);
readln(anketa.Yrav1);
readln(anketa.Teor1);
readln(anketa.Funk1);
writeln;
end;
 
var TextFile: file of record
anketa: record
fio:string='Vvedite FIO: ';
fio1:string;
Mat:string='Mat analiz';
Mat1:string;
Alg:string='Algebra';
Alg1:string;
Inf:string='Informatika';
Inf1:string;
Chisl:string='Chislenie metodi';
Chisl1:string;
Yrav:string='Dif. yravnenia';
Yrav1:string;
Teor:string='Teorya veroyatnosti';
Teor1:string;
Funk:string='Funk. analiz';
Funk1:string;
end;
 
begin
writeln('Введите количество человек, проходящих анкету: ');
read(n);
Assign(TextFile, 'test2.txt');
readln(TextFile, anketa);
rewrite(TextFile);
for i:=1 to n do
begin
Make(anketa);
writeln(TextFile, anketa)
writeln('Анкета пройдена!');
end;
Close(TextFile);
readln;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2015, 17:44
Ответы с готовыми решениями:

Программа анкета
Всем привет, если не по теме то простите, и если вопрос уже поднимался и закрыт, то ткните носам, где эта тема. У нас препод задал...

Программа-анкета для опроса населения
Помогите пожалуйста написать программу на C#.можно и в консоли. Анкета для опроса населения содержит две группы вопросов Первая группа...

Программа-Анкета: собственный ответ анкетируемого?
Я пишу прогу-анкету, используя RadioButton, но как быть когда помимо имеющихся вариантов ответов, есть собственный ответ анкетируемого? Как...

3
 Аватар для Вениамин Шепард
25 / 11 / 5
Регистрация: 11.01.2014
Сообщений: 85
19.01.2015, 01:44


Начну с главного
Бинарные и нетипизированные файлы:
Pascal
1
var textfile: file of <тип>
Примеры:
Pascal
1
2
3
file of integer
file of char
file of double
Но также можно записывать классы и рекорды, для этого пишем:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Type
 anketa = record//Сама запись, она описывается именно так
  fam: string[100];//Обязательно ставим максимальный размер, потому что в файл нельзя засунуть динамическую память
  age: integer;
 end;
 
var f: file of anketa;//file of <имя нашей записи> P.S. Может быть любой
s:anketa;//сама переменная
 
begin
    assign(f,'lalalala.bin');//или любой тип файла
    s.age:=228;
    s.fam:='Prosto';
    rewrite(f);
    write(f,s);
    close(f);
end.
Надеюсь, что помог. Ваш тыжПрограммист.
1
4 / 4 / 4
Регистрация: 03.01.2015
Сообщений: 449
19.01.2015, 08:27  [ТС]
Добрый день!

Так получается?
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
Program Z9;
type
  anketa=record
    fio, fio1, mat, mat1, alg, alg1, inf, inf1, chisl, chisl1, yrav, yrav1, teor, teor1, funk, funk1: string[100];
end;
    
Procedure Make(var s:anketa);
   s.fio:= 'Введите ФИО: ';
   s.mat:= 'Математический анализ: ';
   s.alg:= 'Алгебра: ';
   s.inf:= 'Информатика: ';
   s.chisl:='Численные методы: ';
   s.yrav:='Дифференциальные уравнения: ';
   s.teor:='Теория вероятности: ';
   s.funk:='Функциональный анализ: ';
end;
 
begin
 readln(str);
 writeln(TextFile, str);
 writeln(TextFile);
 writeln;
 end;
 
var TextFile: file of anketa;
    s:anketa;
    i,n:byte;
    
 
begin
 writeln('Введите количество человек, проходящих анкетирование: ');
 read(n);
 Assign(TextFile, 'test2.txt');
rewrite(TextFile);
  for i:=1 to n do
 begin
 Make(s);
 writeln(s.fio);
 readln(s.fio1);
writeln(s.mat);
 readln(s.mat1);
writeln(s.alg);
 readln(s.alg1);
writeln(s.inf);
 readln(s.inf1);
writeln(s.chisl);
 readln(s.chisl1);
writeln(s.yrav);
 readln(s.yrav1);
writeln(s.teor);
 readln(s.teor1);
writeln(s.funk);
 readln(s.funk1);
writeln(f,s);
 end.
0
 Аватар для Вениамин Шепард
25 / 11 / 5
Регистрация: 11.01.2014
Сообщений: 85
19.01.2015, 17:20
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
program Z9;
 
type
    anketa = record
        fio, fio1, mat, mat1, alg, alg1, inf, inf1, chisl, chisl1, yrav, yrav1, teor, teor1, funk, funk1: string[100];
    end;
 
procedure Make(var s: anketa);
begin//тут нужен begin
    s.fio := 'Введите ФИО: ';
    s.mat := 'Математический анализ: ';
    s.alg := 'Алгебра: ';
    s.inf := 'Информатика: ';
    s.chisl := 'Численные методы: ';
    s.yrav := 'Дифференциальные уравнения: ';
    s.teor := 'Теория вероятности: ';
    s.funk := 'Функциональный анализ: ';
end;
 
 
{begin
 readln(str);
 writeln(TextFile, str);
 writeln(TextFile);
 writeln;
 end;
 Это вообще что-то ненужное
 }
 
var
    TextFile: file of anketa;
    s: anketa;
    i, n: byte;
 
 
begin
    writeln('Введите количество человек, проходящих анкетирование: ');
    read(n);
    Assign(TextFile, 'test2.txt');
    rewrite(TextFile);
    Make(s);//достаточно один раз вызвать эту процедуру
    for i := 1 to n do
    begin
        writeln(s.fio);
        readln(s.fio1);
        writeln(s.mat);
        readln(s.mat1);
        writeln(s.alg);
        readln(s.alg1);
        writeln(s.inf);
        readln(s.inf1);
        writeln(s.chisl);
        readln(s.chisl1);
        writeln(s.yrav);
        readln(s.yrav1);
        writeln(s.teor);
        readln(s.teor1);
        writeln(s.funk);
        readln(s.funk1);
        write(TextFile, s);//writeln нельзя юзать с записью бинарных файлов
    end; //end нужен в конце цикла
    
    close(TextFile);//не забываем закрывать файл
end.
Вот так вот лучше
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.01.2015, 17:20
Помогаю со студенческими работами здесь

Для реализации записей использовать списки свойств атомов. Массив записей нужно считывать из файла
Помогите с лиспом пожалуйста. Ведомость сдачи экзамена содержит следующие графы: номер по порядку, фамилия студента, номер зачётной...

Можно ли использовать фильтр записей в ListBox
Всем заглянувшим, здрям! Есть код: Private Sub Text1_Change() strFind = UCase(Text1.Text) List1.Clear ...

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

Массив записей+файл записей
Описать, используя структуру данных запись, записную книжку (фамилия, номер телефона). Составить программу, определяющую: 1) есть ли в...

Как в данной программе использовать указатель на массив записей?
Задание: Предусмотреть контроль за размером динамически распределяемой памяти (ДРП), а также ее освобождение после выполнения необходимых...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru