Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Перевод с Pascal на C++ (http://forum.oszone.net/showthread.php?t=175573)

DimaZone88 13-05-2010 13:52 1412345

Перевод с Pascal на C++
 
Помогите пожалуйста перевести прогу с 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.



Время: 04:26.

Время: 04:26.
© OSzone.net 2001-