当前位置:首页 » 编程语言 » c语言生日星座判断
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言生日星座判断

发布时间: 2022-03-01 05:21:43

c语言编译一个能根据生日判断什么星座

用if else实现会比较好!因为星座日期是一个时间段啊!而switch语句是符合某个值的!

Ⅱ 实现根据输入的生日判定星座。

这个有难度吗


星座判断无非是根据生日的 月份,日期 这两个来判断。


两个思路:

  1. 将星座信息储存,每个星座都包含指定的日期范围,然后对生日判断

  2. 直接对生日判断,首先判断月份,可以简单判断处于那几个星座,然后判断日期,这就确定了具体的星座

over

Ⅲ 编程输入某人生日,算出是星期几(C语言)

http://jingyan..com/article/ae97a646820186bbfd461d37.html 去看看挺详细的,比较复杂

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

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<stdio.h>
#include<string.h>
//这个程序写得实在不敢恭维,可读性极低。变量名起得很不好,重复太多,很容易引起误解。所以我建议初学者还是去看一些精挑细选的例子,比如谭浩强书上那些真的很不错。我在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语言根据一个人的身份证号推算出所属的星座

连续输入时,要清除输入流中残余字符。修改一点点即好:
while(1){
if ( scanf("%*10s%4d",&m)==EOF) break;
fflush(stdin); //清除输入流中残余字符
其它一字不改,一切照旧
if(m<=419&&m>=321)printf("Aries\n"); ....

Ⅵ 用java编一个程序能通过用户输入的生日判断用户的星座。请大神们给点提示或者思路吧。规定不能自定义方法

既然不允许用其他的方式,那就直接上代码吧....

publicstaticvoidmain(String[]args){
intpoint=-1;
String[]str={"白羊","金牛","双子","巨蟹","狮子","处女","天平","天蝎","射手","摩羯","水瓶","双鱼"};
SimpleDateFormatsdf=newSimpleDateFormat("MM-dd");
System.out.println("请输入一个日期,格式为MM-dd,例如:8-9");
Scannerscan=newScanner(System.in);
Dated=null;
while(true){
try{
Stringinput=scan.next();
d=sdf.parse(input);
break;

}catch(Exceptionex){
System.out.println("请输入正确的日期格式,例如:08-09");
}
}
//格式化日期,将日期转成**.**的格式,比如1月1日转成1.01
Doubledate=Double.parseDouble((d.getMonth()+1)
+"."+String.format("%02d",d.getDate()));

if(3.21<=date&&4.19>=date){
point=0;
}elseif(4.20<=date&&5.20>=date){
point=1;
}elseif(5.21<=date&&6.21>=date){
point=2;
}elseif(6.22<=date&&7.22>=date){
point=3;
}elseif(7.23<=date&&8.22>=date){
point=4;
}elseif(8.23<=date&&9.22>=date){
point=5;
}elseif(9.23<=date&&10.23>=date){
point=6;
}elseif(10.24<=date&&11.22>=date){
point=7;
}elseif(11.23<=date&&12.21>=date){
point=8;
}elseif(12.22<=date&&12.31>=date){
point=9;
}elseif(1.01<=date&&1.19>=date){
point=9;
}elseif(1.20<=date&&2.18>=date){
point=10;
}elseif(2.19<=date&&3.20>=date){
point=11;
}
if(point==-1){
System.out.println("你真的是地球人么....");return;
}
System.out.println(String.format(
"找到啦!o^^o,你的星座是%s.",str[point]));

Ⅶ C语言,星座匹配问题

1)建立两个数组 a[2];b[2]分别存储第一人的月,日,第二人的月,日,从合理性角度分析
月a[0]∈[1,12],a[1]也就是日期根据a[0]决定,a[0]是1,3,5,7,8,12情况下,a[1]不能是31.
a[0]是2的情况下,a[1]不能超过29.如果输入29要减去1(为了后面的日期差计算星座做基础)
2)第一个函数int sum_day (int* a),把刚才输入作为形参传入,按照一定公式计算N月M日是这年的第K天,然后返回这个日期。
3)因为每个星座之隔都是30天(2月按照28来看)。把这个天数,假设是返回的k,那么分类讨论,
第一种,k<19,那么直接知道是摩羯
第二种 switch ((k-19)/30) {
case 0:水瓶
case 1:双鱼
........
4)匹配的规则,我们已经知道双方的星座了,至于是否合得来用一个二维数组来存放情况
int c[12][12];横坐标的0~11分别表示水瓶~摩羯,纵坐标也是一个道理。比如
a[0][0]就是水瓶配水瓶,c[11][11]就是摩羯配摩羯。如果c[0][0]是存放1,则表示水瓶配水瓶是合适的,如果是0则表示不合适,1还是0由编程人员设置。
3)输出,(k-19)/30就是下标,例如c [(k1-19)/30][,(k2-19)/30],那么这将表示这个坐标的数据,1
表示合适,0表示不合适,k是表示这一年的第k天。

Ⅷ c语言输入身份证输出生日,性别,并判断身份证是否合法

voidmain()
{
inta[18]
for(inti=0;i<18;i++)
{
inttemp;
scanf("%d",&temp);
a[i]=temp;
}
printf("生日: ");
for(intj=0;j<8;j++)
{printf("%d ",a[6+i]);}

charsex[2]={’女‘,’男‘};
printf("性别:%c ",sex[a[16]%2]);//
printf("位数:%d ",18);
}

Ⅸ C语言中如何输出月份日期对应的星座

你好!
对月分进行判断就可以了
打字不易,采纳哦!

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

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;
}