c语程序:已知你的生日是1997年8月1号,输出你的星座.

c语程序:已知你的生日是1997年8月1号,输出你的星座.,第1张

#include<stdio.h>

void main()

{

  int n,y,r

  printf("请输入生日的年份:\n")

  scanf("%d",&n)

  printf("请输入生日的月份:\n")

  scanf("%d",&y)

  while (y<1||y>12)

  { 

    printf("错误,月份应该在1-12之间!\n")

    printf("请输入生日的月份:\n")

    scanf("%d",&y)

    }

  printf("请输入生日的日子:\n")

  scanf("%d",&r)

  while(y==1||y==3||y==5||y==7||y==8||y==10||y==12)

     while(r<1||r>31)

      森改 {printf("错误,日子的数只能在1-31之间!\n")

        printf("请输入生日的日子:\n")

        scanf("%d",&r)

        }

  while(y==4||y==6||y==9||y==11)

     while(r<1||r>30)

     {printf("错误,日子的数只能在1-30之间!\n")

       printf("请输入生日的日子:\n")

       scanf("%d",&r)}

  if(y==2&&((n%4==0n%100!=0)||n%400==0))

   while(r<1||r>29) 

      {printf("错误,日子的数只能在1-29之间!\n")

       printf("请输入生日的日子:\n")

       scanf("%d",&r)}

  else if(y==2)

      {printf("错误,日子的数只能在1-29之间!\n")

       printf("请输入生日的日子:\n")

       scanf("%d",&r)}

 //以上是正确的输入一个人的生日年、月、日

   if(y==1&&r<21) printf("为:摩羯座。\n")

   else if (y==1) printf("为:水瓶座。\n")

   else if (y==2&&r<21) printf("为:水瓶座。\n")

   else if (y==2) printf("为:双鱼座。\n")

   else if (y==3&&r<21) printf("为:双鱼座。\n")

   else if (y==3) printf("为:白羊座。\n")

   else if (y==4&&r<21) printf("为:白羊座。\n")

   else if (y==4) printf("为:金牛座。裤岁\n")

   else if (y==5&&r<22) printf("为:金牛座。\n")

   else if (y==5) printf("为:双子座。\n")

   else if (y==6&&r<22) printf("为:双子座。\n")

   else if (y==6) printf("为:巨蟹座。\n")

   else if (y==7&&r<23) printf("为:巨蟹座。\n")

   else if (y==7) printf("为:狮子座。\n")

   else if (y==8&&r<23) printf("为:狮子座。\n")

   else if (y==8) printf("为:处女座。\n")

   else if (y==9&&r<23) printf("为:处女座。\n")

   else if (y==9) printf("为:天秤座。\n")

   else if (y==10&&r<24) printf("为:天秤座。\n")

   else if (y==10) printf("为:天蝎座。\n")

   else if (y==11&&r<23) printf("为:天蝎座。\n")

   else if (y==11) printf("为:射手座。\n")

   else if (y==12&&r<22) printf("为:射手座。\n")

   else printf("为:摩羯座。\n")

   }

解释:上半部分是验证输入的是不是正确的年、月、日。

下半部分是判断什么星座,并输出。

PS:::不胡春睁懂还可继续问。。。

建立一个枚举

星座 //enum xingzuo{}

在{}里写入12个星座的名尺银森字

建立一个类

建一个类的数组

分别存入12个星座的信息

在类里放入星座的

开始日期 int kaiShi //如:0220

结束日期 int jieShu // 0321

……

//其他的特征

代码:

先判断输入的日期是那个属于那搏返个星座

然后打印出类里的信息就行了

你可以自陵亩己去实现下

锻炼下自己

日期的格式你可以

从0101到1231

int riQi

如输入0228

就代表2月28号

用if语句 if(riQi>=kaiShi&&riQi<=jieShu)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12228368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存