这是我的函数定义,用于根据两个出价之间的关系计算拍卖中的获胜者。它没有带出正确的“winningBid”,并且即使没有满足这些条件,它也经常跳到 printErrorMessage 4。
void calcWinner(string bidder1, string bidder2, string lotName,
double bid1, double bid2, double reservePrice)
{
double winningBid;
string winningBidder;
if (bid2<reservePrice && bid1<reservePrice)
printErrorMessage(4);
else if (bid2>=reservePrice && bid1>=reservePrice)
{
if (bid2<bid1){
winningBid=bid2+.50;
winningBidder=bidder1;}
else if (bid2>=bid1 && bid2<(bid1+.50)){
winningBidder=bidder1;
winningBid=bid1;}
else if (bid2>(bid1+.50)){
winningBidder=bidder2;
winningBid=(bid1+.50);}
}
else if (bid2>reservePrice && bid1>=reservePrice){
winningBidder=bidder1;
winningBid=reservePrice;}
else if (bid2>=reservePrice && bid1<reservePrice){
winningBidder=bidder2;
winningBid=bid2;}
printWinner(winningBidder, lotName, winningBid);
}