注册 登录
编程论坛 C++教室

【it's 宅女heipaopao的project】

xixifans 发布于 2012-11-19 22:30, 872 次点击
hello!在两个版里发一样的帖子不会被删账号吧!please not!

我是heipaopao!!!技术宅女来求助啦。。

11月29号我需要交一个关于金融的C++project,老师要求我们要使用继承。派生。多态。克隆(这是我最不懂的一个东西)。

对于我来说,最大的问题是怎么建立最初的模型。比如哪些操作可以设置成类,怎么来继承和派生,更重要的是怎么实现把每天的事实数据自动的输入进去,和用C++画出图来,这用matlab很简单,但是不知道怎么用C++实现。求大牛指点我,如果可以全程辅导一下我,我发誓我把现在&未来的分分都散给你!

我有一个思路。具体如下。

母基金 M(Mother fund):
    净值 Nm(net value);
操作(operation):申购(apply for purchase),赎回(Redemption);
拆分(split),合并(merger);
子基金A、子基金B:
    净值Na、Nb;市价(market price)Ma,Mb;
    操作:买buy,卖sell;
        拆分,合并;

两份M=一份A+一份B;2Nm=Na+Nb;
申购手续费率(Purchase rate)Pr=1.5%;赎回手续费率(Redemption rate)Rr=0.5%;
申购费用=申购金额×申购费率;申购份额=(申购金额-申购费用)÷申请日基金单位净值;
赎回费=赎回份额×赎回当日基金单位净值×赎回费率;
佣金(brokerage charges)  Br=0.05%;

策略:
[1]    (Ma+Mb)*x*(1-br)> 2x*Nm*(1+Pr):
申购母基金2x份,拆分成A基金x份+B基金x份,卖出;
收益:(Ma+Mb)*x*(1-br)-2x*Nm*(1+Pr);
[2]    (Ma+Mb)*x*(1-br)< 2x*Nm*(1+Rr):
买入y份A基金+y份B基金,合并成2y份母基金,赎回;
收益:2y*Nm*(1+Rr) -(Ma+Mb)*y*(1-br);
20 回复
#2
TonyDeng2012-11-20 00:02
不懂基金,帮不了你啦,蹭点儿分吧,施舍一下。
#3
xixifans2012-11-20 00:08
回复 2楼 TonyDeng
不用懂基金!因为我也不懂!其实操作就是如果A+B>C我们就买C卖(A+B)
反之亦然!简单吧!关键是咋输入数据和输出图形= =

我刚开了头就出bug了

help


class fund
{public:
fund(){};
private:
};

class motherfund:public fund
{public:
motherfund(double netvalue_):netvalue(netvalue_)
{};
private:
    double netvalue;
};

class umbrellafund:public fund
{public:
umbrellafund(double netvalue_,double stockprice_):
netvalue(netvalue_),stockprice(stockprice_)//这里报错了意外的类型“double”;非法的成员初始化:“stockprice”不是基或成员
{};
private:
    double netvalue,double stockprice;};
#4
TonyDeng2012-11-20 00:34
你用什么环境编这个呀?
#5
xixifans2012-11-20 00:44
回复 4楼 TonyDeng
什么是环境??我就是用visual studio2010在编 啊
#6
TonyDeng2012-11-20 00:46
哦,又要画图,要写GUI程序?
#7
TonyDeng2012-11-20 00:50
看到你在MFC发帖了
#8
xixifans2012-11-20 00:52
回复 7楼 TonyDeng
那里写的VC++和MCF嘛。。我以为vc++就是我用的东西= =
#9
TonyDeng2012-11-20 00:58
VC++有三种模式:传统API、MFC封装过的控件、C++/CLI。不同的模式写出来的程序完全不一样。
#10
xixifans2012-11-20 01:03
回复 9楼 TonyDeng
是吗?那我怎么知道我自己是什么环境啊?
#11
TonyDeng2012-11-20 01:04
你老师要求的呀
#12
TonyDeng2012-11-20 01:06
这样是没有语法错误的:
程序代码:

class fund
{
public:
    fund(){};

private:
};

class motherfund: public fund
{
public:
    motherfund(double netvalue_) : netvalue(netvalue_) {};

private:
    double netvalue;
};

class umbrellafund : public fund
{
public:
    umbrellafund(double netvalue_,double stockprice_) : netvalue(netvalue_),stockprice(stockprice_) {};
private:
    double netvalue;
    double stockprice;
};
#13
xixifans2012-11-20 01:10
回复 12楼 TonyDeng
老师没说啊。随意吧。。不过他说要有界面。改动是不是最后把private分别列用分号?其他的肉眼没看出差别
#14
TonyDeng2012-11-20 01:14
不是专门做来用的程序,普通CUI就可以了,不画图。不过我觉得无论是CUI还是GUI,都是用C++/CLI比较方便。你问清楚老师怎么选定为好,语法都不一样的,C/C++就这点恼人。
#15
xixifans2012-11-20 01:17
回复 14楼 TonyDeng
喔喔。我明天去问问老师!先睡吧。。都一点过了。晚安呀
#16
TonyDeng2012-11-20 01:20
嗯,( ^_^ )/~~拜拜
#17
xixifans2012-11-20 13:55
回复 16楼 TonyDeng
T版,我把你改了的程序输入进去还是会报错啊= =
是这样报错的。。

1>MSVCRTD.lib(crtexe.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
1>E:\学习文件\C++与金融计算\project\LOFproject\Debug\LOFproject.exe : fatal error LNK1120: 1 个无法解析的外部命令

#18
TonyDeng2012-11-20 13:57
我给的代码又没有main()函数,那是你自己写的呀。
#19
xixifans2012-11-20 14:05
回复 18楼 TonyDeng
啊!我傻了。。懂了。。= = 笨蛋我是。。求再看看我新发的吧!
#20
TonyDeng2012-11-20 14:06
我有事要外出了,你自己先看着。
#21
xixifans2012-11-20 14:07
回复 20楼 TonyDeng
ok!thx。。。
1