| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 516 人关注过本帖
标题:[求助]一个很业余但是一直无法解决的问题
只看楼主 加入收藏
iceman7
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-8-9
收藏
 问题点数:0 回复次数:2 
[求助]一个很业余但是一直无法解决的问题

小弟刚刚开始学习C++,先遇到一个问题不知如何解决.

我现在要接收一个输入的日期, 我可以这么用
2005 3 24
然后接收的语句我可以这么写cin>>year>>month>>day;
那么,我现在想问,如果要这么输入的话
2005,3,24 或者2005/3/24,那应该怎么接收啊?
真的不知道,试了好久啊,请问有谁知道啊

搜索更多相关主题的帖子: 业余 month 
2006-08-09 09:18
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
定义一个函数可以解决所有你想要的分隔符。
比如:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;


void GetDate(int &year,int &month,int &day,char ch=' ')
{
    char *str=new char[5];
    cin.getline(str,5,ch);
    year=atoi(str);
    cin.getline(str,5,ch);
    month=atoi(str);
    cin.getline(str,5);
    day=atoi(str);
    delete []str;
}


void main()
{
    int year,month,day;
    GetDate(year,month,day);
    cout<<year<<" "<<month<<" "<<day<<endl;
}

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-09 09:54
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
如果你的日期是做成类的话,就直接写成:
class YourClass
{
    int year,month,day;
public:
    YourClass():year(0),month(0),day(0){}
    void GetDate(char ch=' ');
    void Display();
};
void YourClass::GetDate(char ch)
{     
    char *str=new char[5];
    cin.getline(str,5,ch);
    year=atoi(str);
    cin.getline(str,5,ch);
    month=atoi(str);
    cin.getline(str,5);
    day=atoi(str);
    delete []str;
}
void YourClass::Display()
{
    cout<<"日期:"<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
}
void main()
{
    YourClass s;
    s.GetDate('\');
    s.Display();
}

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-09 09:58
快速回复:[求助]一个很业余但是一直无法解决的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014177 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved