Форум программистов, компьютерный форум CyberForum.ru

перевести из Pascal в С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка одномерных массивов с использованием указателей (Visual studio) C++ http://www.cyberforum.ru/cpp-beginners/thread394326.html
Обработка одномерных массивов с использованием указателей Задание: составить программу заданной в лабораторной работе №5 обра-ботки массива целых чисел с использованием адресной ароиф-метики. В процессе обработки использовать перестановки элементов внутри массива, не создавая новых массивов. Заполнение исходного массива организовать с клавиатуры. Исходный и обработанный массив выводить на...
C++ a в степени n с помощью рекурсии Подскажите где ошибся? #include <iostream> using namespace std; int Square(int,int); int main(){ int p,q; cin>>p>>q; http://www.cyberforum.ru/cpp-beginners/thread394325.html
C++ Очередь,просто обьясните
Уважаймые друзья.Нужна помощь.Никак не могу найти хороший образей для очереди. Мне нужен какой-нибудь элементарный образец,без шаблонов,без каких-либо узкоспециальных функций. Просто очередь состаящая из чисел и манипуляции с указателями.А то в голове каша образовалась Вот я написал просто класс #include <iostream> #include <conio.h> #include <time.h> using namespace std;...
C++ Простая задачка по массивам.
Дан массив.Все его элементы,не равные нулю,переписать(сохраняя его порядок)в начало массива,а нулевые элементы - в конец.
C++ нужно ответить на один маленький вопрос... http://www.cyberforum.ru/cpp-beginners/thread394317.html
привести описание механизма взаимодействия прикладных программ с системным календарем и таймером.
C++ Составить программу , позволющую сократить дробь. M и N - числитель и знаменатель обыкновенной дроби. Составить программу , позволющую сократить дробь. подробнее

Показать сообщение отдельно
Lopatka
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 9

перевести из Pascal в С++ - C++

28.11.2011, 22:20. Просмотров 270. Ответов 0
Метки (Все метки)

Помогите пожалуйста перевести код программы с языка паскаль на С++


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
101
102
103
104
105
106
107
108
109
110
111
112
program Dostup;
uses crt;
type TRights=set of (RRead,RWrite,RGrant);
const FullRights: TRights=[RRead,RWrite,RGrant];
MaxObj=5;
MaxUsers=3;
var Users: array [1..MaxUsers] of string[20];
UserRights: array [1..MaxObj,1..3] of TRights;
i,j,CurrUser: byte;
SCommand: string[20];
tmpRight: TRights;
 
begin
clrscr;
 
Users[1]:='Ivan';
Users[2]:='Sergey';
Users[3]:='Boris';
randomize;
for i:=1 to MaxObj do begin
UserRights[i,1]:=FullRights;
for j:=2 to MaxUsers do begin
UserRights[i,j]:=[];
if random(2)=1 then UserRights[i,j]:=UserRights[i,j]+[RRead];
if random(2)=1 then UserRights[i,j]:=UserRights[i,j]+[RWrite];
if random(2)=1 then UserRights[i,j]:=UserRights[i,j]+[RGrant];
end;
end;
CurrUser:=0;
repeat
write('User: ');
readln(SCommand);
if SCommand='quit' then break;
for i:=1 to MaxUsers do
if Users[i]=SCommand then begin
CurrUser:=i;
break;
end;
if CurrUser=0 then
writeln('nepravilnoe imja polzovatelja')
else begin
for i:=1 to MaxObj do begin
write('object ',i,': ');
if UserRights[i,CurrUser]=[] then
write('zapret')
else if UserRights[i,CurrUser]=FullRights then
write('polnie prava')
else begin
if RRead in UserRights[i,CurrUser] then write('chtenie, ');
if RWrite in UserRights[i,CurrUser] then write('zapic, ');
if RGrant in UserRights[i,CurrUser] then write('peredacha, ');
GotoXY(WhereX-2,WhereY);
write(' ');
end;
writeln;
end;
repeat
write('zhdu vashix ukazani >');
readln(SCommand);
if SCommand='quit' then break
else if (SCommand='read') or (SCommand='write') or (SCommand='grant') then begin
write('nad kakim objectom proizvoditcja operacija? ');
readln(j);
if j>MaxObj then writeln('net takogo objecta') else
 
begin
 
if SCommand='read' then
if RRead in UserRights[j,CurrUser] then
writeln('operacija proshla uspeshno') else writeln('otkaz.net prav');
 
 
if SCommand='write' then
if RWrite in UserRights[j,CurrUser] then
writeln('operacija proshla uspeshno') else writeln('otkaz.net prav');
 
if SCommand='grant' then
if RGrant in UserRights[j,CurrUser] then begin
write('kakoe pravo peredaetsa? ');
 
readln(SCommand);
if (SCommand='read') or (SCommand='write') or (SCommand='grant') then begin
if SCommand='read' then tmpRight:=[RRead] else
if SCommand='write' then tmpRight:=[RWrite] else tmpRight:=[RGrant];
write('kakomu polzovatelju peredaetsa pravo? ');
readln(SCommand);
 
i:=1;
while i<=MaxUsers do begin
if Users[i]=SCommand then break;
inc(i);
end;
 
if i>MaxUsers then
writeln('Нnepravilnoe imja polzovatela')
else begin
UserRights[j,i]:=UserRights[j,i]+tmpRight;
end;
end else
writeln('Нnepravilno zadan vid prav');
end else writeln('=otkaz.net prav');
end;
end
 else
writeln('=nevern komanda');
until false;
CurrUser:=0;
end;
until false;
 
writeln('=poka');
end.
 Комментарий модератора 
Используйте теги форматирования кода!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru