私は迷惑な問題にぶち当たっています。私が取り組んでいる問題は、私が最初にcin >> statement
に-1と入力すると、私はそれが欲しいのと同じように終了しません。簡単な質問。私の "While"ループに問題があります
私はその悪い癖を話されたので、私はループ内で"break"
を使用しないようにしています。
FYI moveOnはtrueに初期化されます。ここ はコードです:
while(moveOn){
cout << "Enter info:";
cin >> weight;
if(weight == -1){
moveOn = false;
}
weight = pack.weight;
cin >> pack.sides[0] >> pack.sides[1] >> pack.sides[2];
while(pack.weight > 0 || pack.sides[0] < 0 || pack.sides[1] < 0 || pack.sides[2] < 0){
cout << "Enter Vaild info:";
cin >> pack.weight >> pack.sides[0] >> pack.sides[1] >> pack.sides[2];
}
girth = getGirth(pack.sides);
float price;
price = getPackageAmount(pack.weight, weights, prices);
cout << price << endl;
if(pack.weight <= 50){
if(pack.sides[0] <= 36 && pack.sides[1] <= 36 && pack.sides[2] <= 36){
if(girth <= 60){
pack.accepted = true;
accepted++;
}
}
}
else{
pack.accepted = false;
rejected++;
}
}
は、事前にありがとうございます。
使用 '続ける:
あなたが
else
句を追加する必要があります。 – MikeCAT'weight = pack.weight;'はおそらく 'pack.weight = weight;'でなければなりません。これはおそらくこれが機能していない理由です。 –
「私はそれが欲しいのと同じように、中断しない」 - それはどういう意味ですか?あなたはすぐにそれを「中断」したいですか?もしそうなら、まだその下にあるすべてのステートメントが実行されていることがあります。この場合、あなたは@MikeCATのアドバイスに従うことができます。 –