![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 24.11.2019
Сообщений: 1
|
![]()
Динамические структуры данных и их программная реализация на C++.
Постановка задачи. На междугородной телефонной станции картотека абонентов,содержащие сведения о телефонах и их владельцах,организована в виде линейного списка. Составить программу,которая:обеспечивает начальное формирование карточки в виде линейного списка;производит вывод всей картотеки;вводит номер телефона и время разговора;выводит извещение на оплату телефонного разговора.Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе. Код есть только на pascal Program Kartoteka; 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 Clrscr; 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('Skolko abonentov v kartoteke? '); Readln(n); For i:=1 to n do Begin Write('Vvedite familiyu abonenta: '); Readln(name); Write('Vvedite hesti znachnuy nomer telefona abonenta: '); Readln(nmb); Addab; End; f:=head; Writeln; writeln('|-----------------------------------------------|'); writeln('| Kartoteka abonentov |'); writeln('|-----------------------------------------------|'); writeln('| F. I. O. | Telefon |'); 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('Vvedite nomer raschituvaemogo abonenta: '); Readln(m); Write('Vvedite vremya razgovora (Minutu, sekundu cherez probel): '); Repeat Readln(tm1,tm2); Until (tm1 in [1..59])and(tm2 in [1..59]); Writeln('Sekunda razgovora stoit 5 kopeek'); 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('S abonenta ',head^.name,' Vzumaetsya plata ',rub,',cop.'); b:=true; End; Head:=head^.next; End; If b=false then Writeln('Dannuy abonent ne zaregestrirovan v kartoteke'); Readln; End. Последний раз редактировалось Daibov; 24.11.2019 в 20:53. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]()
Ну переписывайте. в чем проблема то?
Или вы хотите чтобы ктото это за вас сделал?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
![]()
I am not a wizard, I am just learning.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Курсовая С# | Антон1992 | Фриланс | 4 | 15.05.2013 17:02 |
Курсовая | fregure | Фриланс | 0 | 15.05.2013 14:18 |
Курсовая | Sayat243 | Фриланс | 3 | 12.05.2013 16:23 |
Курсовая по VBA | adlansuliman | Microsoft Office Excel | 2 | 06.05.2013 17:33 |
Курсовая по ООП | Mogok | Фриланс | 0 | 08.05.2012 15:22 |