Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将Turbo Pascal转换为C+;时出错+;代码_C++_Turbo C++_Turbo Pascal - Fatal编程技术网

C++ 将Turbo Pascal转换为C+;时出错+;代码

C++ 将Turbo Pascal转换为C+;时出错+;代码,c++,turbo-c++,turbo-pascal,C++,Turbo C++,Turbo Pascal,下面是一个正在工作的Turbo-Pascal示例 uses graph, crt; const xmax=600; ymax=400; type vreal=array[1..xmax] of real; var y:vreal; r,h,vmax,vmin,a,b:real; i,linie0:integer; grDriver: Integer; grMode: Integer; s:string; c:char; {*********

下面是一个正在工作的Turbo-Pascal示例

uses graph, crt;
const xmax=600;
      ymax=400;
type vreal=array[1..xmax] of real;

var
   y:vreal;
   r,h,vmax,vmin,a,b:real;
   i,linie0:integer;
   grDriver: Integer;
   grMode: Integer;
   s:string;
   c:char;
{****************************************}
procedure regimgrafic;
begin
  grDriver := Detect;
  InitGraph(grDriver, grMode,'');
  setcolor(15);
end;
{****************************************}
function f(x:real):real;
 begin
f:=exp(cos(2*x)*ln(x))+3*sin(x);
 end;
{**************************************************************}
procedure calcul(a,b:real;var z:vreal);
begin
  h:=abs(b-a)/(xmax-1);
  for i:=1 to xmax do z[i]:=f(a+(i-1)*h);
end;
{**************************************************************}
procedure normare(var z:vreal; var l0:integer;var vmax,vmin:real);
var
 delta,deplasare:real;
begin
 vmax:=z[1];vmin:=z[1];
 for i:=2 to xmax do
  begin
     if z[i]>vmax then vmax:=z[i];
     if z[i]<vmin then vmin:=z[i];
  end;
      delta:=(vmax - vmin)/(ymax);
      deplasare:=0-vmin;
      l0:=round(ymax-deplasare/delta);
      if vmin>0 then l0:=415;
      if vmax<0 then l0:=10;
  for i:=1 to xmax do
      z[i]:=ymax-(z[i]+deplasare)/delta;
end;
{*******************************************************}
procedure axax(linie0:integer);
begin
 setcolor(11);
 outtextxy(getmaxx-15,linie0-10,'X');
 line(20,linie0, getmaxx-20,linie0);
 h:=(b-a)/2;
 for i:=0 to 2 do
   begin
    fillellipse(20+i*300,linie0,2,2);
    r:=a+i*h;
    str(r:0:2,s);
    outtextxy(20+i*290,linie0+10,s);
   end;
end;

procedure axay;
begin
 setcolor(14);
 outtextxy(10,10,'Y');
  h:=(vmax-vmin);
 for i:=0 to 1 do
   begin
    fillellipse(20,10+i*400,2,2);
    r:=vmax-i*h;
    str(r:0:2,s);
    outtextxy(20,10+i*400,s);
   end;
 line(20,10,20,getmaxy-65);
end;

procedure modeleazagrafic(y:vreal);
begin
 rectangle(1,1,getmaxx,getmaxy);
 setcolor(11);
 axay;
 axax(linie0);
 for i:=1 to xmax do putpixel(i+20,10+round(y[i]),15);
 outtextxy(20,460,'Alt interval (D)a / (N)u');
end;

begin
repeat
clrscr;
write('Introdu extremitatile intervalului: ');
readln(a,b);
calcul(a,b,y);
normare(y,linie0,vmax,vmin);
regimgrafic;
modeleazagrafic(y);
c:=readkey;
closegraph;
until upcase(c)='N';
end.

请帮助修复这些错误

就像您没有阅读错误消息或思考周围的代码一样

前两条与这些线有关:

if((*vmin)>0) l0 = 415;
if(*vmax<0) l0 = 10;
if(*vmin)>0)l0=415;

如果(*VMax不使用数组的Type)。使用<代码> STD::vector < /C> >,因为你被标记为C++ +C!= C++。选择你实际使用的标签,不要只抓取与你问的问题无关的东西。在C和C++中,数组以0的索引开始。<代码> L0是<代码> int */COD>。但是你试图去AISI。gn
415
。也许你的意思是
*l0=415
。对于第二个错误,我猜
getmaxx
是一个函数,因此你应该将它改为
getmaxx()
。l0是一个指针(即,它的值是一个地址),如果(*vmin)>0会怎么样l0=415;应该这样做吗?我想你打算写*l0=415。我相信这种混乱是因为在Pascal代码中,没有参数列表的函数调用不需要括号(我不知道Pascal,我只是猜测。)是的,我想是这样的,但只是在扫描Pascal程序后才意识到这确实是这些函数的调用方式。我已经有15年没有用Pascal编程了。看起来我们都遵循了一般的建议,通过查看周围的代码=)对了,没有没有没有括号的getmaxx,str(r:0:2,s)C还是C++会像什么一样锁?@ USSR32548我不明白你在那里问什么。你知道Pascal、C++还是C++吗?是的,我问的是PASCAL指令STR(R:0:2,S)的等价物;C还是C++?
Line 60:(in normare function) invalid conversion from `int' to `int*' 
line:61 the same error;
line:69 69 pointer to a function used in arithmetic 
if((*vmin)>0) l0 = 415;
if(*vmax<0) l0 = 10;