2017-07-06 67 views
0

我真的不習慣用任何編程語言創建表單,而且我仍然在學習中。目前,我有一個涉及Form in C++的作業。家庭作業幫助 - 在表單上檢查數據按鈕

我會感謝您的幫助,因爲我習慣於使用win32代碼而不是Form。即使它與我目前學習的語言相同,但我覺得自己就像一個完全陌生的人。

下面是問題: 在按鈕btn_calculate中,編寫可驗證輸入銷售額的代碼格式是否正確(雙)。如果給出了錯誤的輸入類型,則顯示一個彈出窗口,顯示錯誤消息「請僅輸入數量」。通過將6%的商品和服務稅添加到輸入的銷售額來計算總支付金額。用給出的信息顯示標籤lbl_total中的總金額。

問題: 在按鈕btn_calculate中,寫入可以驗證輸入銷售額的代碼格式是否正確(雙)。

我對如何解決這個問題毫無頭緒,但是我已經完成了除問題第一句外的其餘問題的編碼。

這是我能想出的邏輯,但我知道這是錯誤的:

for (int i = 0; i < txtbox_amount->MaxLength; i++) 
     { 
      if (txtbox_amount[i] == 'A' /*until*/ 'Z' /*capital and lower case character*/) 
      { 
       //throw 0; 
      } 
     } 

這是問題的我的整個邏輯:

private: System::Void btn_calculate_Click(System::Object^ sender, System::EventArgs^ e) { 

    try 
    { 
     for (int i = 0; i < txtbox_amount->MaxLength; i++) 
     { 
      if (txtbox_amount[i] == 'A' /*until*/ 'Z' /*capital and lower case character*/) 
      { 
       //throw 0; 
      } 
     }   

     double amount = Convert::ToDouble(txtbox_amount->Text); 

     if (amount > 0) 
     { 
      double total = amount * 1.06; 
      lbl_total->Text = "The total payment amount is RM" + total; 
     } 
     else 
     { 
      throw 1; 
     } 
    } 
    catch (int errorNum) 
    { 
     if (errorNum = 0) 
     { 
      MessageBox::Show("Please enter amount in number only", "Error", 
      MessageBoxButtons::OKCancel, 
      MessageBoxIcon::Error); 
     } 
     else if (errorNum = 1) 
     { 
      MessageBox::Show("Negative input! Try again.", "Error", 
      MessageBoxButtons::OKCancel, 
      MessageBoxIcon::Error); 
     }   
    } 
} 

我真的很感激你就如何解決這個問題提供幫助和建議,以便我今後能夠改進。謝謝

回答

0

首先,MaxLength DOC:

獲取或設置可手動輸入到文本框中的最大字符數。

如果你希望得到您的文本框的內容的長度,你必須從usethe返回Textbox::TextString^財產Length

接下來你要檢查是否txtbox_amount->Text[i] >= 'A' && txtbox_amount->Text[i] <= 'Z'和小寫字母一樣。

+0

謝謝你對此的幫助,你介意更多關於使用從Textbox :: Text和一些僞代碼返回的字符串長度的屬性?在win32中,如果涉及數組,我總是使用sizeof(array)/ sizeoff(array [0])。 另外,當我嘗試編輯檢查部分時,轉換代碼變成了錯誤,並且轉換沒有高亮顯示爲不同的顏色。背後有理由嗎? double amount = Convert :: ToDouble(txtbox_amount-> Text); – user3765453

+0

我無法解釋這比參考更好:https://msdn.microsoft.com/en-us/library/system.string(v=vs.110).aspx。字符串是一個對象(你不關心如何實現,如果使用數組),並且你知道這個對象具有'length'屬性,你可以把它看作你的字符數組的大小,但是它更復雜,你肯定需要一本手冊。 –

+0

好吧,我想我有Length屬性的想法,但現在,我仍然堅持如何爲它編寫代碼,因爲我幾乎不知道大多數C++語法。我寫的是這樣的:if(int i = 0; i user3765453