Dev C++的程序

来源:百度知道 编辑:UC知道 时间:2024/05/25 07:45:11
这道题的意思是.. 写一个程序是关于星座的,当一个人输入他自己的生日(月,日),程序能显示出他是属于哪个星座和那个星座的符号(括号里的为对应星座的符号).另外如果他的生日只有和邻近的星座只差1到2天,那么系统同时也显示那个邻近的星座和符号,以下的程序输入生日之后只能显示自己的星座,而且不能显示星座对应的符号
希望哪为高手能帮我改一改啊..追加50分....急要..

Aries (!) March 21-April 19
Taurus (@) April 20-May 20
Gemini (#) May 21-June21
Cancer ($) June 22-July 22
Leo (%) July 23-August 22
Virgo (^) August 23-September 22
Libra (&) September 23- October 22
Scorpio (*) October 23-November 21
Sagittarius (~) November 22-December 21
Capricorn (*) December 22-January 19
Aquarius (\) January 20-February 18
Pisces (-) February 19-March 20

括号里的是每个星座代表的sign

#include <iostream>
using namespace std;
int main()
{
int m[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int sm[12]={};
for(int i=1;i!=12;++i)
{
sm[i]=sm[i-1]+m[i-1];
}
string h[]={"Capricorn", "Aquarius", "Pisce

程序在BCB2007下调试通过
程序思路:1:如何判断用户日期所属哪个星座,将每个星座的第一天写入数组m[]中,通过顺次比较大小,可找出它属于哪个星座。
2:如何判断用户所输入的日期邻近的星座。拿天秤座来说,它是从9。23~10.22如果用户输入9.23 9.24 程序应该显示前一个星座。这些日期的特点是:它们和9.23差的绝对值<=1;如果用户输入10.21 10.22,程序应显示出下一个星座。这些日期的特点是:它们和下一个星座的起始日期10.23差的绝对值<=2. 虽然它们都是天秤座,根据这些特点,就可以计算出相邻星座。
不知我这样说你明不明白.
#include<iostream.h>

int main(int argc, char* argv[])
{
int m[]={120,219,321,420,521,622,723,823,923,1023,1122,1222};
char* h[]={"Aquarius", "Pisces", "Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn"};
char s[]={'\\','-','!','@','#','$','%','^','&','*','~','*'};
int mm=0,dd=0,tmp=0,index=0;
char select='y';

do
{
cout<<