簡體   English   中英

關於結構的基本C ++的探討

[英]Enquiry about Basic C++ Regarding Structs

我正在為我的第一個學校作業創建一個基本的C ++代碼,它只需要我創建一個程序,要求以小時,分鍾和秒為單位的時間,並轉換相當於以秒為單位的時間; 非常基本的。

我認為我得到的錯誤是因為我可能濫用struct函數。

在得到相同的錯誤之后:經過多次調整試驗后,“在'令牌之前預期的主表達式”,我決定嘗試不帶結構的代碼; 簡單地用float,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行中的另一個錯誤是:“在令牌之前預期的非限定id”。

任何幫助將不勝感激。 我拒絕查看教授發布的答案。

感謝您的時間 :)

附:

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

你剛剛聲明了你的結構的結構。 您必須實例化它的實例:

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

你不需要這個結構; 只需在單獨的變量中獲取時間的三個組成部分並進行一些算術運算。 但是如果你真的想要使用結構,請記住結構的定義會創建一個新類型。 那段代碼很好。 完成后,您需要創建該類型的變量:

time data;

然后您可以訪問字段,如data.hourdata.minutedata.second

struct time是一種數據類型。 你需要的是這種類型的變量:

struct time t;

cin >> t.hour >> t.minute >> t.second;

順便說一下,一小時有3600秒

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM