| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 777 人关注过本帖
标题:帮忙给看看啊,高手给指点下。。。。
只看楼主 加入收藏
红绿灯
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-4-19
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:10 
帮忙给看看啊,高手给指点下。。。。
程序代码:
#include "stdafx.h"
#include <iostream>
using namespace std;
bool CheckValid(int *,int *,int *);
int GetData();
int _tmain(int argc, _TCHAR* argv[])
{
    int a,b,c;
    a,b,c=GetData();
    CheckValid(&a,&b,&c);
    return 0;
}
bool CheckValid(int *month_ptr,int *data_ptr,int *year_ptr)
{

    if(*month_ptr==(1||3||5||7||8||10||12))
    {
        if(*data_ptr>31)
        {
            cout<<"输入日期错误"<<endl;
            return false;
        }
        else
            return true;
    }
    else if(*month_ptr==2)
    {
        if(*year_ptr%4==0)
        {
            if(*data_ptr>29)
            {
                cout<<"输入日期错误"<<endl;
                return false;
            }
            else
                return true;
        }
        else
            if(*data_ptr>28)
            {
                cout<<"输入日期错误"<<endl;
                return false;
            }
            else
                return true;
   
       
    }
    else
    {
        if(*data_ptr>30)
        {
            cout<<"输入日期错误"<<endl;
            return false;
        }
        else
            return true;
    }

}
int GetData()
{
    int month=0,data=0,year=0;
    int *month_ptr=&month;
    int *data_ptr=&data;
    int *year_ptr=&year;
    cout<<"请输入你要转换的日期(格式为:月/日/年)"<<endl;
    cin>>*month_ptr>>*data_ptr>>*year_ptr;
    return (*month_ptr,*data_ptr,*year_ptr);
}
我要是输入2 30 2001 不报日期错误,调试了下也看不懂,请高手指点下
搜索更多相关主题的帖子: 看看 
2011-11-01 22:44
Noll_Nie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:139
注 册:2011-4-19
收藏
得分:10 
程序代码:
#include <iostream>
using namespace std;

bool CheckValid(int *,int *,int *);

int GetData(int *, int *, int *);

int main(int argc, char* argv[])
{
    int a,b,c;
    //a,b,c=GetData();
    GetData(&a,&b,&c);
    CheckValid(&a,&b,&c);
    return 0;
}


bool CheckValid(int *month_ptr,int *data_ptr,int *year_ptr)
{
   

    //if(*month_ptr==(1||3||5||7||8||10||12))
    if(*month_ptr==1 || *month_ptr==3 || *month_ptr==5 || *month_ptr==7 || *month_ptr==8 || *month_ptr==10 || *month_ptr==12)
    {
        if(*data_ptr>31)
        {
            cout<<"输入日期错误"<<endl;
            return false;
        }
        else
            return true;
    }
    else if(*month_ptr==2)
    {
        if(*year_ptr%4==0)
        {
            if(*data_ptr>29)
            {
                cout<<"输入日期错误"<<endl;
                return false;
            }
            else
                return true;
        }
        else
            if(*data_ptr>28)
            {
                cout<<"输入日期错误"<<endl;
                return false;
            }
            else
                return true;
           

           

    }
    else
    {
        if(*data_ptr>30)
        {
            cout<<"输入日期错误"<<endl;
            return false;
        }
        else
            return true;
    }
   

}
int GetData(int *month_ptr, int *data_ptr, int *year_ptr)
{
    //int month=0,data=0,year=0;
    //int *month_ptr=&month;
    //int *data_ptr=&data;
    //int *year_ptr=&year;
    cout<<"请输入你要转换的日期(格式为:月/日/年)"<<endl;
    cin>>*month_ptr>>*data_ptr>>*year_ptr;
    //return (*month_ptr,*data_ptr,*year_ptr);
    return 0;
}

就是那个得到日期的函数的问题吧 ,还有就是if条件的地方://if(*month_ptr==(1||3||5||7||8||10||12))
    if(*month_ptr==1 || *month_ptr==3 || *month_ptr==5 || *month_ptr==7 || *month_ptr==8 || *month_ptr==10 || *month_ptr==12)
2011-11-01 23:08
红绿灯
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-4-19
收藏
得分:0 
回复 楼主 红绿灯
不是那的问题,我改了还是得不到想要的结果,我感觉是函数值传递的错误,但不知道哪出错了
2011-11-02 12:48
红绿灯
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-4-19
收藏
得分:0 
回复 2楼 Noll_Nie
不是那的问题,我改了还是得不到想要的结果,我感觉是函数值传递的错误,但不知道哪出错了
2011-11-02 12:49
nomify
Rank: 5Rank: 5
等 级:职业侠客
帖 子:79
专家分:366
注 册:2011-10-13
收藏
得分:10 
楼主用的神马语言呢
2011-11-02 13:13
红绿灯
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-4-19
收藏
得分:0 
回复 5楼 nomify
难道你觉得不是c++?
2011-11-02 13:25
nomify
Rank: 5Rank: 5
等 级:职业侠客
帖 子:79
专家分:366
注 册:2011-10-13
收藏
得分:0 
C++有这语法?
a,b,c=GetData();
if(*month_ptr==(1||3||5||7||8||10||12))
 return (*month_ptr,*data_ptr,*year_ptr);
2011-11-02 13:35
红绿灯
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-4-19
收藏
得分:0 
回复 7楼 nomify
你给改改吧,本人菜鸟,请高手指点
2011-11-02 13:46
nomify
Rank: 5Rank: 5
等 级:职业侠客
帖 子:79
专家分:366
注 册:2011-10-13
收藏
得分:0 
其实二楼的已经把错误改了。
不过你的代码只有这些功能,也就只能那样了。
你说的得不到结果,那你想得到什么结果?
2011-11-02 13:51
红绿灯
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-4-19
收藏
得分:0 
回复 9楼 nomify
如果你输入2/30/2001不会输出 日期错误  输入4/31/2001也不会显示日期错误 我调试了 看只把2001赋到了c 可能就是你说的那个a,b,c=GetData();
 return (*month_ptr,*data_ptr,*year_ptr);  错了  那该怎么返回多个值呢?又该怎么传值啊?  教教我
2011-11-02 14:01
快速回复:帮忙给看看啊,高手给指点下。。。。
数据加载中...
 
   



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

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