Хорошо я знаю, что вы уже спрашивали об этом, и я пытался помочь вам, но ваш вопрос так трудно понять, я, видимо, не было.
Итак, цикл 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, он будет ввести, если заявление, если есть по-прежнему больше хлеба, чем количество хлеба, которое вы можете сделать , и каждый раз через цикл он будет потреблять емкость с хлеба и добавлять час к тому времени.
В последнем проходе через хлеб будет меньше емкости, и он будет работать через инструкцию 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>
Что все это нужно сделать с 'while' цикла ? Вы сказали нам немного о том, что вы пытаетесь сделать, но не в том, что с ним не так, поэтому нам сложно сказать вам, где проблема. –
переплет - ваш друг – kmcnamee
Добро пожаловать в переполнение стека!Непонятно, что вы спрашиваете здесь. Проверьте [Как спросить] (stackoverflow.com/help/how-to -ask). –