C语言之生肖、年龄、星座查询

简介: C语言之生肖、年龄、星座查询

程序实现输入年月日

输出星座生肖年龄

代码实现:

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
  struct tm *Tm;
  time_t t;
  time(&t);
  Tm = localtime(&t);
  
  int toyear = Tm->tm_year+1900;
  int tomon = Tm->tm_mon+1;
  int today = Tm->tm_mday;
  int year,mon,day; 
    char * xz[12]={"摩羯座","水瓶座","双鱼座","白羊座","金牛座","双子座","巨蟹座","狮子座","处女座","天平座","天蝎座","射手座"};
    printf("请输入您的出生年月日(示例:1999 4 23):");
  scanf("%d%d%d",&year,&mon,&day);    
  int m = mon;
  int n = day;
    int shengxiao = 0;
  //星座判断 
        switch (m ) {
            case 1: printf("您的星座是%s\n",n<=19?xz[0]:xz[1]);
                break;
            case 2: printf("您的星座是:%s\n",n<=18?xz[1]:xz[2]);
                break;
            case 3: printf("您的星座是:%s\n",n<=20?xz[2]:xz[3]);
                break;
            case 4: printf("您的星座是%s\n",n<=19?xz[3]:xz[4]);
                break;
            case 5: printf("您的星座是:%s\n",n<=20?xz[4]:xz[5]);
                break;
            case 6: printf("您的星座是:%s\n",n<=21?xz[5]:xz[6]);
                break;
            case 7: printf("您的星座是:%s\n",n<=22?xz[6]:xz[7]);
                break;
            case 8: printf("您的星座是:%s\n",n<=22?xz[7]:xz[8]);
                break;
            case 9: printf("您的星座是:%s\n",n<=22?xz[8]:xz[9]);
                break;
            case 10:printf("您的星座是:%s\n",n<=23?xz[9]:xz[10]);
                break;
            case 11:printf("您的星座是:%s\n",n<=22?xz[10]:xz[11]);
                break;
            case 12:printf("您的星座是:%s\n",n<=21?xz[11]:xz[0]);
                break;
            default:printf("ERROR!!!!");
                break;
        }
        //从1900年开始生肖为鼠 
      shengxiao = (year - 1899) %12;
        switch (shengxiao) {
            case 1: printf("您的生肖是:鼠\n");
                break;
            case 2: printf("您的生肖是:牛\n");
                break;
            case 3: printf("您的生肖是:虎\n");
                break;
            case 4: printf("您的生肖是:兔\n");
                break;
            case 5: printf("您的生肖是:龙\n");
                break;
            case 6: printf("您的生肖是:蛇\n");
                break;
            case 7: printf("您的生肖是:马\n");
                break;
            case 8: printf("您的生肖是:羊\n");
                break;
            case 9: printf("您的生肖是:猴\n");
                break;
            case 10:printf("您的生肖是:鸡\n");
                break;
            case 11:printf("您的生肖是:狗\n");
                break;
            case 12:printf("您的生肖是:猪\n"); 
                break;
            default:printf("ERROR!!!!");
                break;
        }
        //年龄计算
    if(mon<tomon) 
    printf("您现在的年龄为:%d",toyear-year);
    else if(mon>tomon) 
    printf("您现在的年龄为:%d",toyear-year-1);
    else if(mon<tomon) 
    {
      if(day<today)
      printf("您现在的年龄为:%d",toyear-year);
      else
      printf("您现在的年龄为:%d",toyear-year-1);   
    }

     
  return 0;
}

程序难点在于当前时间的获取:

struct tm *Tm;
time_t t;
time(&t);
Tm = localtime(&t);

int toyear = Tm->tm_year+1900;
int tomon = Tm->tm_mon+1;
int today = Tm->tm_mday;


相关文章
|
4月前
|
存储 C语言
【数据结构】c语言链表的创建插入、删除、查询、元素翻倍
【数据结构】c语言链表的创建插入、删除、查询、元素翻倍
【数据结构】c语言链表的创建插入、删除、查询、元素翻倍
|
7月前
|
C语言
链表的插入、删除和查询—C语言
链表的插入、删除和查询—C语言
|
7月前
|
C语言
C语言求年龄实例
【1月更文挑战第19天】C语言求年龄实例。
42 0
|
7月前
|
机器学习/深度学习 C语言
c语言编程练习题:7-55 查询水果价格
c语言编程练习题:7-55 查询水果价格
235 0
|
关系型数据库 MySQL Linux
Linux下C语言实现MySQL操作——连接、查询、插入与客户端打造
Linux下C语言实现MySQL操作——连接、查询、插入与客户端打造
479 0
Linux下C语言实现MySQL操作——连接、查询、插入与客户端打造
|
C语言
【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 逐行遍历文件文本数据 | 获取文件中的文本行 | 查询文本行数据 | 追加文件数据 | 使用占位符方式拼接字符串 )
【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 逐行遍历文件文本数据 | 获取文件中的文本行 | 查询文本行数据 | 追加文件数据 | 使用占位符方式拼接字符串 )
267 0
C语言:单链表的查询操作,查询链表的某一结点。
C语言:单链表的查询操作,查询链表的某一结点。
C语言:单链表的查询操作,查询链表的某一结点。
|
C语言
【C 语言】文件操作 ( 学生管理系统 | 插入数据 | 查询数据 | 删除数据 )
【C 语言】文件操作 ( 学生管理系统 | 插入数据 | 查询数据 | 删除数据 )
188 0
【C 语言】文件操作 ( 学生管理系统 | 插入数据 | 查询数据 | 删除数据 )
|
C语言
【C 语言】文件操作 ( 学生管理系统 | 命令行接收数据填充结构体 | 结构体写出到文件中 | 查询文件中的结构体数据 )
【C 语言】文件操作 ( 学生管理系统 | 命令行接收数据填充结构体 | 结构体写出到文件中 | 查询文件中的结构体数据 )
139 0
【C 语言】文件操作 ( 学生管理系统 | 命令行接收数据填充结构体 | 结构体写出到文件中 | 查询文件中的结构体数据 )
|
存储 C语言
【C语言】升级版猜数字小游戏(含简单、中等、困难模式并且支持战绩查询以及界面美化)
【C语言】升级版猜数字小游戏(含简单、中等、困难模式并且支持战绩查询以及界面美化)
263 0
【C语言】升级版猜数字小游戏(含简单、中等、困难模式并且支持战绩查询以及界面美化)