我这个类写的有问题吗?

wqzq2020 2008-04-28 03:59:06
这是.h文件:

#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <string>
using namespace std;

class choose : public TStringList
{
public:choose();
private:
TStringList *List;
TStringList *Elist;
public:
void LoadFileH(AnsiString FileName);
void LoadFileE(AnsiString FileName);
String prio(int i);
String Next(int i);
String get_Hbuf(int i);
String get_Ebuf(int i);


};

class scl90 : public choose
{
public:
scl90();
private:
float sum;
float psi;
float gsi;
float psdl;
float som;
float obc;
float inse;
float dep;
float anxi;
float hosty;
float phan;
float paid;
float psyc;
float addi;
public:
void set_sum(int i,bool flag);
//void set_psi();
void set_yinzi(int i ,int j,bool flag);
int get_sum();
int get_psi();
float get_gsi();
float get_psdl();
float get_yinzi(int i);
};
//===================================================================

class pei54 : public choose
{
public :
pei54();
private:
int sum;
public:
void set_sum(int i,bool flag);
int get_sum();
};

//======================================================================
===============================================================================================

这是.cpp文件:

#include "File1.h"

choose::choose()
{
List = new TStringList();
Elist = new TStringList();
}
void choose::LoadFileH(AnsiString FileName)
{
List->LoadFromFile(FileName);
}
void choose::LoadFileE(AnsiString FileName)
{
Elist->LoadFromFile(FileName);
}
String choose::prio(int i)
{
return List->Strings[i];
}
String choose::Next(int i)
{
return List->Strings[i];
}

String choose::get_Hbuf(int i)//获得标题
{
return List->Strings[i];
}
String choose::get_Ebuf(int i)//获得选项
{
return Elist->Strings[i];
}

/////////////////////////////////////////////////////////////////////
//scl90--------------------------------------------------------------
scl90::scl90():choose()
{
sum=0;
psi=0;
gsi=0;
psdl=0;
som=0;
obc=0;
inse=0;
dep=0;
anxi=0;
hosty=0;
phan=0;
paid=0;
psyc=0;
addi=0;
// List = new TStringList();
//Elist = new TStringList();
}
void scl90::set_sum(int i,bool flag)
{
if(flag)
{switch(i)
{
case 0:
sum = sum+0;
break;
case 1:
sum = sum+1;
psi++;
break;
case 2:
sum = sum+2;
psi++;
break;
case 3:
sum = sum+3;
psi++;
break;
case 4:
sum = sum+4;
psi++;
break;
}
}
else
{
sum = sum-i;
psi--;
}
}
void scl90::set_yinzi(int i,int j,bool flag)//i 是标题号,j是选项
{

if((i==1)||(i==4)||(i==12)||(i==27)||(i==40)||(i==42)||(i==48)||(i==49)||(i==52)||(i==53)||(i==56)||(i==58))
{ if(flag)
som = som+float(j);
else
som = som-float(j);
return;
}
if((i==3)||(i==9)||(i==10)||(i==28)||(i==38)||(i==45)||(i==46)||(i==51)||(i==55)||(i==65))
{ if(flag)
obc = obc+float(j);
else
obc = obc-float(j);
return;
}
if((i==6)||(i==21)||(i==34)||(i==36)||(i==37)||(i==41)||(i==61)||(i==69)||(i==73))
{
if(flag)
inse = inse+float(j);
else
inse = inse-float(j);
return;
}
if((i==5)||(i==14)||(i==15)||(i==20)||(i==22)||(i==26)||(i==29)||(i==30)||(i==31)||(i==32)||(i==54)||(i==71)||(i==79))

{
if(flag)
dep = dep+float(j);
else
dep = dep-float(j);
return;
}
if((i==2)||(i==17)||(i==23)||(i==33)||(i==39)||(i==57)||(i==72)||(i==78)||(i==80)||(i==86))
{
if(flag)
anxi = anxi+float(j);
else
anxi = anxi-float(j);
return;
}
if((i==11)||(i==24)||(i==63)||(i==67)||(i==74)||(i==81))
{
if(flag)
hosty = hosty+float(j);
else
hosty = hosty-float(j);
return;
}
if((i==13)||(i==25)||(i==47)||(i==50)||(i==70)||(i==75)||(i==82))
{
if(flag)
phan = phan+float(j);
else
phan = phan-float(j);
return;
}
if((i==8)||(i==18)||(i==43)||(i==68)||(i==76)||(i==83))
{
if(flag)
paid = paid+float(j);
else
paid = paid-float(j);
return;
}
if((i==7)||(i==16)||(i==35)||(i==62)||(i==77)||(i==84)||(i==85)||(i==87)||(i==88)||(i==90))
{
if(flag)
psyc = psyc+float(j);
else
psyc = psyc-float(j);
return;
}
if((i==19)||(i==41)||(i==59)||(i==60)||(i==64)||(i==66)||(i==89))
{

if(flag)
addi = addi+float(j);
else
addi = addi-float(j);
return;
}

}
int scl90::get_sum()
{
return sum;
}
int scl90::get_psi()
{
return psi;
}
float scl90::get_gsi()
{
gsi = sum/90;
return gsi;
}
float scl90::get_psdl()
{
if (sum == 0)
{
return 0;
}
else
{ psdl = sum/psi;
return psdl; }
}
float scl90::get_yinzi(int i)
{
switch(i)
{
case 0:
return som/12;

case 1:
return obc/10;

case 2:
return inse/9;

case 3:
return dep/13;

case 4:
return anxi/10;

case 5:
return hosty/6;

case 6:
return phan/7;

case 7:
return paid/6;

case 8:
return psyc/10;

case 9:
return addi/7;


}
}
/////////////////////////////////////////////////////////////////////
//--pei表------------------------------------------------------------
pei54::pei54():choose()
{
sum =0;
}
void pei54::set_sum(int i,bool flag)//i为得分
{
if(flag)
{sum = sum +i;}
else
{sum = sum-i;}
}
int pei54::get_sum()
{
return sum;
}


...全文
59 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqzq2020 2008-04-28
  • 打赏
  • 举报
回复
谢谢,结贴!
erdgzw 2008-04-28
  • 打赏
  • 举报
回复
刚帮你试了一下,没发现问题,在其他单元中包含了也没出问题。
i_love_pc 2008-04-28
  • 打赏
  • 举报
回复
测试没有语法错误,功能上没有详细看,也不知道想做什么。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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