8 / 8 / 1
Регистрация: 24.10.2013
Сообщений: 205
1

Написать программу, которая создает файл записей со следующей информацией о жителях некоторого города

16.03.2014, 19:34. Показов 1813. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу, которая создает файл записей со следующей информацией о жителях некоторого города:ФИО, адрес, телефон. Вывести содержимое файла на экран для контроля.
Программа создания файла у меня получилась. А вот программа вывода содержимого не работает(выдает ошибку при вводе имя файла). Что нужно изменить?
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
Uses CRT;
Type Townsman = record
surname: string [10]; 
name: string [6]; 
father: string [12]; 
address: string [20]; 
tel: string [7]; 
end;
Var F:file of Townsman; 
Man: Townsman; 
n: byte; {Кол-во жителей}
i: byte; {счетчик}
Begin
Clrscr;
Write(‘введите кол-во жителей:);
Readln(n);
Assign (F,’ Townsman.dat);
Rewrite(F);
For i:=1 to n do
Begin
Write(‘фамилия:); Readln(Man.surname);
Write(‘имя:); Readln(Man.name);
Write(‘отчество:); Readln(Man.father);
Write(‘Адрес:); Readln(Man.address);
Write(‘Телефон:); Readln(Man.tel);
Write(F,Man);
End;
Close(F);
end.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Uses Crt;
Var f: file of integer;
Name: string;
Begin
CrtScr;
{$I-}
write(‘Введите полное имя файла’); Readln (Name);
Assign (f, Name);
Reset (f);
{$I+}
if IOResult <> 0 then writeln(‘ошибка открытия файла’)
Close (f); 
End.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2014, 19:34
Ответы с готовыми решениями:

Файл: Напишите программу, которая создает текстовый файл и заполняет его тремя или более строками некоторого текста.
Напишите программу, которая создает текстовый файл и заполняет его тремя или более строками...

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

Написать программу, которая создает файл
Здравствуйте! Помогите написать программу на Visual Studio 2010. Задание: Написать программу,...

Написать программу, которая создает типизированный файл
:-|Написать программу, которая создает типизированный файл и записывает в него MxN значений. Имя...

3
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,076
Записей в блоге: 1
16.03.2014, 22:47 2
Pascal
1
Assign (F,’ Townsman.dat);
пробел уберите.
Pascal
1
Var f: file of integer;
А в первой программе там несколько иное.
Надеюсь код вывода содержимого тоже есть, просто не показан?
Pascal
1
2
3
while not eof(f) do begin
  Read(f,man); WriteLn(...);
end;
1
8 / 8 / 1
Регистрация: 24.10.2013
Сообщений: 205
17.03.2014, 15:35  [ТС] 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
Uses CRT;
Type Townsman = record
surname: string [10]; 
name: string [6]; 
father: string [12]; 
address: string [20]; 
tel: string [7]; 
end;
Var F:file of Townsman; 
Man: Townsman; 
n: byte; {Кол-во жителей}
i: byte; {счетчик}
Begin
Clrscr;
Write(‘введите кол-во жителей:);
Readln(n);
Assign (F,’ Townsman.dat);
Rewrite(F);
For i:=1 to n do
Begin
Write(‘фамилия:); Readln(Man.surname);
Write(‘имя:); Readln(Man.name);
Write(‘отчество:); Readln(Man.father);
Write(‘Адрес:); Readln(Man.address);
Write(‘Телефон:); Readln(Man.tel);
Write(F,Man);
End;
while not eof(f) do begin
  Read(f,man); WriteLn(f,man); 
end;
Close(F);
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,076
Записей в блоге: 1
17.03.2014, 21:20 4
Лучший ответ Сообщение было отмечено Евдокия как решение

Решение

У вас после 27 строки указатель текущей записи стоит в конце файла. Чтобы вывести содержимое, указатель нужно вернуть в начало файла: Seek(f,0); { первая запись имеет смещение 0 }
Write/WriteLn не умеют выводить переменные типа Townsman, придётся расписать по полям:
Pascal
1
2
3
4
5
6
7
8
9
10
11
Seek(f,0);
while not eof(f) do with man do begin
  Read(f,man);
  Write(' Фамилия: ',surname);
  Write('     Имя: ',name);
  Write('Отчество: ',father);
  Write('   Адрес: ',address);
  Write(' Телефон: ',tel);
  WriteLn;
end;
Close(f);
PS. У вас кавычки неправильные, нужны обычные апострофы, те, что на букве "э".
1
17.03.2014, 21:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2014, 21:20
Помогаю со студенческими работами здесь

Файл: Написать программу, которая создает файл содержащий целые числа, и находит наименьшее из чисел, содержащийся в файле.
Написать программу, которая создает файл содержащий целые числа, и находит наименьшее из чисел,...

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

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

Написать программу, которая создает новый текстовый файл и записывает в него следующие данные
5. Написать программу, которая создает новый текстовый файл и записывает в него следующие данные...


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

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

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