c语言编写程序,判断输入的日期(月,日)属于哪个星座?
在网上看过了ifelse和C++的,我们刚学了结构,能用结构编一个吗?不行的话,C语言也可以,求解,谢了...
在网上看过了if else和C++的,我们刚学了结构,能用结构编一个吗?不行的话,C语言也可以,求解,
谢了 展开
谢了 展开
6个回答
展开全部
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;
}
还有,要注意,你那个不是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;
}
展开全部
#include<stdio.h>
main()
{
int m,d;
printf("请注意,输入出生日期应为公元纪年法\n请输入你的出生月:");
scanf("%d",&m);
printf("请输入你的出生日:");
scanf("%d",&d);
switch (m)
{
case 1:
if(d>=1&&d<=19)
printf("摩羯座");
else if(d>=20&&d<=31)
printf("水瓶座");
else
printf("你输入的日期错误!");
break;
case 2:
if(d>=1&&d<=18)
printf("水瓶座");
else if(d>=19&&d<=28)
printf("双鱼座");
else
printf("你输入的日期错误!");
break;
case 3:
if(d>=1&&d<
printf("白羊座");
else
printf("你输入的日期错误!");
brea
main()
{
int m,d;
printf("请注意,输入出生日期应为公元纪年法\n请输入你的出生月:");
scanf("%d",&m);
printf("请输入你的出生日:");
scanf("%d",&d);
switch (m)
{
case 1:
if(d>=1&&d<=19)
printf("摩羯座");
else if(d>=20&&d<=31)
printf("水瓶座");
else
printf("你输入的日期错误!");
break;
case 2:
if(d>=1&&d<=18)
printf("水瓶座");
else if(d>=19&&d<=28)
printf("双鱼座");
else
printf("你输入的日期错误!");
break;
case 3:
if(d>=1&&d<
printf("白羊座");
else
printf("你输入的日期错误!");
brea
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-04-26 · 知道合伙人游戏行家
关注
展开全部
#include <stdio.h>
int main(void)
{
int x;
printf("输入生日:");
scanf("%d",&x);
printf("\n\n");
if(x>=321&&x<=419)
{
printf("白羊座");
}
else if(x>=420&&x<=520)
{
printf("金牛座");
}
else if(x>=521&&x<=620)
{
printf("双子座");
}
else if(x>=621&&x<=721)
{
printf("巨蟹座");
}
else if(x>=722&&x<=822)
{
printf("狮子座");
}
else if(x>=823&&x<=922)
{
printf("处女座");
}
else if(x>=923&&x<=1022)
{
printf("天秤座");
}
else if(x>=1023&&x<=1121)
{
printf("天蝎座");
}
else if(x>=1122&&x<=1221)
{
printf("射手座");
}
else if(x>=120&&x<=218)
{
printf("水瓶座");
}
else if(x>=219&&x<=320)
{
printf("双鱼座");
}
else{
printf("摩羯座");
}
printf("\n\n");
return 0;
}
int main(void)
{
int x;
printf("输入生日:");
scanf("%d",&x);
printf("\n\n");
if(x>=321&&x<=419)
{
printf("白羊座");
}
else if(x>=420&&x<=520)
{
printf("金牛座");
}
else if(x>=521&&x<=620)
{
printf("双子座");
}
else if(x>=621&&x<=721)
{
printf("巨蟹座");
}
else if(x>=722&&x<=822)
{
printf("狮子座");
}
else if(x>=823&&x<=922)
{
printf("处女座");
}
else if(x>=923&&x<=1022)
{
printf("天秤座");
}
else if(x>=1023&&x<=1121)
{
printf("天蝎座");
}
else if(x>=1122&&x<=1221)
{
printf("射手座");
}
else if(x>=120&&x<=218)
{
printf("水瓶座");
}
else if(x>=219&&x<=320)
{
printf("双鱼座");
}
else{
printf("摩羯座");
}
printf("\n\n");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main(void)
{
int x;
printf("输入生日:");
scanf("%d",&x);
if(x>=321&&x<=419){
printf("白羊座");
}
else if(x>=420&&x<=520){
printf("金牛座");
}
else if(x>=521&&x<=620){
printf("双子座");
}
else if(x>=621&&x<=721){
printf("巨蟹座");
}
else if(x>=722&&x<=822){
printf("狮子座");
}
else if(x>=823&&x<=922){
printf("处女座");
}
else if(x>=923&&x<=1022){
printf("天秤座");
}
else if(x>=1023&&x<=1121){
printf("天蝎座");
}
else if(x>=1122&&x<=1221){
printf("射手座");
}
else if(x>=120&&x<=218){
printf("水瓶座");
}
else if(x>=219&&x<=320){
printf("双鱼座");
}
else{
printf("摩羯座");
} r
eturn 0;
}
int main(void)
{
int x;
printf("输入生日:");
scanf("%d",&x);
if(x>=321&&x<=419){
printf("白羊座");
}
else if(x>=420&&x<=520){
printf("金牛座");
}
else if(x>=521&&x<=620){
printf("双子座");
}
else if(x>=621&&x<=721){
printf("巨蟹座");
}
else if(x>=722&&x<=822){
printf("狮子座");
}
else if(x>=823&&x<=922){
printf("处女座");
}
else if(x>=923&&x<=1022){
printf("天秤座");
}
else if(x>=1023&&x<=1121){
printf("天蝎座");
}
else if(x>=1122&&x<=1221){
printf("射手座");
}
else if(x>=120&&x<=218){
printf("水瓶座");
}
else if(x>=219&&x<=320){
printf("双鱼座");
}
else{
printf("摩羯座");
} r
eturn 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(xx星座的时间内) cout<<xx星座
else
if(xx星座的时间内) cout<<xx星座
else
if(xx星座的时间内) ……
这样就可以了
比如一月 到 二月30号 (假设两个月都是三十天) 那就是从一号到60号之内 >=1&&<=60
其他的类似
else
if(xx星座的时间内) cout<<xx星座
else
if(xx星座的时间内) ……
这样就可以了
比如一月 到 二月30号 (假设两个月都是三十天) 那就是从一号到60号之内 >=1&&<=60
其他的类似
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询