C++中创建一个函数,想让这个函数的返回值是一串字符。
创建一个函数,想让这个函数的返回值是一串字符。比如判断一个日期如果是星期一就返回“星期一”。如何用string或char解决这个问题?还有我看到要求上是用enum,如何解...
创建一个函数,想让这个函数的返回值是一串字符。
比如判断一个日期如果是星期一就返回“星期一”。
如何用string或char解决这个问题?
还有我看到要求上是用enum,如何解决?
如果能详细点,我还想知道如何能够简单的显示系统的日期。谢谢! 展开
比如判断一个日期如果是星期一就返回“星期一”。
如何用string或char解决这个问题?
还有我看到要求上是用enum,如何解决?
如果能详细点,我还想知道如何能够简单的显示系统的日期。谢谢! 展开
3个回答
展开全部
返回的时候要注意在函数里面要么动态分配内存(否则字符串局部变量返回是没有意义的,因为其生存周期已过就销毁),或者更简单的就是在代码前面就定义一个全局变量,然后返回的时候先给全局变量赋值再返回
另外就是根据一个日期判断星期几(实在是觉得蛋疼),windows的API函数不是用time(获取当前到距离1900年1月1日的秒数)以及localtime(将这个秒数转化为具体的一个时间结构体tm),还用enum完全没有意义,API函数里面星期定义是0代表星期天,0到6代表星期天到星期六,楼主可以用enum自己定义一个(意义不大),然后判断返回
另外就是根据一个日期判断星期几(实在是觉得蛋疼),windows的API函数不是用time(获取当前到距离1900年1月1日的秒数)以及localtime(将这个秒数转化为具体的一个时间结构体tm),还用enum完全没有意义,API函数里面星期定义是0代表星期天,0到6代表星期天到星期六,楼主可以用enum自己定义一个(意义不大),然后判断返回
更多追问追答
追问
其实我感觉大家想复杂了……
我就是知道今天是周日,然后我能创建一个函数里有7个IF,通过这7个不同的条件返回不同的值。
然而我不知道怎么让这个返回值是一串字符,好让我在INT MAIN()里头COUT<<这个函数的时候可以直接输出 星期一~星期日……
追答
#include
using namespace std;
char str[64] = {0};
char* Return(int i);
void main()
{
cout<<Return(1)<<endl;
}
char* Return(int i)
{
if(i == 0)
{
strcpy(str,"星期天");
return str;
}
else if (i == 1)
{
strcpy(str,"星期一");
return str;
}
}
那楼主参考下上面的吧,总之返回的字符串一定要先分配了内存
展开全部
楼上的瞎说,返回String不行吗?怎么就只有一个字母?C++是支持String的。
enum是枚举类型,你先定一个枚举变量,里面包含了星期一到星期天,然后在函数里面判断出日期是星期几之后,再把枚举类型里面相应的那个元素返回就行了
enum是枚举类型,你先定一个枚举变量,里面包含了星期一到星期天,然后在函数里面判断出日期是星期几之后,再把枚举类型里面相应的那个元素返回就行了
追问
那这个函数的类型应该定义为什么类型呢?
enum days{“星期一",...."星期日"};
应该放在这个函数里面么?
我判断完条件之后if(){
return 星期一;
}
这样可以么……?
我新学,这个不太清楚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不可能实现!最多反回一字母!可用switch语句检测字母后输出中文
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询