Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 4
Регистрация: 10.11.2013
Сообщений: 140

Файл

02.12.2013, 16:52. Показов 841. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте форумчане, я написал программу, но не знаю как сделать чтобы компилятор считывал файл f содержащий сведения об учениках школы, и работал с ним для поиска однофамильцев? подскажите пожалуйста...?


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
//Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится.
//Дан файл f, содержащий сведения об учениках школы. Выясните, имеются ли в школе однофамильцы.
Program isopanzer;
  uses crt;
type
  rec= record
  sn: string[30];
  n: string[30];
  kl: string[5];
end;
var m: array[1..20] of rec; i, c, j : integer; f: text;
Begin
  clrscr;
   assign(f,'X:\y4eniki.txt');
  Write ('Введите количество учеников: ');
  ReadLn (c);
  rewrite(f);
  for i := 1 to c do
begin
  Write ('Введите фамилию: ');
  ReadLn (m[i].sn);
  Write ('Введите имя: ');
  ReadLn (m[i].n);
  Write ('Введите класс: ');
  ReadLn (m[i].kl)
end;
  for i := 1 to c do
  for j := 1 to c do
  if (m[i].sn = m[j].sn) and (i <> j) then
  WriteLn(m[i].sn, ' ', m[i].n, ' ', m[i].kl);
  close (f);
End.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.12.2013, 16:52
Ответы с готовыми решениями:

Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке
Пожалуйста, помогите решить задачу в PascalABC!!! Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный...

Дан файл F, записать в файл G чётные числа, а в файл H все нечётные
Дан файл F, содержащий целые числа. Записать в файл G все чётные числа из файла F, а в файл H все нечётные. Благодарю заранее за любую...

Дан текстовый файл f и две строки s1 и s2. Получить текстовый файл g заменой ввода в файл f строки s1 на s2
Дан текстовый файл f и две строки s1 и s2. Получить текстовый файл g заменой ввода в файл f строки s1 на s2. Помогите пожалуйста,...

6
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
02.12.2013, 17:07
Все зависит от условия задачи. Либо исходный файл текстовый и составлен заранее, либо он типизированный и создается в этой же программе, либо типизированный и создается отдельной программой.
0
2 / 2 / 4
Регистрация: 10.11.2013
Сообщений: 140
02.12.2013, 17:58  [ТС]
Кстати забыл исходный файл текстовый (составлен заранее), я ни как не могу понять как сделать чтобы он считывал список учеников и работал с ними...

Добавлено через 48 минут
что-то не получается прочитать файл...
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
//Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится.
//Дан файл f, содержащий сведения об учениках школы. Выясните, имеются ли в школе однофамильцы.
Program isopanzer;
  uses crt;
type
  rec= record
  sn: string[30];
  n: string[30];
  kl: string[5];
end;
var m: array[1..20] of rec; i, c, j : integer; f: text;
Begin
  clrscr;
   assign(f,'X:\y4eniki.txt');
  Write ('Введите количество учеников: ');
  ReadLn (c);
  rewrite(f);
  for i := 1 to c do
begin
  Write ('Введите фамилию: ');
  ReadLn (m[i].sn);
  Write ('Введите имя: ');
  ReadLn (m[i].n);
  Write ('Введите класс: ');
  ReadLn (m[i].kl)
end;
  for i := 1 to c do
  for j := 1 to c do
  reset (f);
  if (m[i].sn = m[j].sn) and (i <> j) then
  WriteLn(m[i].sn, ' ', m[i].n, ' ', m[i].kl);
  close (f);
End.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
02.12.2013, 18:13
Нужно знать структуру файла, например все поля одной записи в строке через пробел,типа
Петров Иван 10а
открываем файл для чтения
Pascal
1
2
assign(f,'X:\y4eniki.txt');
reset(f);
читаем построчно и парсим строки
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
k:=0;
wile not eof(f) do
 begin
  readln(f,s);
  k:=k+1;
  m[k].sn:=copy(s,1,pos(' ',s)-1);
  delete(s,1,pos(' ',s));
  m[k].n:=copy(s,1,pos(' ',s)-1);
  delete(s,1,pos(' ',s));
  m[k].kl:=s
 end;
close(f)
0
2 / 2 / 4
Регистрация: 10.11.2013
Сообщений: 140
02.12.2013, 19:11  [ТС]
Записал как вы сказали, но при компилировании выдает сразу программа завершена, может быть программа неправильно считывает...
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
 //Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится.
//Дан файл f, содержащий сведения об учениках школы. Выясните, имеются ли в школе однофамильцы.
Program Zadanie_2;
  uses crt;
type
  rec= record
  sn: string[30];
  n: string[30];
  kl: string[5];
end;
var m: array[1..20] of rec; i, c, j, k: integer; f: text; s: string;
Begin
  assign(f,'y4eniki.txt');
  reset(f);
  clrscr;
  k:=0;
while not eof(f) do
 begin
  readln(f,s);
  k:=k+1;
  m[k].sn:=copy(s,1,pos(' ',s)-1);
  delete(s,1,pos(' ',s));
  m[k].n:=copy(s,1,pos(' ',s)-1);
  delete(s,1,pos(' ',s));
  m[k].kl:=s
 end;
  close(f);
  for i := 1 to c do
  for j := 1 to c do
  if (m[i].sn = m[j].sn) and (i <> j) then
  WriteLn(m[i].sn, ' ', m[i].n, ' ', m[i].kl);
End.
Вложения
Тип файла: txt y4eniki.txt (95 байт, 4 просмотров)
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
02.12.2013, 19:25
Когда списываешь тоже мозг включай, было количество в файле k, а стало с чего-то с.
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
Program Zadanie_2;
uses crt;
type
  rec= record
  sn: string[30];
  n: string[30];
  kl: string[5];
end;
var m: array[1..20] of rec;
    i, c, j, k: integer;
    f: text;
    s: string;
Begin
assign(f,'y4eniki.txt');
reset(f);
k:=0;
while not eof(f) do
 begin
  readln(f,s);
  k:=k+1;
  m[k].sn:=copy(s,1,pos(' ',s)-1);
  delete(s,1,pos(' ',s));
  m[k].n:=copy(s,1,pos(' ',s)-1);
  delete(s,1,pos(' ',s));
  m[k].kl:=s
 end;
close(f);
c:=0;
i:=1;
i:=1;
while(i<k)and(c=0) do
 begin
  j:=i+1;
  while(j<=k)and(c=0) do
  if m[j].sn=m[i].sn then c:=1
  else inc(j);
  if c=0 then inc(i);
 end;
if c=1 then write('Îäíîôàìèëüöû åñòü')
else write('Îäíîôàìèëüöåâ íåò')
end.
1
2 / 2 / 4
Регистрация: 10.11.2013
Сообщений: 140
02.12.2013, 21:42  [ТС]
спасибо! понял свою ошибку...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.12.2013, 21:42
Помогаю со студенческими работами здесь

Файл f содержит буквы латинского и русского алфавитов. Занести в файл h только латинские буквы, а в файл g - только русские буквы
Помогите пожалуйста!!! Файл f содержит буквы латинского и русского алфавитов. Занести в файл h только латинские буквы, а в файл g -...

Написать программу, которая в файл g записывает четные числа, а файл h — нечетные
В файле f записаны целые числа. Написать программу, которая в файл g записывает четные числа, а файл h - нечетные.

Файл: Переписать в другой файл последовательного доступа те элементы, которые кратны К
Записать в файл последовательного доступа N произвольных натуральных чисел. Переписать в другой файл последовательного доступа те элементы,...

Дан текстовый файл f. Записать в файл g компоненты файла f в обратном порядке
помогите, пожалуйста сделать задачку. Заранее спасибо огромное.

Дан текстовый файл. Создать символьный файл, содержащий все символы
Дан текстовый файл. Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания (без...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru