Я пытаюсь написать простой калькулятор на C#, где пользователь вводит процент веса и веса тела, и программа сообщает им свою массу тела. Когда отладка всегда кажется, что их скудная масса тела так же, как их вес ведет меня верить, что getBodyfatAmount возвращается 0.Метод Возвращение нуля в C#
namespace Fitness_Calcualtors
{
public partial class Lean_Body_Mass : PhoneApplicationPage
{
int bodyWeight, bodyFatPercentage, leanBodyMass, bodyFatAmount;
public Lean_Body_Mass()
{
InitializeComponent();
}
private int getBodyfatAmount()
{
bodyFatAmount = ((bodyFatPercentage/100) * bodyWeight);
return bodyFatAmount;
}
private void convertInput()
{
bodyWeight = Convert.ToInt32(bodyweightTextBox.Text);
bodyFatPercentage = Convert.ToInt32(bodyFatTextBox.Text);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
if (kilogramsRadioButton.IsChecked ==true)
{
convertInput();
getBodyfatAmount();
leanBodyMass = (bodyWeight - bodyFatAmount);
resultTextBox.Text = leanBodyMass.ToString() + " Kilos";
}
else if (poundsRadioButton.IsChecked == true)
{
convertInput();
getBodyfatAmount();
leanBodyMass = (bodyWeight - bodyFatAmount);
resultTextBox.Text = leanBodyMass.ToString() + " Lbs";
}
}
}
}
Какие значения, введенные в 'bodyweightTextBox' и 'bodyFatTextBox', когда' getBodyfatAmount() 'возвращает' 0'? –
Вы должны подумать об этом: 'int bodyWeight, bodyFatPercentage, leanBodyMass, bodyFatAmount;' doubles вместо ints – DGibbs
Я предполагаю, что, поскольку вы делите int, который, вероятно, меньше 100, когда он усекает десятичную, он уходит 0. попробуйте изменить все свои переменные на двойной – jonhopkins