将值从main函数插入到类变量中

时间:2013-12-26 14:20:46

标签: c++ class

这是我写的添加两个时间对象的代码,有人可以帮忙吗? 我希望用户输入时间并将它们加在一起。

请告诉我哪里出错了!请。

class time
{
    public: int hh,mm,ss;
};

int main()
{
    time t1;
    time t2;

    cout<<"Enter hour : "; 
    cin>>t1.hh;
    cout<<endl<<"Enter minutes : ";
    cin>>t1.mm;
    cout<<endl<<"Enter seconds : ";
    cin>>t1.ss;

    cout<<endl<<"Enter hour : ";
    cin>>t2.hh;
    cout<<endl<<"Enter minutes : ";
    cin>>t2.mm;
    cout<<endl<<"Enter seconds : ";
    cin>>t2.ss;

    cout<<endl;
    cout<<t1.hh<<":"<<t1.mm<<":"<<t1.ss;
    cout<<" + ";
    cout<<t2.hh<<":"<<t2.mm<<":"<<t2.ss;
    cout<<" = ";
    cout<<t1.hh+t2.hh<<":"<<t1.mm+t2.mm<<":"<<t1.ss+t2.ss;

    getch();
    return 0;
}

编译会产生以下错误:

  

main.cpp:13:错误:期待;' before 't1'
main.cpp:14: error: expected
;'在't2'之前   main.cpp:17:错误:在此范围内未声明't1'   main.cpp:24:错误:在此范围内未声明't2'

4 个答案:

答案 0 :(得分:0)

如果你提供错误会更容易。

但是,你当然应该改变

class t1;
class t2;

time t1;
time t2;

此外,您应该避免使用名称time,因为它是一个相当经典的function in c++。您可以致电您的班级Time,以确保读者不会误解您的代码。

当然,您也应该更改t1t2的声明。这意味着你可以尝试:

class Time
{
  public: int hh,mm,ss;
};

int main()
{
  Time t1;
  Time t2;
  [...]

答案 1 :(得分:0)

更改为:

int main()
{
    time t1;
    time t2;

此外,您在添加时间时也不会处理溢出(也就是说,您可以超过60秒):

time t3;
t3.hh = t1.hh + t2.hh;
t3.mm = t1.mm + t2.mm;
t3.ss = t1.ss + t2.ss;
if (t3.ss >= 60)
{
  t3.ss -= 60;
  t3.mm += 1;
}
if (t3.mm >= 60)
{
  t3.mm -= 60;
  t3.hh += 1;
}
cout << t3.hh << t3.mm << t3.ss << endl;

答案 2 :(得分:0)

我假设您没有显示以下行:

#include <iostream>
#include <stdlib.h>

using namespace std;

更改此行...

class t1;
class t2;

...到......

class time t1;
class time t2;

...你的程序应该编译。

此外,getchconio库的一部分,我出于某种原因没有这个库,因此我使用getchar代替:

getchar();
return 0;

答案 3 :(得分:0)

通过上面的提示汇总在一起,这应该编译并完成工作:

#include <iostream>
using namespace std;

class Time
{
    public: int hh,mm,ss;
};

int main()
{
    Time t1;
    Time t2;

    cout<<"Enter hour : "; 
    cin>>t1.hh;
    cout<<endl<<"Enter minutes : ";
    cin>>t1.mm;
    cout<<endl<<"Enter seconds : ";
    cin>>t1.ss;

    cout<<endl<<"Enter hour : ";
    cin>>t2.hh;
    cout<<endl<<"Enter minutes : ";
    cin>>t2.mm;
    cout<<endl<<"Enter seconds : ";
    cin>>t2.ss;

    cout<<endl;
    cout<<t1.hh<<":"<<t1.mm<<":"<<t1.ss;
    cout<<" + ";
    cout<<t2.hh<<":"<<t2.mm<<":"<<t2.ss;
    cout<<" = ";
    cout<<t1.hh+t2.hh<<":"<<t1.mm+t2.mm<<":"<<t1.ss+t2.ss;
    getchar();
    return 0;
}