2014-10-10 66 views
0

我需要一些僞代碼的幫助。現在的問題是:尋求與僞代碼的幫助

一個函數寫的僞代碼,processPayment()的客戶處理 支付系統承諾提供所承諾的 的產品和服務。該功能可能會調用其他功能, 可能來自其他對象。您不必描述被調用的 函數或它們所屬的類,只要調用 合理地解釋。

當客戶 等待信貸審批時,會顯示廣告。 (即,你可以假設的是,雖然功能 等待信用卡審批完成後,下一步將立即開始 。)

廣告是隻要信用承兌或收到 拒絕刪除。您可以假定用戶已經輸入了 信用卡信息,並且知道每個選項的成本。

我有這樣的僞代碼:

processPayment() 
    do displayAdContent(); 
    while paymentConfirmation(bool) = false; 

我一直在想,我需要processPayment後的東西()。任何指導將不勝感激!

回答

1

您需要比「processPayment()之後的東西多得多」。我會做這樣的事情:

ProcessPayment() 
{ 
    if(paymentIsValid) 
    { 
     do displayAdContent(); 

     if(isInInventory()) 
     { 
     try 
     { 
      do createAndChargeOrder(); 
      do deliverProduct(); 
      do updateInventory(); 
     } 
     catch 
     { 
      do cancelOrder(); 
      do sendFailedOrderNotification(); 
     } 
     } 
     else 
     { 
     do notifyNotAvailable(); 
     do offerSimilarProduct(); 
     } 

     do sendConfirmation(); 
    } 
    else 
    { 
     do paymentNotValid(); 
    } 
}