我想創建一個程序,讓我在十個不同的文本框中輸入十個不同的數字,然後稍後將這些輸入的數字按升序或降序排序。 Windows窗體應用程序設計中有十個文本框,一個名爲「Sort」的按鈕(可根據您選擇的單選按鈕對數字進行排序的按鈕)和兩個名爲「Ascending」和「Descending」的單選按鈕。該設計還有10個標籤,其中在用戶點擊排序按鈕之後將顯示已排序的數字。但是,我發現有關實際編碼本身的麻煩,我考慮使用嵌套for循環,但無法處理條件。現在我已經使用了一個支持多個if else語句的數組。將10個輸入數字按升序和降序排列
這裏是我的C#Windows窗體應用程序代碼:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Sort
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
}
private void btnSort_Click(object sender, EventArgs e)
{
int num1, num2, num3, num4, num5, num6, num7, num8, num9, num10;
num1 = int.Parse(textBox1.Text);
num2 = int.Parse(textBox2.Text);
num3 = int.Parse(textBox3.Text);
num4 = int.Parse(textBox4.Text);
num5 = int.Parse(textBox5.Text);
num6 = int.Parse(textBox6.Text);
num7 = int.Parse(textBox7.Text);
num8 = int.Parse(textBox8.Text);
num9 = int.Parse(textBox9.Text);
num10 = int.Parse(textBox10.Text);
if (radioButton1.Checked == true)
{
int[] numbers = { num1, num2, num3, num4, num5, num6, num7, num8, num9, num10 };
//String[] display = { l1, l2, l3, l4, l5, l6, l7, l8, l9, l10 };
Array.Sort(numbers);
if (num1 <= num2)
{
label12.Text = textBox1.Text;
}
else if (num2 <= num3)
{
label13.Text = textBox2.Text;
}
else if (num3 <= num4)
{
label14.Text = textBox3.Text;
}
else if (num4 <= num5)
{
label15.Text = textBox4.Text;
}
else if (num5 <= num6)
{
label16.Text = textBox5.Text;
}
else if (num6 <= num7)
{
label21.Text = textBox6.Text;
}
else if (num7 <= num8)
{
label20.Text = textBox7.Text;
}
else if (num8 <= num9)
{
label19.Text = textBox8.Text;
}
else if (num9 <= num10)
{
label18.Text = textBox9.Text;
}
else if (num10 <= num1)
{
label17.Text = textBox10.Text;
}
}
}
}
}
特別是你卡在哪裏?哪部分不工作? –
其實,我已經運行了它,並沒有觸發我輸入的代碼。所以基本上,它不起作用。與我所做的嵌套for循環一樣,也許條件沒有被編碼,就像這個一樣。 – Raios
您可以在'btnSort_Click'的第一行放置一個斷點,然後運行它並查看代碼的運行方式。如果它甚至沒有打到,那麼事件沒有連接到按鈕。 –