C++输入日期 判断所属星座

目标:实现输入一个生日,判断属于哪个星座。

#include "stdafx.h"
#include "iostream"
#include "string"

using namespace std;
int main()
{
	/*定义生日变量*/
	int  value_birth_month;
	int  value_birth_date;
	/*星座*/
	string value_constell;
	string constells[12][2] = {
	{ "摩羯座","水瓶座" },//一月
	{ "水瓶座","双鱼座" },//二月
	{ "双鱼座","白羊座" },//三月
	{ "白羊座","金牛座" },//四月
	{ "金牛座","双子座" },//五月
	{ "双子座","巨蟹座" },//六月
	{ "巨蟹座","狮子座" },//七月
	{ "狮子座","处女座" },//八月
	{ "处女座","天秤座" },//九月
	{ "天秤座","天蝎座" },//十月
	{ "天蝎座","射手座" },//十一月
	{ "射手座","摩羯座" },//十一月
	};
	//每个月有两个星座,数组中的值对应每个月中两个星座的分割日期
	int constell_dates[]{ 20,19,21,20,21,22,23,23,23,24,23,22 };
	cout << "请输入月份:";
	cin >> value_birth_month;
	cout << "请输入日期:";
	cin >> value_birth_date;

	/*第一维输出月份,第二维由生日的日期/每个月对应的分割日期(constell_dates),
	   为0就表示一个月中的前一个星座,否则为后一个星座,
	比如生日为5月6号,则对应输出 constells[4][0] 对应金牛座*/
	cout << constells[value_birth_month - 1]
        [value_birth_date / constell_dates[value_birth_month]] << endl;
	return 0;
}

输出结果:

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
C++中,你可以使用`<ctime>`头文件中的`struct tm`结构体和`mktime()`函数来实现输入日期判断星期几的功能。以下是一个示例代码: ```c++ #include <iostream> #include <ctime> int main() { int year, month, day; std::cout << "请输入日期(格式为YYYY-MM-DD):"; std::scanf("%d-%d-%d", &year, &month, &day); std::tm date = {0}; date.tm_year = year - 1900; // 年份需要减去1900 date.tm_mon = month - 1; // 月份需要减一 date.tm_mday = day; // 调用mktime函数将日期转换为时间戳,并使用localtime函数将时间戳转换为本地时间 std::time_t time_stamp = std::mktime(&date); std::tm *local_date = std::localtime(&time_stamp); const char *week_day; switch (local_date->tm_wday) { case 0: week_day = "星期日"; break; case 1: week_day = "星期一"; break; case 2: week_day = "星期二"; break; case 3: week_day = "星期三"; break; case 4: week_day = "星期四"; break; case 5: week_day = "星期五"; break; case 6: week_day = "星期六"; break; default: week_day = ""; } std::printf("%d-%02d-%02d 是 %s\n", year, month, day, week_day); return 0; } ``` 这个示例与C语言的示例非常相似,不同之处在于使用了C++输入输出流和字符串类型。在这个示例中,我们首先获取用户输入日期,并将其分别存储在变量`year`、`month`和`day`中。然后,我们创建一个`tm`结构体,并将输入日期存储在其中。接下来,我们使用`mktime()`函数将`tm`结构体转换为时间戳,并使用`localtime()`函数将时间戳转换为本地时间。最后,我们使用`switch`语句根据星期几的数字代码输出相应的星期几字符串。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷小川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值