當前位置:編程學習大全網 - 編程語言 - 編程C++要把壹年用12星座的日期分開?

編程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天,2月是28天或29天(簡單起見,按28天算)。

最後根據上面的數據,可以求出每個星座對應的兩個點,由這兩個點確定壹個區間就是所在的星座。下面是我給樓主寫的程序,保存為*.c就可以在VC++6.0中運行。具體的程序代碼和運行結果我已發送至哥們妳的qq郵箱了,希望能對妳有幫助。

#include<stdio.h>

int table[12]={31,28,31,30,31,30,31,31,30,31,30,31};//月份對應的天數

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

string str[12]=

{"水瓶座","雙魚座","白羊座","金牛座","雙子座","巨蟹座",

"獅子座","處女座","天秤座","天蠍座","射手座","摩羯座",};//星座的名稱

struct date

{

int month;

int day;

}DATE;

void init_info(DATE date1)

{

int a,b;

printf("請輸入妳的出生月份:\t");

scanf("%d",&a);

printf("請輸入妳的出生日期:\t");

scanf("%d",&b);

a=date1.month;

b=date1.day;

}

void print_info(DATE date1)

{

int key=0;

for(i=1;i<date1.month;i++)

{key+=table[date1.month];}

key+=date1.day;

switch(key)

{

case key>=table1[0]&key<table1[1]:

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

case key>=table1[1]&key<table1[2]:

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

case key>=table1[2]&key<table1[3]:

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

case key>=table1[3]&key<table1[4]:

{printf("%s\n",&str[3]);break;}

case key>=table1[4]&key<table1[5]:

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

case key>=table1[5]&key<table1[6]:

{printf("%s\n",&str[5]);break;}

case key>=table1[6]&key<table1[7]:

{printf("%s\n",&str[6]);break;}

case key>=table1[7]&key<table1[8]:

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

case key>=table1[8]&key<table1[9]:

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

case key>=table1[9]&key<table1[10]:

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

case key>=table1[10]&key<table1[11]:

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

default://12月22日到1月19日出生

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

}

}

void main()

{

DATE date1;

while(1)

{

init_info(date1);//初始化信息

print_info(date1);//顯示星座

}

}

  • 上一篇:誰能幫助我這是什麽意思嗎?MXL文件
  • 下一篇:學渣求問C語言操作題怎麽評分的
  • copyright 2024編程學習大全網