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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lopatka
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 9
#1

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

28.11.2011, 22:20. Просмотров 268. Ответов 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.
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 22:20     перевести из Pascal в С++
Посмотрите здесь:

C++ Перевести из Pascal в С++
Перевести из Pascal в C++ C++
C++ Перевести из PASCAL в С++
C++ перевести с Pascal на С++
Перевести с Pascal на С++ C++
C++ Перевести с Pascal на C++
Перевести с Pascal на C++ C++
C++ Перевести из Pascal в C++
Перевести с Pascal на С++ C++
C++ Перевести с Pascal на C++
Перевести из Pascal на C++ C++
Перевести с Pascal в С++ C++

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

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

Текущее время: 04:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru