Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 11.02.2015
Сообщений: 115

Вывести список старшеклассников

28.04.2015, 12:00. Показов 2436. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан текстовый файл, в котором хранятся данные об учениках нескольких школ: фамилия, имя, отчество, адрес(улица, дом, квартира), школа и класс. Вывести на экран фамилию, адрес, имя и адрес тех учеников, кто учится в данной школе в старших классах (номер школы вводить с клавиатуры).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2015, 12:00
Ответы с готовыми решениями:

Переписать старшеклассников в отдельный массив
Задачка послежнее. или мне кажется что она здоровая. Помогите пожалуйста с решением. задача: Огромнейшее спасибо за помощь!!

Выяснить процент старшеклассников одного класса, имеющих "нормальное" давление
Кровяное давление у старшеклассников считается нормальным, если верхняя его граница H  100, нижняя h  60 и H-h  30....

Выяснить процент старшеклассников одного класса, имеющих "нормальное" давление, в зависимости от замеров
Запутался с задачей,помогите) Кровяное давление у старшеклассников считается нормальным, если верхняя его граница H <= 100, нижняя...

13
11 / 11 / 14
Регистрация: 28.02.2015
Сообщений: 43
28.04.2015, 12:55
Лучший ответ Сообщение было отмечено DanDeL1oN как решение

Решение

Цитата Сообщение от DanDeL1oN Посмотреть сообщение
Дан текстовый файл, в котором хранятся данные об учениках нескольких школ: фамилия, имя, отчество, адрес(улица, дом, квартира), школа и класс. Вывести на экран фамилию, адрес, имя и адрес тех учеников, кто учится в данной школе в старших классах (номер школы вводить с клавиатуры).
Старшие классы - 9-11-е?
+ есть вопросы по заполнению файла: для каждого параметра своя строка или для каждого ученика 1 срока?

Добавлено через 13 минут
Вообщем, можно создать свои типы для имени, было бы красивее наверно, но главное - работает
И еще, в этой программе в файле хранятся данные в таком виде:
{name} Новиков Илья
{Adress} Москва, техн. переулок
{School} 31
{Grade} 11
Пример с "улучшенным типом"
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
type
   tName = record
      FirstName: string;
      SecondName: string;
   end;
   tAdress = record
      City: string;
      Street: string;
      House: integer;
   end;
   tNote = record
      Name: tName;
      Adress: tAdress;
      School: integer;
      Grade: integer;
   end;
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
const
  Nmax = 100;
type
   tNote = record
      Name: string;
      Adress: string;
      School: integer;
      Grade: integer;
   end;
   tArray = array [1..Nmax] of tNote;
procedure InitArray(var a: tArray);
var 
  i: integer;
begin
  for i := 1 to Nmax do begin
    a[i].Name := '';
    a[i].Adress := '';
    a[i].School := 0;
    a[i].Grade := 0;
  end;
end;
procedure InitTable(S: string; var a: tArray);
var
  f: text;
  i: integer;
begin
  InitArray(a);
  assign(f,s);
  reset(f);
  i:= 0;
  while not eof(f) do begin
    i := i + 1;
    readln(f, a[i].Name);
    readln(f, a[i].Adress);
    readln(f, a[i].School);
    readln(f, a[i].Grade);
  end;
  close(f);
 end;
 
var
  a: tArray;
  i: integer;
begin
  inittable('exmpl.txt', a);
  for i := 1 to Nmax do 
    if (a[i].Grade >= 9) and (a[i].Grade <=11) then 
      writeln(a[i].Name, ' ', a[i].Adress);
    
end.
1
1 / 1 / 0
Регистрация: 11.02.2015
Сообщений: 115
28.04.2015, 14:41  [ТС]
Gataur, Спасибо большое, но тут возникла проблема когда идет эта строчка 36. readln(f, a[i].School);
то он выдает ошибку "входная строка имела не верный формат", как с этим быть?
0
11 / 11 / 14
Регистрация: 28.02.2015
Сообщений: 43
28.04.2015, 14:52
DanDeL1oN, ты школу как в файле вводил?

Добавлено через 27 секунд
DanDeL1oN, я просто цифрой, надо немного заморочиться чтобы из строки число выделить тогда
0
1 / 1 / 0
Регистрация: 11.02.2015
Сообщений: 115
28.04.2015, 14:54  [ТС]
да, я просто цифрой ввел
0
11 / 11 / 14
Регистрация: 28.02.2015
Сообщений: 43
28.04.2015, 14:55
DanDeL1oN, скрин приложи файла и программы, пожалуйста
0
1 / 1 / 0
Регистрация: 11.02.2015
Сообщений: 115
28.04.2015, 15:03  [ТС]
Gataur, [url=bt.bashtel.ru] http://bt.bashtel.ru/imgs/imag... yannyy.jpg
а прога точно такая же как и у тебя
0
11 / 11 / 14
Регистрация: 28.02.2015
Сообщений: 43
28.04.2015, 15:05
DanDeL1oN, просто скопируй содержимое файла, я посмотрю на своем пк
0
1 / 1 / 0
Регистрация: 11.02.2015
Сообщений: 115
28.04.2015, 15:07  [ТС]
Gataur, {name} Новиков Илья
{Adress} Москва, техн. переулок
{School} 31
{Grade} 11
{name} Иванов Саша
{Adress} Уфа, БГУ
{School} 16
{Grade} 10
0
11 / 11 / 14
Регистрация: 28.02.2015
Сообщений: 43
28.04.2015, 15:16
DanDeL1oN, так и думал))) пишите в файл без {..} это просто был пример и пояснене
0
1 / 1 / 0
Регистрация: 11.02.2015
Сообщений: 115
28.04.2015, 15:22  [ТС]
Gataur, все равно пишет входная строка имела неверный формат(
0
11 / 11 / 14
Регистрация: 28.02.2015
Сообщений: 43
28.04.2015, 15:43
Лучший ответ Сообщение было отмечено DanDeL1oN как решение

Решение

DanDeL1oN,
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
const
  Nmax = 100;
type
   tNote = record
      Name: string;
      Adress: string;
      School: integer;
      Grade: integer;
   end;
   tArray = array [1..Nmax] of tNote;
procedure InitArray(var a: tArray);
var 
  i: integer;
begin
  for i := 1 to Nmax do begin
    a[i].Name := '';
    a[i].Adress := '';
    a[i].School := 0;
    a[i].Grade := 0;
  end;
end;
procedure InitTable(S: string; var a: tArray);
var
  f: text;
  i: integer;
begin
  InitArray(a);
  assign(f,s);
  reset(f);
  i:= 0;
  while not eof(f) do begin
    i := i + 1;
    readln(f, a[i].Name);
    readln(f, a[i].Adress);
    readln(f, a[i].School);
    readln(f, a[i].Grade);
  end;
  close(f);
 end;
 
var
  a: tArray;
  i: integer;
begin
  inittable('exmpl.txt', a);
  for i := 1 to Nmax do 
    if (a[i].Grade >= 9) and (a[i].Grade <=11) then 
      writeln(a[i].Name, ' ', a[i].Adress);
    
end.
файл:
илья
вол
37
11
настя
вол
44
9
костя
вол
37
5
наташа
вол
44
10
консоль:
илья вол
настя вол
наташа вол
1
1 / 1 / 0
Регистрация: 11.02.2015
Сообщений: 115
28.04.2015, 16:16  [ТС]
Огромное тебе спасибо, выручил
0
11 / 11 / 14
Регистрация: 28.02.2015
Сообщений: 43
28.04.2015, 16:17
DanDeL1oN, всегда рад
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.04.2015, 16:17
Помогаю со студенческими работами здесь

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

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

Вводится число N. Создать список его делителей и вывести список на экран
#include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;malloc.h&gt; #include&lt;string.h&gt; #include&lt;stdlib.h&gt; using namespace std; struct...

Создать односвязный список, затем вывести весь список в ListBox
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; class List { public: string Element; List...

Упорядочить список студентов по среднему баллу и вывести весь список
форумчане,выдает ошибку :( столько маюсь с задачей уже #include &lt;vcl.h&gt; #include &lt;stdio.h&gt; #pragma hdrstop /*Упорядочить список...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru