Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/22: Рейтинг темы: голосов - 22, средняя оценка - 4.64
 Аватар для AleksXXX
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 7

Линейный список: картотека абонентов междугородной телефонной станции

13.09.2012, 08:08. Показов 4822. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здавствуйте помогите с решением!?
На междугородной телефонной станции картотека абонентов,содержащая сведения о телефонах и их владельцах,организована как линейный список.
составить программу, которая:
  • обеспечивает начальное формирование картотеки в виде линейного списка;
  • производит вывод всей картотеки;
  • водит номер телефона и время разговора;
  • выводит извещение на оплату телефонного разговора.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.09.2012, 08:08
Ответы с готовыми решениями:

Картотека абонентов междугородной телефонной станции
Динамические структуры данных На междугородной телефонной станции картотека абонентов, содержащая сведения о телефонах и их...

Типизированные файлы. Список абонентов телефонной станции
Помогите плз программку сделать. Условие: Для файла F1 содержащего список абонентов телефонной станции ( Фамилия, Адрес, Номер...

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

8
 Аватар для ermolay
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
13.09.2012, 10:40
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
const
  nmax=100;
type
  phone=record
    name: string;
    nmb : integer;
  end;
var
  a: array[1..nmax] of phone;
  tm1,tm2,i,n,m,rub,cop: integer;
begin
  write('Сколько абонентов в картотеке? ');
  readln(n);
  for i:=1 to n do
    with a[i] do
      begin
      write('Введите фамилию абонента: ');
      readln(name);
      repeat
        write('Введите 6-ти значный номер телефона абонента: ');
        readln(nmb);
      until nmb in[100000..999999];
    end;
  writeln;
  writeln('|-----------------------------------------------|');
  writeln('|             КАРТОТЕКА  АБОНЕНТОВ              |');
  writeln('|-----------------------------------------------|');
  writeln('|     Ф. И. О.                |     Телефон     |');
  writeln('|-----------------------------------------------|');
  for i:=1 to n do
    with a[i] do
    begin
      write('|  ',name,' ':20-length(a[i].name));
      writeln('       | ',nmb:13,'   |');
      writeln('|-----------------------------------------------|');
    end;
  writeln;
  
  write('Введите номер расчитываемого абонента: ');
  repeat
    readln(m);
  until m in [100000..999999];
  write('Введите время разговора (минуты, секунды через пробел): ');
  repeat
    readln(tm1,tm2);
  until (tm1 in [1..59])and(tm2 in [1..59]);
  writeln('Секунда разговора стоит 5 копеек');
  tm1:=tm1*60+tm2;
  rub:=tm1*5 div 100;
  cop:=tm1*5 mod 100;
  for i:=1 to n do
    if a[i].nmb=m then writeln
      ('С абонента ',a[i].name,' взимается плата ',rub,' руб. ',cop,' коп.')
        else writeln('Данный абонент не зарегестрирован в картотеке');
  readln;
end.
2
 Аватар для AleksXXX
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 7
13.09.2012, 12:53  [ТС]
Спасибо ,буду надеяться что правильно!!!!
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
14.09.2012, 14:52
ermolay, тип "линейный список" о чем-нибудь говорит?
1
 Аватар для ermolay
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
14.09.2012, 19:23
BumerangSP, спасибо, уже да..
AleksXXX, сорри, мое сообщение не в тему..
0
 Аватар для AleksXXX
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 7
05.10.2012, 13:43  [ТС]
значит это не решения?(
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
06.10.2012, 15:03
Тут в принципе переделать немного нужно.
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
65
66
67
68
69
70
71
72
73
74
75
uses crt;
type  PList = ^TList;
  TList = record
    nmb: integer;
    name: string[20];
    next: PList;
  end;
  
procedure addAb(var head: plist; dob: integer;n: string[20]);
var
  cur: plist;
begin
  new(cur);
  cur^.next := head;
  cur^.nmb := dob;
  cur^.name:=n;
  head := cur;
end;
 
var
  tm1,tm2,i,n,m,rub,cop,nmb: integer;
  name: string[20];
  head,f: PList;
  b: boolean;
begin
  b:=false;
  write('Сколько абонентов в картотеке? ');
  readln(n);
  for i:=1 to n do
      begin
      write('Введите фамилию абонента: ');
      readln(name);
      write('Введите 6-ти значный номер телефона абонента: ');
      readln(nmb);
      addab(head,nmb,name);
    end;
  f:=head;
  writeln;
  writeln('|-----------------------------------------------|');
  writeln('|             КАРТОТЕКА  АБОНЕНТОВ              |');
  writeln('|-----------------------------------------------|');
  writeln('|     Ф. И. О.                |     Телефон     |');
  writeln('|-----------------------------------------------|');
  for i:=1 to n do
    begin
      write('|  ',f^.name,' ':20-length(f^.name));
      writeln('       | ',f^.nmb:13,'   |');
      writeln('|-----------------------------------------------|');
   f:=f^.next;
   end;
  writeln;
  
  write('Введите номер расчитываемого абонента: ');
  readln(m);
  write('Введите время разговора (минуты, секунды через пробел): ');
  repeat
    readln(tm1,tm2);
  until (tm1 in [1..59])and(tm2 in [1..59]);
  writeln('Секунда разговора стоит 5 копеек');
  tm1:=tm1*60+tm2;
  rub:=tm1*5 div 100;
  cop:=tm1*5 mod 100;
  for i:=1 to n do
   begin 
    if head^.nmb=m then
     begin
     writeln('С абонента ',head^.name,' взимается плата ',rub,' руб. ',cop,' коп.');
      b:=true;
     end;
    head:=head^.next;
    end;
  if b=false then
   writeln('Данный абонент не зарегистрирован в картотеке');
  readln;
end.
Для универсальности кода убрал проверку на номер. Есть нужно, сделаете сами.
2
 Аватар для AleksXXX
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 7
07.10.2012, 21:25  [ТС]
Спасибо

 Комментарий модератора 
правила форума, п.3.6: Если какой-либо пост на форуме показался вам полезным, нажмите кнопку "Спасибо" внизу самого поста.
0
 Аватар для AleksXXX
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 7
27.11.2012, 18:01  [ТС]
решение должно выполнено через другие операторы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.11.2012, 18:01
Помогаю со студенческими работами здесь

Картотека в бюро обмена квартир организована как линейный список
Картотека в бюро обмена квартир организована как линейный список. Сведения о каждой квартире содержат: -количество комнат; -этаж; ...

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

Картотека абонентов на междугородной телефонной станции, содержащая сведения о телефонах и их владельцах
помогите ПОЖАЛУЙСТА на написать на С++ с чего начинать ?

Деревья. Дерево содержит информацию о картотека абонентов междугородной телефонной станции.
Дерево содержит информацию о картотека абонентов междугородной телефонной станции. Каждый узел содержит следующие данные: a) номер...

Однонаправленный линейный список абонентов телефонной станции
Построить однонаправленный линейный список абонентов телефонной станции, упорядоченный лексико-графически, содержащий ФИО и семизначный...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru