C++实现根据输入的出生年月判断属于什么星座,及该出生年月的人最合得来的星座有哪些。

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;	
} 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值