C++实现根据输入的出生年月判断属于什么星座,及该出生年月的人最合得来的星座有哪些。已知同一元素的星座最合得来,星座学描述了4种元素,每种元素包含3个星座。分别为:
“火”(白羊座,狮子座,射手座);
“土”(金牛座,处女座,魔蝎座);
“气”(双子座,天秤座,水瓶座);
“水”(巨蟹座,天蝎座,双鱼座)。
具体实现代码如下:
#include<iostream>
using namespace std;
int main()
{
int m,d,i,j,x,z;
string month[12][2] =
{
{ "魔蝎座","水瓶座" },
{ "水瓶座","双鱼座" },
{ "双鱼座","白羊座" },
{ "白羊座","金牛座" },
{ "金牛座","双子座" },
{ "双子座","巨蟹座" },
{ "巨蟹座","狮子座" },
{ "狮子座","处女座" },
{ "处女座","天秤座" },
{ "天秤座","天蝎座" },
{ "天蝎座","射手座" },
{ "射手座","魔蝎座" },
};
int date[12] = {20,19,21,20,21,22,23,23,23,23,22,22};
cout<<"请输入出生月份:";
cin>>m;
cout<<"请输入出生日期:";
cin>>d;
if(m>12||m<0||d<0||d>31)
cout<<"您的输入有误,请重新输入正确的月份或日期。。"<<endl;
else
{
i = m - 1;
j = d / date[i];
string xz[4][3]=
{
{"水瓶座","双子座","天秤座"},
{"双鱼座","巨蟹座","天蝎座"},
{"白羊座","狮子座","射手座"},
{"金牛座","处女座","魔蝎座"},
};
if(month[i][j]=="水瓶座")
{
cout<<"水瓶座"<<endl;
x = 0;
z = 0;
}
else if(month[i][j]=="双子座")
{
cout<<"双子座"<<endl;
x = 0;
z = 1;
}
else if(month[i][j]=="天秤座")
{
cout<<"天秤座"<<endl;
x = 0;
z = 2;
}
else if(month[i][j]=="双鱼座")
{
cout<<"双鱼座"<<endl;
x = 1;
z = 0;
}
else if(month[i][j]=="巨蟹座")
{
cout<<"巨蟹座"<<endl;
x = 1;
z = 1;
}
else if(month[i][j]=="天蝎座")
{
cout<<"天蝎座"<<endl;
x = 1;
z = 2;
}
else if(month[i][j]=="白羊座")
{
cout<<"白羊座"<<endl;
x = 2;
z = 0;
}
else if(month[i][j]=="狮子座")
{
cout<<"狮子座"<<endl;
x = 2;
z = 1;
}
else if(month[i][j]=="射手座")
{
cout<<"射手座"<<endl;
x = 2;
z = 2;
}
else if(month[i][j]=="金牛座")
{
cout<<"射手座"<<endl;
x = 3;
z = 0;
}
else if(month[i][j]=="处女座")
{
cout<<"处女座"<<endl;
x = 3;
z = 1;
}
else if(month[i][j]=="魔蝎座")
{
cout<<"魔蝎座"<<endl;
x = 3;
z = 2;
}
int tmp = x*3+z;
switch(tmp)
{
case 0 :cout<<"你的星座是:"<<xz[0][0]<<endl;
cout<<"与你最合得来的星座是:"<<xz[0][0]<<","<<xz[0][1]<<","<<xz[0][2]<<endl;
break;\
case 1:cout<<"你的星座是:"<<xz[0][1]<<endl;
cout<<"与你最合得来的星座是:"<<xz[0][1]<<","<<xz[0][0]<<","<<xz[0][2]<<endl;
break;
case 2 :cout<<"你的星座是:"<<xz[0][2]<<endl;
cout<<"与你最合得来的星座是:"<<xz[0][2]<<","<<xz[0][1]<<","<<xz[0][0]<<endl;
break;
case 3 :cout<<"你的星座是:"<<xz[1][0]<<endl;
cout<<"与你最合得来的星座是:"<<xz[1][0]<<","<<xz[1][1]<<","<<xz[1][2]<<endl;
break;
case 4 :cout<<"你的星座是:"<<xz[1][1]<<endl;
cout<<"与你最合得来的星座是:"<<xz[1][1]<<","<<xz[1][0]<<","<<xz[1][2]<<endl;
break;
case 5 :cout<<"你的星座是:"<<xz[1][2]<<endl;
cout<<"与你最合得来的星座是:"<<xz[1][2]<<","<<xz[1][1]<<","<<xz[1][0]<<endl;
break;
case 6 :cout<<"你的星座是:"<<xz[2][0]<<endl;
cout<<"与你最合得来的星座是:"<<xz[2][0]<<","<<xz[2][1]<<","<<xz[2][2]<<endl;
break;
case 7 :cout<<"你的星座是:"<<xz[2][1]<<endl;
cout<<"与你最合得来的星座是:"<<xz[2][1]<<","<<xz[2][0]<<","<<xz[2][2]<<endl;
break;
case 8 :cout<<"你的星座是:"<<xz[2][2]<<endl;
cout<<"与你最合得来的星座是:"<<xz[2][2]<<","<<xz[2][1]<<","<<xz[2][0]<<endl;
break;
case 9 :cout<<"你的星座是:"<<xz[3][0]<<endl;
cout<<"与你最合得来的星座是:"<<xz[3][0]<<","<<xz[3][1]<<","<<xz[3][2]<<endl;
break;
case 10 :cout<<"你的星座是:"<<xz[3][1]<<endl;
cout<<"与你最合得来的星座是:"<<xz[3][1]<<","<<xz[3][0]<<","<<xz[3][2]<<endl;
break;
case 11 :cout<<"你的星座是:"<<xz[3][2]<<endl;
cout<<"与你最合得来的星座是:"<<xz[3][2]<<","<<xz[3][1]<<","<<xz[3][0]<<endl;
break;
default:cout<<"您的输入有误。。"<<endl;
}
}
return 0;
}