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

Нужно перевести код из С++ в Паскаль

04.12.2016, 20:06. Показов 864. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Язык С++ совершенно не знаю, а времени чтобы понять его -нет. Завтра уже нужно сдавать программу. Помогите, пожалуйста!

C++
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <iostream>
#include <locale>
#include <ctime>
#include <string>
using namespace std;
typedef struct zajfka{ //  информация о заявках на авиабилеты:
    char point[100];    //- пункт назначения;
    int number;        //- номер рейса;
    char name1[20];    //- фамилия пассажира;
    char name2[20];    //- имя
    char name3[20];    //- отчество
    time_t date;        //- желаемая дата вылета;
    struct zajfka * next;    // указатель на структуру заявка.
}Node;
void addNode( Node *& list ); // - добавление заявок в список;
void deleteNode( Node *& list, const int num ); // - удаление заявок по заданному номеру рейса
void outNodeNum( const Node * list, int num ); // - вывод заявок по заданному номеру рейса
//void outNodeDate( const Node * list ); // - вывод заявок по дате вылета
void outNode( const Node * list ); // - вывод всех заявок.
void out( const Node * list ); // вывод одной заявки
bool if_end( char * ch, wchar_t *str = L"" );
//_________ MAIN_________________
int main(int argc, char *argv[])
{ 
    Node * list = NULL;
    wcout.imbue(locale(".866"));
    addNode( list );
    outNode( list );
    int num;
    wcout << L"\n\nВведите номер рейса для просмотра заявок этого рейса > ";
    cin >> num;        getchar();
    wcout << L"\n\nЗаявки с номером рейса "; cout << num;
    outNodeNum( list, num );
    wcout << L"\n\nУдаление заявок по заданному номеру рейса > "; 
    cin >> num;        getchar();
    deleteNode( list, num );
    wcout << L"\n\nОставшиеся заявки:";
    outNode( list );
    wcout << L"\n\nНажмите клавишу Enter для выхода из программы";
    getchar(); // пауза
    return 0;
}
//________ END MAIN ______________
void addNode( Node *& list ){
    wcout << L"Введите данные о заявках:\n";
    wcout << L"Для выхода введите слово "end"\n\n";
    int num = 0;
    while(1){
        num++;
        wcout << L"\nДанные о заявке № " << num << endl;
        Node * n = new Node;
        if( if_end( n->point,L"Введите пункт назначения > " )) break;
        wcout << L"Введите номер рейса > ";
        cin >> n->number;
        getchar();
        if( if_end( n->name1, L"Введите фамилию пассажира > " )) break;
        if( if_end( n->name2, L"Введите имя пассажира > " )) break;
        if( if_end( n->name3, L"Введите отчество пассажира > " )) break;
        //wcout << L"Введите желаемую дату вылета > ";
        //cin >> n->date;   // с датами я неработал ещё...
        n->next = list; // "пристыковываемся" в список
        list = n;
    }
}
bool if_end( char * ch, wchar_t *str  ){
    wcout << str;
    gets( ch );
    if( strcmp( ch, "end" )) return false;
    return true;
}
void out( const Node * list, int num ){
    wcout << L"\n\nЗаявка № " << num;
    wcout << L"\nПункт назначения > " << list->point;
    wcout << L"\nНомер рейса > "; cout << list->number;
    wcout << L"\nФамилия пассажира > " << list->name1;
    wcout << L"\nИмя пассажира > " << list->name2;
    wcout << L"\nВведите отчество пассажира > " << list->name3;
    //wcout << L"\nЖелаемая датa вылета > " << list->;
}
void outNode( const Node * list ){
    int n = 1;
    for(; list ; list = list->next ){
        out( list, n );
        n++;
    }
}
void outNodeNum( const Node * list, int num ){
    int n = 1;
    for(; list ; list = list->next ){
        if( list->number == num )
            out( list, n++ );
    }
}
void deleteNode( Node *& list, const int num ){
    int n = 1;
    Node *x, *y = list, *begin = list;
    wcout << L"\n\n_____ Удаление: ________";
    while( list ){
        if( list->number == num ){
            x = list->next;
            out( list, n );
            n++;
            if( list != y ){
                delete list;
                y->next = list = x;
            }// end  if( list != y ){
            else{
                delete list;
                y = list = x;
            }// end if( list != y ){
        }// end if( list->number == num ){
        else{
            y = list;
            list = list->next;
        }// end else  if( list->number == num )
    }// end while()
    list = begin;
}// end deleteNode()
Задание:

Составить программу, которая содержит текущую информацию о заявках на авиабилеты.
Каждая заявка содержит:
  • Пункт назначения;
  • Номер рейса;
  • Фамилию и инициалы пассажира;
  • Желаемую дату вылета.
Программа должна обеспечивать:
  • Хранение всех заявок в виде списка в виде двоичного дерева;
  • Добавление и удаление заявок;
  • По заданному номеру рейса и дате вылета вывод заявок с их последующим удалением;
  • Вывод всех заявок.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.12.2016, 20:06
Ответы с готовыми решениями:

Перевести код c++ на паскаль
Помогите перевести прогрммму из c++ на паскаль #include &lt;iostream&gt; #include &lt;algorithm&gt; using namespace std; int b, n; char s,...

Перевести код из С++ в паскаль
Помогите, пожалуйста, перевести код из с# в паскаль, очень надо, а сам я в с# ноль без палочки #include &quot;stdafx.h&quot; ...

Перевести код из C++ в Паскаль
Добрый вечер! Нужна помощь в переводе части кода на паскаль, т.к. не шарю в нем и пишу на C++ Весь код #include &quot;pch.h&quot; ...

3
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
06.12.2016, 10:50
Цитата Сообщение от Waffeltragen Посмотреть сообщение
в виде двоичного дерева
В коде выше нет хранения в виде двоичного дерева, есть односвязный список.
0
0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 2
16.12.2016, 19:34  [ТС]
Извиняюсь, в виде списка.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
17.12.2016, 19:53
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
const sDone='end'; W=20;
type
  TDate = record
    d, m: ShortInt; y: Integer;
  end;
  PNode = ^TNode;
  TNode = record
    point: String[99];
    number: Integer;
    name1, name2, name3: String[19];
    date: TDate;
    next: PNode;
  end;
 
function IsDone(var s: String; const p: String): Boolean;
begin
  Write(p:W); ReadLn(s); IsDone:=s=sDone;
end;
 
procedure addNode(var list: PNode);
var num: Integer; t: TNode;
begin
  WriteLn('Введите данные о заявках:');
  WriteLn('Для выхода введите слово "',sDone,'"');
  num:=0;
  while True do with t do begin
    Inc(num);
    WriteLn; WriteLn('Данные о заявке № ',num);
    if IsDone(point,'Пункт назначения: ') then Break;
    Write('Номер рейса: ':W); ReadLn(number);
    if IsDone(name1,'Фамилия пассажира: ') then Break;
    if IsDone(name2,'Имя пассажира: ') then Break;
    if IsDone(name3,'Отчество пассажира: ') then Break;
    Write('Дата вылета (дд мм гггг): ':W); with date do ReadLn(d,m,y);
    next:=list; New(list); list^:=t;
  end;
end;
 
procedure outNode(list: PNode; num: Integer);
begin
  with list^ do begin
    WriteLn('Заявка № ',num);
    WriteLn('Пункт назначения: ':W,point);
    WriteLn('Номер рейса: ':W,number);
    WriteLn('Фамилия: ':W,name1);
    WriteLn('Имя: ':W,name2);
    WriteLn('Отчество: ':W,name3);
    with date do WriteLn('Датa вылета: ':W,d,'.',m,'.',y);
  end; WriteLn;
end;
 
procedure outList(list: PNode);
var n: Integer;
begin
  n:=0;
  while list<>nil do with list^ do begin
    Inc(n); outNode(list,n); list:=next;
  end;
end;
 
procedure outNodeNum(list: PNode; num: Integer);
var n: Integer;
begin
  n:=0;
  while list<>nil do with list^ do begin
    if number=num then begin
      Inc(n); outNode(list,n);
    end;
    list:=next;
  end;
end;
 
procedure deleteNode(var list: PNode; num: Integer);
var p: ^PNode; t: PNode; n: Integer;
begin
  p:=@list; n:=0;
  WriteLn('Удаление:');
  while p^<>nil do with p^^ do begin
    if number=num then begin
      Inc(n); outNode(p^,n);
      t:=p^; p^:=next; Dispose(t);
    end else p:=@next;
  end;
end;
 
var
  list: PNode;
  num: Integer;
begin
  addNode(list);
  outList(list);
  Write('Номер рейса для просмотра заявок: '); ReadLn(num);
  WriteLn('Заявки с номером рейса ',num);
  outNodeNum(list,num);
  WriteLn; Write('Номер рейса для удаления заявок: '); ReadLn(num);
  deleteNode(list,num);
  WriteLn; WriteLn('Оставшиеся заявки:');
  outList(list);
  Write('Нажмите Enter для выхода из программы...'); ReadLn;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.12.2016, 19:53
Помогаю со студенческими работами здесь

Перевести код с С++ в Паскаль
#include &quot;Chet.h&quot; int main(void) { setlocale(LC_ALL, &quot;Russian&quot;); int k,t,i,j,a; cout&lt;&lt;&quot;Введите длинну массива:...

Нужно перевести задачу с С на Паскаль
Помогите перевести задачу с С в паскаль. Заранее спасибо #include &lt;stdio.h&gt; int main() { int i, j, n; ...

Нужно перевести 5 зaдaч с C++ на Паскаль
Добрый день. Ребят, помогите пожалуйста с задачками. Суть в следующем: надо сделать 5 лабораторных работ, но всенепременно на паскале. Я...

Перевести программный код на язык Паскаль
т.е. Я не особо знаю QBasic , а Паскаль чуть по-лучше и поэтому мне нужно перевезти этот код на язык Паскаль. Если не сложно, помогите...

Перевести код с языка C++ на язык Паскаль
Помогите написать в паскаль данную программу using namespace std; struct m { int n; int l; int r; } d; bool cmp(const m...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru