用c语言编写程序,判断输入的日期(月,日)属于哪个星座?

附1.20~2.18水瓶座2.19~3.20双鱼座3.21~4.19牡羊座4.20~5.20金牛座5.21~6.21双子座6.22~7.22巨蟹座7.23~8.22狮子座... 附1.20~2.18 水瓶座
2.19~3.20 双鱼座
3.21~4.19 牡羊座
4.20~5.20 金牛座
5.21~6.21 双子座
6.22~7.22 巨蟹座
7.23~8.22 狮子座
8.23~9.23 处女座
9.23~10.23 天秤座
10.24~11.22 天蝎座
11.23~12.21 射手座
12.22~1.19 摩羯座
展开
 我来答
百度网友4275a6b
2011-01-31 · TA获得超过211个赞
知道答主
回答量:101
采纳率:0%
帮助的人:86.1万
展开全部
c语言的输出输入是格式化的,printf表示输出,在屏幕上打印出来;scanf表示读入,即把你在屏幕上如果打10,按回车,10就存储到month那个变量里面,%d代表输入一个整数。

还有,要注意,你那个不是c语言……已经是c++了。你看上面定义的那个struct结构体里竟然已经有public……而且还有函数的定义……

Date(int m, int d) 是函数的声明,set(m, d)是函数的定义。声明嘛,就是说,我声明有这个函数存在(注意哦,不一定要给出这个函数具体怎样的)~定义嘛,就是我要给出这个函数的具体内容和定义。就比如说,我声明我和张三是好朋友,但我不一定要介绍张三是一个怎样的人。但我定义张三这个朋友的话,我就必须从各方面都介绍他。声明和定义在程序设计中,表示形式往往就不一样了。

函数名是自己起的,爱怎么起都行,只要调用和定义能对上号就好。

学程序一开始慢慢来,不用急。当年我写第一个c语言程序,漏了许多分号,被朋友嘲笑了很久……当时也和你一样,printf什么的一直不会用。不过现在就好了……

c语言的教材的话,国内的鲜有好书,还是推荐你看谭浩强写的,清华大学出版社。确实编的很好,深入浅出,很多抽象概念他老人家都解释得特别好,国内其他教材都比不上。当你学好基础,想进一步学习的话,推荐两本国外教材,C PRIMER PLUS 和THE C PROGRAMMING。C PRIMER PLUS比较全,THE C PROGRAMMING是c语言发明者写的,很牛,不过他写法和中国传统思维很不一样,建议看完谭浩强的书之后再去看。

祝你享受编程的快乐~!

补充,代码注释:

#include
#include
//这个程序写得实在不敢恭维,可读性极低。变量名起得很不好,重复太多,很容易引起误解。所以我建议初学者还是去看一些精挑细选的例子,比如谭浩强书上那些真的很不错。我在THU学EE的,这是我亲身经验和个人建议。。

struct Date //定义了一个叫Date的结构体
{
int month, day;
public:
Date(int m, int d) //声明一个叫Date的函数
{
set(m, d);
}
void set(int m, int d);

void constell(); //Date结构体底下有一个叫constell的函数
};

void Date::set(int m, int d)
{
//在此最好检查日期是否输入正确...
month=m, day=d;
}

void Date::constell()
{
string c[12][2]={ {"魔蝎座", "水瓶座"}, {"水瓶座", "双鱼座"}, {"双鱼座", "白羊座"},
{"白羊座", "金牛座"}, {"金牛座", "双子座"}, {"双子座", "巨蟹座"},
{"巨蟹座", "狮子座"}, {"狮子座", "处女座"}, {"处女座", "天秤座"},
{"天秤座", "天蝎座"}, {"天蝎座", "射手座"}, {"射手座", "魔蝎座"}
};

int x=month-1;
int y=day/21;
printf("%s",c[x][y]);
}

int main()
{
int month,day;
printf("请输入月份: ");
scanf("%d",&month);
cout<<"请输入日期: ";
scanf("%d",&day);
Date d(month,day); //声明一个Date类型的结构体变量(也可以叫对象),叫d(里面包含set,constell等函数,如一开头结构体定义所示)。其作用相当于int i,声明一个整型变量i
d.constell(); //调用结构体变量d下constell函数
return 0;
}
hujinyuli
2010-05-03
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
星座是按阳历(公历)日期划分的,首先你得知道你的阳历出生日期,然后对照下面的资料。

白羊座:3月21日 - 4月20日

金牛座:4月21日 - 5月21日

双子座:5月22日 - 6月21日

巨蟹座:6月22日 - 7月22日

狮子座:7月23日 - 8月23日

处女座:8月24日 - 9月23日

天秤座:9月24日 - 10月23日

天蝎座:10月24日 - 11月22日

射手座:11月23日 - 12月21日

魔羯座:12月22日 - 1月20日

水瓶座:1月21日 - 2月19日

双鱼座:2月20日 - 3月20日

参考资料: 909823015@qq.com

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友52aeb54
2010-04-28 · TA获得超过2996个赞
知道小有建树答主
回答量:1261
采纳率:0%
帮助的人:1162万
展开全部
#include<stdio.h>
#include<string.h>

struct Date
{
int month, day;
public:
Date(int m, int d)
{
set(m, d);
}
void set(int m, int d);

void constell();
};

void Date::set(int m, int d)
{
//在此最好检查日期是否输入正确...
month=m, day=d;
}

void Date::constell()
{
string c[12][2]={ {"魔蝎座", "水瓶座"}, {"水瓶座", "双鱼座"}, {"双鱼座", "白羊座"},
{"白羊座", "金牛座"}, {"金牛座", "双子座"}, {"双子座", "巨蟹座"},
{"巨蟹座", "狮子座"}, {"狮子座", "处女座"}, {"处女座", "天秤座"},
{"天秤座", "天蝎座"}, {"天蝎座", "射手座"}, {"射手座", "魔蝎座"}
};

int x=month-1;
int y=day/21;
printf("%s",c[x][y]);
}

int main()
{
int month,day;
printf("请输入月份: ");
scanf("%d",&month);
cout<<"请输入日期: ";
scanf("%d",&day);
Date d(month,day);
d.constell();
return 0;
}

差不多
你改改
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-05-02
展开全部
1998年2月28日是什么日?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式