回線の反対側の接続を確認するためにどのような条件が使用されているのか疑問に思いました。
ケース1:コンピューターが番号をダイヤルし、人間が電話を手に取ると、コンピューターが切断され、次の電話番号に移動します。
ケース2:コンピューターが番号をダイヤルし、モデムが応答すると、コンピューターが切断され、その番号がコンピューターとして記録されます。
これにはどのようなif/elseステートメントが使用されますか?
回線の反対側の接続を確認するためにどのような条件が使用されているのか疑問に思いました。
ケース1:コンピューターが番号をダイヤルし、人間が電話を手に取ると、コンピューターが切断され、次の電話番号に移動します。
ケース2:コンピューターが番号をダイヤルし、モデムが応答すると、コンピューターが切断され、その番号がコンピューターとして記録されます。
これにはどのようなif/elseステートメントが使用されますか?
もちろん、これに似たものを使用して、再帰的に行うこともできます...
void TryNumber(int _number)
{
if(_number > m_maxNumber) return; // exit out from the method if we've gone over our max number to dial
DialNumber(_number);
if(m_modemToneDetected) m_modemList.Add(number); // add number to a list if it's a modem
TryNumber(_number + 1); // and back in to the method again!
}
m_modemToneDetectedは、DialNumber()の呼び出し中に調整されるブール値です。
while(currentNumber < numbersToDial)
{
DialNumber(number)
if(ModemToneDetected)
{
// it's a computer
AddNumberToList(number);
}
else
{
// it's not a computer
}
}