[英]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.hour
, data.minute
, data.second
。
struct time
是一種數據類型。 你需要的是這種類型的變量:
struct time t;
cin >> t.hour >> t.minute >> t.second;
順便說一下,一小時有3600秒
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.