C#GUI应用程序,用于存储数组并通过单击按钮显示最高和最低数字

时间:2012-06-28 01:46:08

标签: c#

背景:
这是从13个小时前更新的,因为我一直在研究和试验这个。我是这个编程领域的新手,所以我会很简短,我在教自己C#

我正在努力学习如何将用户输入的整数转换成文本框来计算按钮1_单击以显示在表单上。是的,这是一个班级任务,但我认为我对其中的一些有很好的处理,但不是全部;这就是我转向你们的原因。

问题:
我在C#语言,Windows Forms应用程序中使用Microsoft Visual Studio 2010,我需要创建一个GUI,允许用户输入10个整数值,这些值将存储在一个从button_Click对象调用的数组中。这些值将显示用户输入的最高和最低值。唯一的事情是必须在Click()方法之上声明数组。

这是我到目前为止所提出的:

namespace SmallAndLargeGUI
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public void inputText_TextChanged(object sender, EventArgs e)
        {
            this.Text = inputText.Text;
        }

        public void submitButton_Click(object sender, EventArgs e)
        {
            int userValue; 
            if(int.TryParse(inputText.Text, out userValue)) 
        { 

        } 
        else 
        {
            MessageBox.Show("Please enter a valid integer into the text box.");
        } 


            int x;
            x = Convert.x.ToString();
            int squaredResults = squared(x);
            int cubedResults = cubed(x); squared(x);
            squaredLabel.Text = x.ToString() + " squared is " + squaredResults.ToString();
            cubedLabel.Text = x.ToString() + " cubed is " + cubedResults.ToString();
        }
        public static int squared(int x)
        {
            x = x * x;
            return x;
        }
        public static int cubed(int x)
        {
            x = x * squared(x);
            return x;    
        }
    }
}

现在我无法运行此程序,因为第38行显示错误消息:'System.Convert'不包含'x'的定义。另外,我仍然需要一个包含10个整数的数组来自文本框和在Click()方法上面声明。伙计们,对我有什么帮助吗?这是昨天到期的。

2 个答案:

答案 0 :(得分:0)

这看起来像是家庭作业,所以你应该尝试一下。您可以执行以下操作:解析字符串(例如,它是以逗号分隔的数字列表),将每个值转换为int并填充数组。您可以调用.Max() / .Min()方法或循环遍历数组的值并获取最大/最小值。这是一些代码:

int n = 10;
int[] numbers = (from sn in System.Text.RegularExpressions.Regex.Split(inputText.Text, @"\s*,\s*") select int.Parse(sn)).ToArray();
int max = numbers.Max();
int min = numbers.Min();
//int max = numbers[0];
//int min = numbers[0];
//for(int i = 1; i < n; i++)
//{
//    if(max < numbers[i])
//    {
//        max = numbers[i];
//    }
//    if(min > numbers[i])
//    {
//        min = numbers[i];
//    }
//}

答案 1 :(得分:0)

这很可能是作业,我不会提供完整的解决方案,只是提供一个提示。

对我来说,任务似乎是对某些人如何接受10个整数,然后显示最小和最大的整数。为此,不需要维护一个数组(只有在维护一个数组本身不是问题的一部分时才需要)。您只需要跟踪当前的最小值和当前最大值。

当您收到输入时,将其与当前的最小值和最大值进行比较,并相应地更新它们。 e.g。

if(num < curr_min) curr_min = num;