回 帖 发 新 帖 刷新版面

主题:刚学C++,很多错误都不会改,拜求高手帮忙!!!!

include <iostream>
using namespace std;
class month

public:
    
    month(int m);
    month(char a,char b,char c);
    month();
    void intger_input(istream& ins);
    void letter_input(istream& ins);
    void intger_output(ostream& outs);
    void letter_output(ostream& outs);
    month next();
private:
    int m;
    char a, b, c;
};
    int main()
    {    
    month t,n;
    cout<<"please input month using intger:";
    t.intger_input(cin);
    t.intger_output(cout);
    cout<<"please iuput month using letter:";
    n.letter_input(cin);
    n.letter_output(cout);
    cout<<"next month is:";
    month next();
    return 0;
}
month::month(int m)
{
    if(m>12||m<1)
    exit(1);
}
month::month(char a,char b,char c)
{
   if(!(isalpha(a)&&isalpha(b)&&isalpha(c)))
   exit(1);
}
month::month():m(0),a(0),b(0),c(0)
{

}
void month::intger_input(istream& ins)
{
    ins>>m;
}
void month::letter_input(istream& ins)
{
    ins>>a>>b
        >>c>>endl;
}
void month::intger_output(ostream& outs)
{
    outs<<m;
}
void month::letter_outpit(ostream& outs)
{
    outs<<a<<b
        <<c<<endl;
}
month::next()
{
    month next_month;
    next_month=m+1;
    return next_month;
}

附:month::next()
{
    month next_month;
    next_month=m+1;
    return next_month;
}
这个函数是要求把下个月作为month类型的一个值返回,不知道是不是这样做。。。

回复列表 (共5个回复)

沙发


include <iostream>
using namespace std;
class month

public:
    
    month(int m);
    month(char a,char b,char c);
    month();
    void intger_input(istream& ins);
    void letter_input(istream& ins);
    void intger_output(ostream& outs);
    void letter_output(ostream& outs);
    month next();
private:
    int m;
    char a, b, c;
};
    int main()
    {    
    month t,n;
    cout<<"please input month using intger:";
    t.intger_input(cin);
    t.intger_output(cout);
    cout<<"please iuput month using letter:";
    n.letter_input(cin);
    n.letter_output(cout);
    cout<<"next month is:";
    month next();
    return 0;
}
month::month(int m)
{
    if(m>12||m<1)
    exit(1);
}
month::month(char a,char b,char c)
{
   if(!(isalpha(a)&&isalpha(b)&&isalpha(c)))
   exit(1);
}
month::month():m(0),a(0),b(0),c(0)
{

}
void month::intger_input(istream& ins)
{
    ins>>m;
}
void month::letter_input(istream& ins)
{
    ins>>a>>b
        >>c>>endl;
}
void month::intger_output(ostream& outs)
{
    outs<<m;
}
void month::letter_output(ostream& outs)原来是outpit
{
    outs<<a<<b
        <<c<<endl;
}
month::next()
{
    month next_month;
    next_month=m+1;
    return next_month;
}

附:month::next()
{
    month next_month;
    next_month=m+1;
    return next_month;
}
你的month::next()函数是不能实现其功能的。因为你的month类中abc和下一个月的abc之间没有前后关系。我试了一下将一个私有成员定义为枚举类型enum yuefen{January, February,March,April,May, June, July,August,September, October,November, December};
程序如下,不过没有实现,不知道怎么改了,求高手们帮菜鸟,谢谢。
#include <iostream>
using namespace std;
enum yuefen{January, February,March,April,May, June, July,August,September, October,November, December};
class month

public:
    
    month(int m);
    month();
    void intger_input(istream& ins);
    void letter_input(istream& ins);
    void intger_output(ostream& outs);
    void letter_output(ostream& outs);
    month next();
private:
    int m;
    yuefen n;
};
    int main()
    {    
    month t,n;
    cout<<"please input month using intger:";
    t.intger_input(cin);
    t.intger_output(cout);
    cout<<"please iuput month using letter:";
    n.letter_input(cin);
    n.letter_output(cout);
    cout<<"next month is:";
    month next();
    return 0;
}
month::month(int m)
{
    if(m>12||m<1)
    exit(1);
}
void month::intger_input(istream& ins)
{
    ins>>m;
}
void month::letter_input(istream& ins)
{
  
    ins>>n;
}
void month::intger_output(ostream& outs)
{
    outs<<m<<endl;
}
void month::letter_output(ostream& outs)//outpit
{
    outs<<n<<endl;
}
month month::next()
{
    month next_month;
    next_month.m=m+1;
    next_month.n=n+1;

    return next_month;
}

板凳


今天想了想又有思路了,你可以定义一个成员函数用case1()。。。。
case2。。。。
。。。
break;结构,肯定能实现

3 楼

深圳市华信群英科技有限公司与知名通信软件公司正式签订定向输送人才的合作协议
针对想进入IT软件行业的有志人士提供专业的企业内训
实训课程采用“2+3”分段教学模式,分为2个月理论强化和3个月项目实训两个阶段
实训前就签订就业安置协议,岗前实训后入职
不仅学费优惠而且是企业定向培训定向招聘,百分百保证就业
有意向请登录www.szctt.com,或加QQ:1179397962做详细咨询

4 楼


恩,好的,非常感激,我回头试试看!!!

5 楼

不错 不错, 写的不错

我来回复

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