股票交易资料系统源程序代码介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
#include
#include
struct Stock{
char Name[10];
int flag; // 1买入2卖出0都是不
float Pri[20];
float Price; // 记录股票当前价格
};
struct Stock S[5]={{"桂冠电力",0},{"华北制药",0},{"S T 金泰",0},{"伊利股份",0},{"柳州重工",0}};
int cishu=0; //全局变量,记录变化的次数
int time1,time2,time3,time4,time5; //全局变量,记录买入股票的时间
float ZhiYin,ZhiSun; //全局变量, 记录用户设定的止盈/止损金额
float Mairujia[5]; //全局变量,记录买入价
float Maichujia[5]; //全局变量,记录卖出价
int Gupiaoshu; //全局变量,设置每次买入股票的数目
int PreNum=0; //记录当前所有的股票数目
float DQGB; //记录当前股本
void print(Stock S[]) //输出函数
{
int i;
system("cls"); /*运行前清屏*/
printf("\n\t\t 〓股票自动交易系统[深市全部列表] 〓\n\n");
printf("\n\t\t股票名称当前股价涨速买/卖\n\n");
for(i=0;i<5;i++)
{
printf("\t\t%s ",S[i].Name); //股票名称
printf("\t%4.2f(元/股) ",S[i].Price); //当前股价(元/股)
if(cishu>0 && cishu<=20) //涨速%
{
if(S[i].Pri[cishu]>S[i].Pri[cishu-1])
printf(" \t+%4.2f",S[i].Pri[cishu]-S[i].Pri[cishu-1]);
else
printf(" \t%4.2f",S[i].Pri[cishu]-S[i].Pri[cishu-1]);
if(S[i].Pri[cishu]>S[i].Pri[cishu-1])
printf("↑");
if(S[i].Pri[cishu]
printf("↓");
if(S[i].flag==0) //显示买入卖出
printf(" ");
if(S[i].flag==1)
printf("买入");
if(S[i].flag==2)
printf("卖出");
}
else
printf("\t\t ");
printf("\n");
printf("\n");
}
printf("\n");
printf("当前你拥有股本为:%4.2f(元)\n当前你拥有股票数:%d(股)\n",DQGB,PreNum);
if(PreNum==0) //因为第一次股票数是零,而零不能作分母,所以在此作一个判定
printf("当前股票成本为:\n");
else
printf("当前股票成本为: %4.2f(元/股)\n",DQGB/PreNum);
}
void change(Stock S[]) //股价动态变化函数
{ cishu++;
int i,j;
for(i=0;i<5;i++)
{
S[i].Price=S[i].Pri[cishu];
}
// 定时买入设置买入标志买入时记下买入价格记录当前股本记录当前拥有的股票数目
if(time1==cishu) { S[0].flag=1; Mairujia[0]=S[0].Price; DQGB+=Gupiaoshu*Mairujia[0]; PreNum+=Gupiaoshu;}
if(time2==cishu) { S[1].flag=1; Mairujia[1]=S[1].Price; DQGB+=Gupiaoshu*Mairujia[1]; PreNum+=Gupiaoshu;}
if(time3==cishu) { S[2].flag=1; Mairujia[2]=S[2].Price; DQGB+=Gupiaoshu*Mairujia[2]; PreNum+=Gupiaoshu;}
if(time4==cishu) { S[3].flag=1; Mairujia[3]=S[3].Price; DQGB+=Gupiaoshu*Mairujia[3]; PreNum+=Gupiaoshu;}
if(time5==cishu) { S[4].flag=1; Mairujia[4]=S[4].Price; DQGB+=Gupiaoshu*Mairujia[4]; PreNum+=Gupiaoshu;}
for(j=0;j<5;j++)
{
if(S[j].flag==1)
if( S[j].Price-Mairujia[j] > ZhiYin ) //止盈
{ //设置卖出标志记录卖出价格记录当前股本记录当前拥有的股票数目
S[j].flag=2; Maichujia[j]=S[j].Price; DQGB-=Gupiaoshu*Maichujia[j];PreNum-=Gupiaoshu;}
if(S[j].flag==1)
if( Mairujia[j]-S[j].Price > ZhiSun ) //止损
{ S[j].flag=2; Maichujia[j]=S[j].Price; DQGB-=Gupiaoshu*Maichujia[j];PreNum-=Gupiaoshu;}
}
}
void main() //主函数
{
int i,j;
printf("\n请输入欲购五支股票买入时间: ___点(24小时制)\n\n");
printf("--");
scanf("%d%d%d%d%d",&time1,&time2,&time3,&time4,&time5);
printf("\n\n请输入每次买入的股票数:__ \n\n--");
scanf("%d",&Gupiaoshu);
printf("\n\n请输入止盈值:__\n\n--");
scanf("%f",&ZhiYin);
printf("\n\n请输入止损值:__\n\n--");