编程[C++]要用12星座分隔一年的日期?

这可以写在switch语句中。下面是我用if else语句写的程序。如果楼主想在switch语句里写,首先这里是12星座及其对应的日期,/question/157489781 . html?si=6。wtp=wk .

那么一年中的任何一天,比如5月25日,都是一年的第一天。希望楼主能统计一下。1,3,5,7,8,10和12有31天,其他有30天,二月有28天或29天(为简单起见,按28天计)。

最后根据上面的数据,可以找到每个星座对应的两个点,由这两个点确定一个区间作为星座。以下是我给楼主写的程序,另存为*后可以在VC++6.0中运行。c .具体的程序代码和运行结果我已经发到你的qq邮箱了,希望能帮到你。

# include & ltstdio.h & gt

int table[12]={31,28,31,30,31,30,31,30,31,30,31 };//对应于该月的天数

int表1[12]={20,49,79,108,139,171,203,234,265,296,326,356 };//星座的分割点

字符串str[12]=

{ "水瓶座","双鱼座","白羊座","金牛座","双子座","巨蟹座",

狮子座、处女座、天秤座、天蝎座、射手座、摩羯座、};//星座的名称

结构日期

{

int月;

int日;

}日期;

void init_info(日期date1)

{

int a,b;

Printf("请输入您的出生月份:\ t ");

scanf("%d ",& ampa);

Printf("请输入您的出生日期:\ t ");

scanf("%d ",& ampb);

a = date 1 . month;

b = date 1 . day;

}

作废打印信息(日期date1)

{

int key = 0;

for(I = 1;我& ltdate 1 . month;i++)

{ key+= table[date 1 . month];}

key+= date 1 . day;

开关(钥匙)

{

案例关键字& gt= table 1[0]& amp;key & lt表1[1]:

{printf("%s\n ",str[0]);打破;}

案例关键字& gt= table 1[1]&key & lt表1[2]:

{printf("%s\n ",str[1]);打破;}

案例关键字& gt= table 1[2]& amp;key & lt表1[3]:

{printf("%s\n ",str[2]);打破;}

案例关键字& gt= table 1[3]& amp;key & lt表1[4]:

{printf("%s\n ",& ampstr[3]);打破;}

案例关键字& gt= table 1[4]& amp;key & lt表1[5]:

{printf("%s\n ",str[4]);打破;}

案例关键字& gt= table 1[5]& amp;key & lt表1[6]:

{printf("%s\n ",& ampstr[5]);打破;}

案例关键字& gt= table 1[6]& amp;key & lt表1[7]:

{printf("%s\n ",& ampstr[6]);打破;}

案例关键字& gt= table 1[7]& amp;key & lt表1[8]:

{printf("%s\n ",str[7]);打破;}

案例关键字& gt= table 1[8]& amp;key & lt表1[9]:

{printf("%s\n ",str[8]);打破;}

案例关键字& gt= table 1[9]& amp;key & lt表1[10]:

{printf("%s\n ",str[9]);打破;}

案例关键字& gt= table 1[10]& amp;key & lt表1[11]:

{printf("%s\n ",str[10]);打破;}

默认://65438+2月22日出生至65438+10月19。

{printf("%s\n ",str[11]);打破;}

}

}

void main()

{

日期DATE 1;

while(1)

{

init _ info(date 1);//初始化信息

print _ info(date 1);//显示星座

}

}