1

我正在为我的第一个学校作业创建一个基本的 C++ 代码,它只需要我创建一个程序,以小时、分钟和秒为单位请求时间,并将其转换为相当于以秒为单位的时间;非常基础。

我认为我得到的错误是因为我可能滥用了 struct 函数。

在多次尝试调整后得到相同的错误:“预期的主表达式在 â.â 标记之前”,我决定尝试没有结构的代码;只需用 float h,m,s,et 定义它们并用该名称调用它们:cin >> h >> m >> s;。它有效。这就是为什么我认为错误与我使用 struct 函数有关。

这是短代码:

#include <iostream>

using namespace std;

int main() {

struct time {
 int hour;
 int minute;
 int second;
 int elapsedTime;
};

cout << "Enter a Time in the Format: HH MM SS: ";

cin >> time.hour >> time.minute >> time.second;

time.elapsedTime = ((time.hour*360)+(time.minute*60)+time.second);

cout << "The Amount of Time Elasped is: " << time.elapsedTime << " seconds." << endl;

return 0;

}

上述错误在代码的第 16 行出现了 3 次,在第 20 行出现了一次。

第 18 行的另一个错误是:“expected unqualified-id before â.â token”。

任何帮助将不胜感激。我拒绝看教授发布的答案。

感谢您的时间 :)

4

4 回答 4

3

和:

struct time {
 int hour;
 int minute;
 int second;
 int elapsedTime;
};

您刚刚声明了结构的结构。您必须实例化它的一个实例:

time mytime;
cin >> mytime.hour;
cin >> mytime.minute;
cin >> mytime.second;
于 2012-09-15T14:47:42.363 回答
0

你不需要一个结构;只需将时间的三个组成部分放在单独的变量中并做一些算术运算。但是如果你真的想使用结构体,请记住结构体的定义会创建一个新类型。你的那部分代码很好。完成后,您需要创建该类型的变量:

time data;

然后您可以访问字段,如data.hour, data.minute, data.second.

于 2012-09-15T14:48:15.163 回答
0

struct time是一种数据类型。您需要的是该类型的变量:

struct time t;

cin >> t.hour >> t.minute >> t.second;
于 2012-09-15T14:48:40.580 回答
0

顺便说一句,一小时有3600秒

于 2012-09-15T14:48:51.090 回答