You need to enable JavaScript to run this app. C++入门:如何实现用户输入参数调用getDayOfWeek函数?
优惠活动
大模型
产品
解决方案
定价
更多

C++入门:如何实现用户输入参数调用getDayOfWeek函数?

原有代码的问题说明
  • 你编写的getDayOfWeek函数内部的switch分支判断逻辑是完全正确的,不需要修改,问题全部出在main函数的输入、调用流程上。
  • cin >> 接收对象的语法有明确要求:接收对象必须是提前定义好、拥有固定内存空间的变量,不能直接是无参的函数调用表达式。你之前写的cin >> getDayOfWeek()存在两个硬伤:一是getDayOfWeek的形参要求传入int类型值,无参调用本身就不符合函数定义;二是函数调用的返回值是临时内存数据,没有固定存储位置,无法作为cin的输入承接目标。
  • 代码缺失了结果输出环节:就算正确拿到了函数的返回结果,没有通过cout打印的话,运行程序也看不到任何反馈。
正确实现步骤
  • 在main函数中定义一个int类型的临时变量,用来存储用户从控制台输入的数字
  • 打印简单的输入提示,再用cin将用户输入的内容读取到这个临时变量中
  • 将临时变量作为实参传入getDayOfWeek,拿到函数返回的星期字符串后,通过cout打印到控制台
修正后的完整可运行代码
#include <iostream>

using namespace std;

string getDayOfWeek(int dayNum){
    string dayName;
    switch(dayNum){
        case 0:
            dayName = "Sunday";
            break;
        case 1:
            dayName = "Monday";
            break;
        case 2:
            dayName = "Tuesday";
            break;
        case 3:
            dayName = "Wednesday";
            break;
        case 4:
            dayName = "Thursday";
            break;
        case 5:
            dayName = "Friday";
            break;
        case 6:
            dayName = "Saturday";
            break;
        default:
            dayName = "invalid day number";
    }
    return dayName;
}

int main()
{
    int inputDay;
    cout << "请输入0-6之间的数字查询对应星期:" << endl;
    cin >> inputDay;
    cout << getDayOfWeek(inputDay) << endl;

    return 0;
}

内容的提问来源于stack exchange,提问作者Quack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.03 08:36:04