#include<iostream>
using namespace std;
struct workspace {
int ID;
int price;
int incoming_amount;
int outgoing_amount;
int date;
};
int main()
{
workspace works[5];
string type_amount;
int incoming_IDs[5];
int incoming_IDs_counter = 0;
for(int i = 0; i < 5; i++){
cin >> works[i].ID;
cin >> works[i].price;
cout << "What type of amount (inc/out)?" << endl;
cin >> type_amount;
if(type_amount == "inc"){
incoming_IDs[incoming_IDs_counter] = works[i].ID;
incoming_IDs_counter++;
works[i].outgoing_amount = 0;
cin >> works[i].incoming_amount;
}
else if(type_amount == "out"){
works[i].incoming_amount = 0;
cin >> works[i].outgoing_amount;
}
cin >> works[i].date;
}
return 0;
}
從不同的索引元素這是到目前爲止我的代碼,現在我要檢查以下內容:我怎樣才能比較結構
確認ID已添加到它進入的量,在它可以是一個外向量之前。
確保收到金額的價格小於傳出金額。
所以,我的工作是第一個,我得到這個功能:
bool INC_Exists(workspace &works, int &incoming_IDs_counter, int incoming_IDs[]){
for(int i = 0; i < incoming_IDs_counter; i++){
if(incoming_IDs[i] == works.ID){
return true;
break;
}
}
return false;
}
看來工作和做這項工作,但對於第二個,我不知道該怎麼解決它。如何有效檢查即將離任的金額是否小於同一ID的入金額?
修正了上次更新的sifra部分。現在讓我解釋第二件事。當我們輸入「工程」時,我們有類型的輸入或輸出的類型,如果它是輸入的,那麼它的輸出量= 0。輸入的數量也有特定的價格和輸出量。如果價格大於具有相同ID的收入金額,我需要檢查輸入金額的輸入。 (incoming_amount.price
user3182683
問題是,當輸入傳出量時,數組可能沒有元素收到的金額和相同的ID。它可以稍後出現(它會出現)。所以我不明白這個要求。 –
這只是一個示例代碼(爲了更容易理解,80%的代碼被剪切掉),所以第一個要求就是因爲這個。在執行第一個之後,我必須做第二個,這是我的主要問題。我不知道如何實現這一點。 – user3182683