2015-04-16 83 views
-3

我正在製作一個WPF程序來確定需要多少小時來製作一定數量的麪包。C#wpf文本框,而

我需要用戶輸入

  • 他們想要做
  • 他們可以創造出每小時麪包

和它應該給有多少個小時,結果能力的麪包量麪包已經烘烤並且在那個小時烘焙的容量因此對於容量爲50的130片面包,結果將是

1-50 
2-50 
3-50 

我相信問題出在我的while循環中,但我不完全確定問題是什麼。 目前我沒有得到所需的輸出,雖然程序會編譯。

private void btnStart_Click(object sender, RoutedEventArgs e) 
{ 
    int Bread = 0; 
    int Capacity = 0; 
    int Time = 0; 
    int InitialTime = 0; 
    Bread = int.Parse(txtBread.Text); 
    Time = int.Parse(txtTime.Text); 
    InitialTime = int.Parse(txtInitialTime.Text); 
    Capacity = int.Parse(txtCapacity.Text); 

    while (Bread > 0) 
    { 
     if (Bread > Capacity) 
     { 
      Bread -= Capacity; 
      txtResult.Text = txtResult.Text + "\n" + (Bread - Capacity).ToString(); 
      InitialTime += Time; 
      txtResult.Text = txtResult.Text + "\n" + (Bread - Capacity).ToString(); 
     } 

     else 
     { 
      Bread -= Capacity; 
      txtResult.Text += Bread.ToString(); 
      InitialTime += Time; 
     } 
} 

謝謝大家:)

+0

什麼任何這有一個'while'循環做?你告訴了我們一些你想要做的事情,但沒有發現它有什麼問題,所以我們很難告訴你問題在哪裏。 –

+0

綁定是你的朋友 – kmcnamee

+1

歡迎來到Stack Overflow!目前還不清楚你在這裏問什麼。看看[如何問](stackoverflow.com/help/how-to-ask)。 –

回答

0

好吧,我知道你已經問這個,我想幫助你,但你的問題是很難理解我顯然沒有。

因此,while循環看起來不錯,除了結果沒有意義,因爲我不知道你想要什麼。

我將嘗試將您的問題轉化爲我瞭解的內容,然後向您展示結果應該是什麼樣子,但不是它們是什麼。它看起來像你想的麪包已被作出的時間量,並相應小時的容量

string printString = ""; 
int totalTime = 0; 
int timeInterval = 1; 
while (Bread > 0) 
{ 
    if (Bread > Capacity) 
    { 
     Bread -= Capacity; 
     totalTime += timeInterval; 
     printString += string.Format("{0} - {1}\n", totalTime, Capacity); 
    } 

    else 
    { 
     Bread -= Capacity; 
     totalTime += timeInterval; 
     printString += string.Format("{0} - {1}", totalTime, Capacity); 
     txtResult.text = printString; 
    } 
} 

這將運行While循環當面包是大於0,則進入if語句,如果有面包的面積比麪包的數量要多 ,並且每次通過循環時,麪包的容量都會減少,並增加一小時的時間。

通過麪包的最後一次運行將小於容量,它將通過else語句運行,然後將printString放在結果文本框中,它將使麪包小於0並結束循環。

如果這不是你想要的,那麼你需要更清楚你需要什麼幫助。

我還想在上面的代碼塊中說明,我只寫了我使用的變量,因爲您尚未聲明所以如果它們仍在代碼中使用,則不要取出所有其他變量。

我做了一個完整的程序看,如果你仍然有問題

CLASS

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Data; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Imaging; 
using System.Windows.Navigation; 
using System.Windows.Shapes; 

namespace WpfApplication7 
{ 
/// <summary> 
/// Interaction logic for MainWindow.xaml 
/// </summary> 
public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     int bread = Convert.ToInt32(txtBread.Text); 
     int capacity = Convert.ToInt32(txtCapacity.Text); 
     string printString = ""; 
     int totalTime = 0; 
     int timeInterval = 1; 
     while (bread > 0) 
     { 
      if (bread > capacity) 
      { 
       bread -= capacity; 
       totalTime += timeInterval; 
       printString += string.Format("{0} - {1}\n", totalTime, capacity); 
      } 

      else 
      { 
       bread -= capacity; 
       totalTime += timeInterval; 
       printString += string.Format("{0} - {1}", totalTime, capacity); 
       txtResult.Text = printString; 
      } 
     } 
    } 
} 
} 

XAML

<Window x:Class="WpfApplication7.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <TextBox HorizontalAlignment="Left" Height="23" Margin="69,42,0,0" TextWrapping="Wrap" Name="txtBread" Text="" VerticalAlignment="Top" Width="120"/> 
     <TextBox HorizontalAlignment="Left" Height="23" Margin="69,70,0,0" TextWrapping="Wrap" Name="txtCapacity" Text="" VerticalAlignment="Top" Width="120"/> 
     <TextBox HorizontalAlignment="Left" Height="255" Margin="221,42,0,0" TextWrapping="Wrap" Name="txtResult" Text="" VerticalAlignment="Top" Width="177"/> 
     <Button Content="Button" HorizontalAlignment="Left" Margin="114,98,0,0"  VerticalAlignment="Top" Width="75" Click="Button_Click"/> 

    </Grid> 
</Window> 
+0

感謝Scriven,其確實是我之前問過的,但我沒有沒有得到任何答案,我再次張貼,我明白,這個問題不是很清楚,但我是在編程領域新的,非常感謝:) – progrkito

+0

這是否幫助你,還是有一些你還沒有理解? – Scriven

+0

另外我有一個問題,爲什麼在我的代碼後,一些糾正代碼,現在我點擊按鈕後,結果只是零 – progrkito