c语言写程序判断输入日期(月,日)属于哪个星座?
另外,请注意,您的语言不是C...已经是c++了。你看,在上面定义的struct结构中已经有public……...还有函数的定义...
Date(int m,int d)是函数的声明,set(m,d)是函数的定义。声明,就是说我声明这个函数存在(注意,不一定要给出具体的函数)~定义,就是我要给出这个函数的具体内容和定义。比如我声明我和张三是好朋友,但我不用介绍张三是什么样的人。但如果我把张三定义为朋友,我必须从各方面介绍他。在编程中,声明和定义通常以不同的方式表达。
函数名是自己创建的,只要调用和定义能和数字匹配。
在开始学习程序时,请慢慢来。别担心。我写第一个C语言程序的时候,漏掉了很多分号,被朋友嘲笑了很久...那时候我和你一样,不会用printf什么的。但是现在好了...
c语言教材,国内好书不多,还是推荐你读谭浩强,清华大学出版社。真的编的很好,也很好解释。很多抽象的概念,他老人家都解释的很好,不是国内其他教材能比的。当你基础学的很好,想进一步学习的时候,推荐两本国外的教材,C PRIMER PLUS和C编程。C PRIMER PLUS比较全。C编程是C语言的发明者写的,很牛逼,但是他的文笔和中国的传统思维很不一样。我建议在读谭浩强的书之前先读一读。
祝你享受编程的快乐~!
补充,代码注释:
# include & ltstdio.h & gt
# include & ltstring.h & gt
//这个程序真的很讨人喜欢,可读性极低。变量名命名不好,重复太多,容易引起误解。所以我建议初学者看一些精挑细选的例子,比如谭浩强书中的例子,真的很好。我在THU学的EE,这是我的个人经历和个人建议。。
Struct Date //定义一个名为Date的结构。
{
int月,日;
公共:
Date(int m,int d) //声明一个名为Date的函数。
{
set(m,d);
}
void set(int m,int d);
void constell();//Date结构下有一个函数叫constell。
};
无效日期::set(int m,int d)
{
//这里最好检查一下日期输入是否正确。...
月=m,日= d;
}
无效日期::constell()
{
字符串c[12][2]={ { "摩羯座","水瓶座" },{ "水瓶座","双鱼座" },{ "双鱼座","白羊座" },
{ "白羊座","金牛座" },{ "金牛座","双子座" },{ "双子座","巨蟹座" },
{ "巨蟹座","狮子座" },{ "狮子座","处女座" },{ "处女座","天秤座" },
{ "天秤座","天蝎座" },{ "天蝎座","射手座" },{ "射手座","摩羯座" }
};
int x = month-1;
int y = day/21;
printf("%s ",c[x][y]);
}
int main()
{
int月,日;
Printf("请输入月份:");
scanf("%d ",& amp月);
cout & lt& lt请输入一个日期:“;
scanf("%d ",& amp天);
日期d(月、日);//声明一个名为D(包含set、constell等函数,如开头结构定义所示)的Date类型的结构变量(也称为对象)。它的函数相当于int i,声明了一个整型变量I。
d . constell();//调用结构变量d下的constell函数。
返回0;
}