Помогите пожалуйста перевести прогу с Pascal на C++
Код:
program two;
uses crt;
type
nameStr=string[15];
link=^instrymenti;
instrymenti = record
name:namestr;
marka :namestr;
next:link;
end;
var
first,p,p1,old:link;
z: namestr;
sp: namestr;
begin
clrscr;
p := nil;
repeat
WriteLn('Введите название инструмента');
ReadLn(z);
if z <> ''then
begin
WriteLn('Введите марку');
ReadLn(sp);
old:=New(link);
old^.name := z; old^.marka := sp;
old^.next:=p;
p:=old;
end;
until z = '';
first := p;
WriteLn('Введите, что ищем');
ReadLn(z);
p := first;
while p <> nil do
begin
if p^.name = z then
Writeln('Найдено: ' ,p^.name, ' ', p^.marka);
p := p^.next;
end;
writeln('Введите, что удалять');
readln(z);
p := first;
while (p <> nil) and (p^.next <> nil) do
begin
if P^.next^.name = z then
begin
p1 := p^.next;
p^.next := p1^.next;
Dispose(p1);
end
else p := p^.next;
end;
if (first <> nil) and (first^.name = z) then
begin
p1 := first;
first := first^.next;
dispose(p1);
end;
{ Печатаем для проверки что осталось в списке после удалений }
p := first;
while p <> nil do
begin
Writeln('instrument=',p^.name, ' marka=', p^.marka);
p := p^.next;
end;
end.