回 帖 发 新 帖 刷新版面

主题:一个菜鸟问题

输入格式是这样的 1988/10/11
怎样才能把年 月 日存入三个不同的变量中?
多谢大哥大姐指教

回复列表 (共4个回复)

沙发

先根据分隔符得到三个字符串,然后用库函数atoi()得到三个整形数.

板凳

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string sDate;
    cout<<"Enter the date(YYYY/MM/DD):"<<endl;
    cin>>sDate;
    string sYear(sDate,0,4);
    string sMonth(sDate,5,2);
    string sDay(sDate,8,2);
    cout<<"Year is "<<sYear<<endl;
    cout<<"Month is "<<sMonth<<endl;
    cout<<"Day is "<<sDay<<endl;
    system("pause");
    return 0;
}

3 楼

楼上的是对的,不过没把具体情况搞进去,比如月份不能超12,这得LZ自己加了

4 楼


但是如果输入的月份或者天数是一位呢?
我的解决方法是:
int year, month, day;
char c;
cin>>year>>c>>month>>c>>day;

我来回复

您尚未登录,请登录后再回复。点此登录或注册