Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2019, 20:45   #1
Daibov
Новичок
Джуниор
 
Регистрация: 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.
Daibov вне форума Ответить с цитированием
Старый 26.11.2019, 08:04   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Ну переписывайте. в чем проблема то?
Или вы хотите чтобы ктото это за вас сделал?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 26.11.2019, 13:00   #3
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

>>Pascal vs. C++<<
>>ANSI/Turbo Pascal to C/C++ converter<<
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Курсовая С# Антон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