#include<iostream>
#include<string>
using namespace std;
char *start(int birthday);
void compare(char *temp1,char* temp2);
int main()
{
int ybirthday,mbirthday;
char *p1,*p2;
char ans;
cout<<"星座配对打分程序v1.0版"<<endl;
cout<<"是否愿意进行测试(Y/N):";
cin>>ans;
while((ans=='y')||(ans='Y'))
{
cout<<"输入你们的生日,测试你们星座配对评分情况!"<<endl;
cout << "你的出生日期(例如:1月1日;输入:0101):";
cin>>ybirthday;
p1=start(ybirthday);
cout<<start(ybirthday)<<endl;
cout << "你要推测人的出生日期是(例如:1月1日;输入:0101):";
cin>>mbirthday;
p2=start(mbirthday);
cout<<start(mbirthday)<<endl;
cout<<"星座评分:";
compare(p1,p2);
cout<<"是否重新再来一次(y or n):";
cin>>ans;
}
return 0;
}
char *start(int birthday)
{
char* temp;
if(birthday>=321 && birthday<=419)
temp="白羊座";
else if(birthday>419 && birthday<=520)
temp="金牛座";
else if(birthday>520 && birthday<=621)
temp="双子座";
else if(birthday>621 && birthday<=722)
temp="巨蟹座";
else if(birthday>722 && birthday<=822)
temp="狮子座";
else if(birthday>822 && birthday<=922)
temp="处女座";
else if(birthday>922 && birthday<=1022)
temp="天秤座";
else if(birthday>1022 && birthday<=1122)
temp="天蝎座";
else if(birthday>1122 && birthday<=1221)
temp="射手座";
else if((birthday>1221 && birthday<=1231) || (birthday>=101 && birthday<=119))
temp="魔羯座";
else if(birthday>119 && birthday<=218)
temp="水瓶座";
else if(birthday>218 && birthday<=320)
temp="双鱼座";
else
cout<<"请输入正确的日期:"<<endl;
return(temp);
}
void compare(char *temp1,char* temp2)
{
int i,j;
string star1[12]={"白羊座","金牛座","双子座","巨蟹座","狮子座","处女座","天秤座","天蝎座","射手座","魔羯座","水瓶座","双鱼座"};
string star2[12]={"白羊座","金牛座","双子座","巨蟹座","狮子座","处女座","天秤座","天蝎座","射手座","魔羯座","水瓶座","双鱼座"};
int grade[12][12]={{80,70,90,50,100,40,60,40,100,50,90,70},{70,80,70,90,50,100,40,60,40,100,50,80},
{90,70,80,70,90,50,100,40,60,40,100,50},{50,90,70,80,70,90,50,100,40,60,40,100},
{100,50,90,70,80,70,90,50,100,40,60,40},{40,100,50,90,70,80,70,90,50,100,40,60},
{60,40,100,50,90,70,80,70,90,50,100,40},{40,60,40,100,50,90,70,80,70,90,50,100},
{100,40,60,40,100,50,90,70,80,70,90,50},{50,100,40,60,40,100,50,90,70,80,70,90},
{90,50,100,40,60,40,100,50,90,70,80,70},{70,90,50,100,40,60,40,100,50,90,70,80}};
for(i=0;i<12;i++)
if(temp1==star1[i])
break;
for(j=0;j<12;j++)
if(temp2==star2[j])
break;
cout<<grade[i][j]<<endl;
}