YoCol-YC 2023-01-15 01:29 采纳率: 87.5%
浏览 19
已结题

c++重载输入运算符遇到问题

c++重载运算符遇到的问题,想要输入2023-02-01格式,输出2023-02-01格式,以下是我重载的输入输出运算符,并不能成功输出,“-”会影响后面数字的值,该如何重载可以忽略“-”的输入,谢谢各位解答

ostream &operator<<(ostream &out, Date &d)
{
    return out << d.year << '-' << d.month << '-' << d.day;
}
istream &operator>>(istream &in, Date &d)
{
    return in >> d.year >> d.month >> d.day;
}

以下是输出结果,首行为输入,末行为输出

arrival on (yyyy-mm-dd): 2022-02-01

CALL CENTER BOOKING REQUEST
1 new reservation request standard
2 new reservation request superior
3 show reservation request
4 show all reservation requests
your choice: 
4
********REQUEST NO:  1********
accomodation at:     DD
number of guests:    1
number of nights:    1
check-in date:       2022-65534-65535

  • 写回答

2条回答 默认 最新

  • 关注
    #include <iostream>
    
    auto main() -> int
    {
        unsigned year = 0;
        unsigned month = 0;
        unsigned day = 0;
        char chr;
    
        std::cin >> year >> chr >> month >> chr >> day;
    
        std::cout << year << '-' << month << '-' << day;
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月24日
  • 已采纳回答 1月16日
  • 创建了问题 1月15日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错