谁能帮我把用PASCAL编写一段数据处理小程序转化VC++程序

99jiujiu 2000-02-02 08:40:00
我才开始学VC++,希望有人指点.99JIUJIU@NETEASE.COM
...全文
192 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
upstream 2000-02-03
  • 打赏
  • 举报
回复
{ Algorithm for Tower Line, describled in PASCAL }
{ Notes: CL means Close Price of Stock or Index }
{ TH means High value (Top Line) of Tower }
{ TL means Low value (Bottom Line) of Tower }
{ TM means Middle value (Turned Line) of Tower }
{ TC means Color of Line, RtoB=Red turned to Black, BtoR=Black to Red }
{ Whether RtoB or Btor, Red is Upper Black, and they are divided by TM }

TH[1]:=CL[1]; TL[1]:=CL[1]; for i:=2 to N do TM[1]:=CL[1];
;;;TH[1]=CL[1]; TL[1]=CL[1]; for(i=2;i<=N;i++) TM[1]=CL[1];
if (CL[2]>=CL[1]) then TC[1]:=Red else TC[1]:=Black;
;;;if (CL[2] >= CL[1]) {TL[1] = Red;} else TC[1]=Black;
for i:=2 to N do
;;;for(i=2;i<=N) 改成for(i=2;i<=N;i++)
begin
;;;{
1. if TC[i-1]=Red then
;;; if (TC[i-1]==Red) {
(1) if TH[i-1]=CL[i-1] then
;;; if(TH[i-1]==CL[i-1])
begin
;;; {
1) if CL[i]>=TH[i-1] then
;;; if(CL[i]>=TH[i-1])
begin TC[i]:=Red; TH[i]:=CL[i]; TL[i]:=TH[i-1]; end;
;;; { TC[i]=Red; TH[i]=CL[i]; TL[i]=TH[i-1];}
2) if (CL[i]<TH[i-1]) and (CL[i]>=TL[i-1]) then
;;; if ( (CL[i]<TH[i-1]) && (CL[i]>=TL[i-1]) )
begin TC[i]:=Red; TH[i]:=TH[i-1]; TL[i]:=CL[i]; end;
;;; { TC[i]=Red; TH[i]=TH[i-1]; TL[i]=CL[i];}
3) if CL[i]<TL[i-1] then
;;; if(CL[i]<TL[i-1])
begin TC[i]:=RtoB; TH[i]:=TH[i-1]; TL[i]:=CL[i]; TM[i]:=TL[i-1]; end;
;;; { TC[i]=RtoB; TH[i]=TH[i-1]; TL[i]=CL[i]; TM[i]=TL[i-1];}
end
;;; }
} 加一个括号
else { TL[i-1]=CL[i-1] }
;;; else
begin
;;; {
if CL[i]>=TH[i-1] then
;;; if (CL[i]>=TH[i-1])
begin TC[i]:=Red; TH[i]:=CL[i]; TL[i]:=TH[i-1]; end;
;;; { TC[i]=Red; TH[i]=CL[i]; TL[i]=TH[i-1]; }
if (CL[i]>=TL[i-1]) and (CL[i]<TH[i-1]) then
;;; if( (CL[i]>=TH[i-1]) && (CL[i]<TH[i-1]) )
begin TC[i]:=Red; TH[i]:=TH[i-1]; TL[i]:=CL[i]; end;
;;; { TC[i]=Red; TH[i]=TH[i-1]; TL[i]=CL[i];}
if CL[i]<TL[i-1] then
;;; if (CL[i]<TL[i-1])
begin TC[i]:=RtoB; TH[i]:=TH[i-1]; TL[i]:=CL[i]; TM[i]:=TL[i-1]; end;
;;; { TC[i]=RtoB; TH[i]=TH[i-1]; TL[i]=CL[i]; TM[i]=TL[i-1];}
end;
;;; }
if TC[i-1]=Black then
;;; if (TC[i-1]==black) {加一个括号
if TL[i-1]=CL[i-1] then
;;; if (TL[I-1]==CL[i-1])
begin
;;; {
if CL[i]<=TL[i-1] then
;;; if (CL[i]<=TL[i-1])
begin TC[i]:=Black; TH[i]:=TL[i-1]; TL[i]:=CL[i]; end;
;;; {TC[i]=Black; TH[i]=TL[i-1]; TL[i]=CL[i];}
if (CL[i]<=TH[i-1]) and (CL[i]>TL[i-1]) then
;;; if ( (CL[i]<=TH[i-1]) && (CL[i]>TL[i-1]) )
begin TC[i]:=Black; TH[i]:=CL[i]; TL[i]:=TL[i-1]; end;
;;; { TC=Black; TH[i]=CL[i]; TL[i]=TL[i-1]; }
if CL[i]>TH[i-1] then
;;; if (CL[i]>TH[i-1])
begin TC[i]:=BtoR; TH[i]:=CL[i]; TL[i]:=TL[i-1]; TM[i]:=TH[i-1]; end;
;;; { TC[i]=BtoR; TH[i]=CL[i]; TL[i]=TL[i-1]; TM[i]=TH[i-1]; }
end
;;; }
}加一个括号
else { TH[i-1]=CL[i-1] }
;;; else
begin
;;; {
if CL[i]<TL[i-1] then
;;; if (CL[i]<TL[i-1])
begin TC[i]:=Black; TH[i]:=TL[i-1]; TL[i]:=CL[i]; end;
;;; { TC[i]=Black; TH[i]=TL[i-1]; TL[i]=CL[i]; }
if (CL[i]<=TH[i-1]) and ( CL[i]>TL[i-1]) then
;;; if ( (CL[i]<=TH[i-1]) && ( CL[i]>TL[i-1]))
begin TC[i]:=Black; TH[i]:=CL[i]; TL[i]:=TL[i-1]; end;
;;; { TC[i]=Black; TH[i]=CL[i]; TL[i]=TL[i-1]; }
if CL[i]>TH[i-1] then
;;; if (CL[i]>TH[i-1])
begin TC[i]:=BtoR; TH[i]:=CL[i]; TL[i]:=TL[i-1]; TM[i]:=TH[i-1]; end;
;;; { TC[i]=BtoR; TH[i]=CL[i]; TL[i]=TL[i-1]; TM[i]=TH[i-1]; }
end;
;;; }
if TC[i-1]=RtoB then { Certainly TL[i-1]=CL[i-1] }
;;; if (TC[i-1]==RtoB) {加一个括号
if CL[i]<=TL[i-1] then
;;; if (CL[i]<=TL[i-1])
begin TC[i]:=Black; TH[i]:=TL[i-1]; TL[i]:=CL[i]; end
;;; { TC[i]=Black; TH[i]=TH[i-1]; TL[i]=CL[i]; }
else
;;; else{加一个括号
if CL[i]<=TM[i-1] then
;;; if (CL[i]<=TM[i-1])
begin TC[i]:=Black; TH[i]:=CL[i]; TL[i]:=TL[i-1]; end
;;; { TC[i]=Black; TH[i]=CL[i]; TL[i]=TL[i-1]; }
else { CL[i]>TM[i-1] }
;;; else
begin TC[i]:=BtoR; TH[i]:=CL[i]; TL[i]:=TL[i-1]; TM[i]:=TM[i-1]; end;
;;; { TC[i]=BtoR; TH[i]=CL[i]; TL[i]=tl[i-1]; TM[i]=TM[i-1];}
}加一个括号
if TC[i-1]=BtoR then { Certainly TH[i-1]=CL[i-1] }
;;; if (TC[i-1]==BtoR)
if CL[i]>=TH[i-1] then
;;; if (CL[i]>=TH[i-1])
begin TC[i]:=Red; TH[i]:=Cl[i]; TL[i]:=TH[i-1]; end
;;; { TC[i]=Red; TH[i]=CL[i]; TL[i]=TH[i-1]; }
else
;;; else{加一个括号
if CL[i]>=TM[i-1] then
;;; if (CL[i]>=TM[i-1])
begin TC[i]:=Red; TH[i]:=TH[i-1]; TL[i]:=CL[i]; end
;;; { TC[i]=Red; TH[i]=TH[i-1]; TL[i]=CL[i]; }
else { CL[i]<TM[i-1] }
;;; else
begin TC[i]:=RtoB; TH[i]:=TH[i-1]; TL[i]:=CL[i]; TM[i]:=TM[i-1]; end;
;;; { TC[i]=RtoB; TH[i]=TH[i-1]; TL[i]=CL[i]; TM[i]=TM[i-1];}
end;
}
由于看不清楚程序的层次结构,以上修改已经错了,括号不对称,请你记住
一点:在C中,一段程序体是有{和}界定的。实在不敢恭维,你的代码太乱
了,可读性极差。
upstream 2000-02-02
  • 打赏
  • 举报
回复
{ Algorithm for Tower Line, describled in PASCAL }
{ Notes: CL means Close Price of Stock or Index }
{ TH means High value (Top Line) of Tower }
{ TL means Low value (Bottom Line) of Tower }
{ TM means Middle value (Turned Line) of Tower }
{ TC means Color of Line, RtoB=Red turned to Black, BtoR=Black to Red }
{ Whether RtoB or Btor, Red is Upper Black, and they are divided by TM }

TH[1]:=CL[1]; TL[1]:=CL[1]; for i:=2 to N do TM[1]:=0;
;;;TH[1]=CL[1]; TL[1]=CL[1]; for(i=2;i<=N;i++) TM[1]=0; //这句有问题吧,是否是TM[i]=0; ?
if (CL[2]>=CL[1]) then TC[1]:=Red else TC[1]:=Black;
;;;if (CL[2] >= CL[1]) {TL[1] = Red;} else TC[1]=Black;
for i:=2 to N do
;;;for(i=2;i<=N)
begin
;;;{
if TC[i-1]=Red then
;;; if (TC[i-1]==Red) {
if TH[i-1]=CL[i-1] then
;;; if(TH[i-1]==CL[i-1])
begin
;;; {
if CL[i]>=TH[i-1] then
;;; if(CL[i]>=TH[i-1])
begin TC[i]:=Red; TH[i]:=CL[i]; TL[i]:=TH[i-1]; end;
;;; { TC[i]=Red; TH[i]=CL[i]; TL[i]=TH[i-1];}
if (CL[i]<TH[i-1]) and (CL[i]>=TL[i-1]) then
;;; if ( (CL[i]<TH[i-1]) && (CL[i]>=TL[i-1]) )
begin TC[i]:=Red; TH[i]:=TH[i-1]; TL[i]:=CL[i]; end;
;;; { TC[i]=Red; TH[i]=TH[i-1]; TL[i]=CL[i];}
if CL[i]<TL[i-1] then
;;; if(CL[i]<TL[i-1])
begin TC[i]:=RtoB; TH[i]:=TH[i-1]; TL[i]:=CL[i]; TM[i]:=TL[i-1]; end;
;;; { TC[i]=RtoB; TH[i]=TH[i-1]; TL[i]=CL[i]; TM[i]=TL[i-1];}
end
;;; }
else { TL[i-1]=CL[i-1] }
;;; else
begin
;;; { 到此为止,知道怎么做了?
if CL[i]>=TL[i-1] then
begin TC[i]:=Red; TH[i]:=CL[i]; TL[i]:=TL[i-1]; end;
if CL[i]<TL[i-1] then
begin TC[i]:=RtoB; TH[i]:=TH[i-1]; TL[i]:=CL[i]; TM[i]:=TL[i-1]; end;
end;
if TC[i-1]=Black then
if TL[i-1]=CL[i-1] then
begin
if CL[i]<=TL[i-1] then
begin TC[i]:=Black; TH[i]:=TL[i-1]; TL[i]:=CL[i]; end;
if (CL[i]<=TH[i-1]) and (CL[i]>TL[i-1]) then
begin TC[i]:=Black; TH[i]:=CL[i]; TL[i]:=TL[i-1]; end;
if CL[i]>TH[i-1] then
begin TC[i]:=BtoR; TH[i]:=CL[i]; TL[i]:=TL[i-1]; TM[i]:=TH[i-1]; end;
end
else { TH[i-1]=CL[i-1] }
begin
if CL[i]<=TH[i-1] then
begin TC[i]:=Black; TH[i]:=TH[i-1]; TL[i]:=CL[i]; end;
if CL[i]>TH[i-1] then
begin TC[i]:=BtoR; TH[i]:=CL[i]; TL[i]:=TL[i-1]; TM[i]:=TH[i-1]; end;
end;
if TC[i-1]=RtoB then { Certainly TL[i-1]=CL[i-1] }
if CL[i]<=TL[i-1] then
begin TC[i]:=Black; TH[i]:=TL[i-1]; TL[i]:=CL[i]; end
else
if CL[i]<=TM[i-1] then
begin TC[i]:=Black; TH[i]:=CL[i]; TL[i]:=TL[i-1]; end
else { CL[i]>TM[i-1] }
begin TC[i]:=BtoR; TH[i]:=CL[i]; TL[i]:=TL[i-1]; TM[i]:=TM[i-1]; end;
if TC[i-1]=BtoR then { Certainly TH[i-1]=CL[i-1] }
if CL[i]>=TH[i-1] then
begin TC[i]:=Red; TH[i]:=Cl[i]; TL[i]:=TH[i-1]; end
else
if CL[i]>=TM[i-1] then
begin TC[i]:=Red; TH[i]:=TH[i-1]; TL[i]:=CL[i]; end
else { CL[i]<TM[i-1] }
begin TC[i]:=RtoB; TH[i]:=TH[i-1]; TL[i]:=CL[i]; TM[i]:=TM[i-1]; end;
end;
Hooman 2000-02-02
  • 打赏
  • 举报
回复
呵呵,我前两天刚刚把一段 C++ 程序转成 PASCAL( 为了在DELPHI 里用 ),连写
带调试用了一天半时间( 要知道只有不到1000行代码呀 )。

不知道你的程序有多大,干什么用的。这种事情必须对原程序的流程和思路一清二楚
才可能做好。
King 2000-02-02
  • 打赏
  • 举报
回复
要是有这样工具的话,程序员就轻松了。
问声forest大虾,“应该不难”是指......
upstream 2000-02-02
  • 打赏
  • 举报
回复
贴上来。
forest 2000-02-02
  • 打赏
  • 举报
回复
你只要掌握C++,这工作就应该不难。仅仅一段数据处理小程序只跟语言有关,你所须做的先是翻译。或者你也可以考虑在VC中调用PASCAL(如果嫌翻译太烦的话)。
SnowCat 2000-02-02
  • 打赏
  • 举报
回复
也不是太难,把C++转成PASCAL才可怕
zdg 2000-02-02
  • 打赏
  • 举报
回复
PASCAL转C++是很复杂的工程, 不是一会儿功夫能完成的...

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧