【发布时间】:2017-03-01 18:08:29
【问题描述】:
我目前正在编写一个成绩计算器,它可以将 3 个考试成绩相加,并根据平均成绩给你一个字母成绩。到目前为止,除了一件事之外,我已经能够毫无问题地编写所有代码。在这个计算器中,我添加了一个复选框,如果选中该复选框,该复选框会降低最低成绩并平均取最高 2 分。我几周前才开始编程,不知道如何开始编码。我应该使用 if 语句还是循环?如果你们对消除不必要的代码或其他任何东西有任何提示,请随时指出。
public frmGradeCalculator()
{
InitializeComponent();
}
private void chkDropLowest_CheckedChanged(object sender, EventArgs e)
{
}
private void btnClear_Click(object sender, EventArgs e)
{
// Clear Text
txtTest1.Clear();
txtTest2.Clear();
txtTest3.Clear();
txtAverage.Clear();
txtLetterGrade.Clear();
// Set Focus
txtTest1.Focus();
}
private void btnCalculate_Click(object sender, EventArgs e)
{
// Declare variables
byte bytTest1;
byte bytTest2;
byte bytTest3;
float fltAverage;
string strLetterGrade = "F";
// Convert to text
if (byte.TryParse(txtTest1.Text, out bytTest1))
{
}
else
{
MessageBox.Show("Invalid Number!",
"Yancarlos Grade Calculator",
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
txtTest1.Focus();
return;
}
if (byte.TryParse(txtTest2.Text, out bytTest2))
{
}
else
{
MessageBox.Show("Invalid Number!",
"Yancarlos Grade Calculator",
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
txtTest2.Focus();
return;
}
if (byte.TryParse(txtTest3.Text, out bytTest3))
{
}
else
{
MessageBox.Show("Invalid Number!",
"Yancarlos Grade Calculator",
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
txtTest3.Focus();
return;
}
// Formula
fltAverage = (bytTest1 + bytTest2 + bytTest3) / 3;
if (fltAverage <= 59.9)
{
strLetterGrade = "F";
}
else if (fltAverage <= 63.9)
{
strLetterGrade = "D-";
}
else if (fltAverage <= 66.9)
{
strLetterGrade = "D";
}
else if (fltAverage <= 69.9)
{
strLetterGrade = "D+";
}
else if (fltAverage <= 73.9)
{
strLetterGrade = "C-";
}
else if (fltAverage <= 76.9)
{
strLetterGrade = "C";
}
else if (fltAverage <= 79.9)
{
strLetterGrade = "C+";
}
else if (fltAverage <= 83.9)
{
strLetterGrade = "B-";
}
else if (fltAverage <= 86.9)
{
strLetterGrade = "B";
}
else if (fltAverage <= 89.9)
{
strLetterGrade = "B+";
}
else if (fltAverage <= 93.9)
{
strLetterGrade = "A-";
}
else if (fltAverage <= 96.9)
{
strLetterGrade = "A";
}
else
{
strLetterGrade = "A+";
}
// convert back to user
txtAverage.Text = fltAverage.ToString("f1");
txtLetterGrade.Text = strLetterGrade.ToString();
}
private void btnExit_Click(object sender, EventArgs e)
{
// Exit application
Application.Exit();
}
private void frmGradeCalculator_Load(object sender, EventArgs e)
{
}
}
}
【问题讨论】:
标签: c# calculator