2012-06-28 50 views
-1

背景顯示的最高和最低的數字:
,因爲我一直在研究與試驗這對於一些這是13小時前更新。我是新來的這個編程領域,所以我會很短,我教我自己C#

而且我正試圖學習如何從用戶的輸入到文本框中的整數從button1_Click得到計算出現在形成。是的,這是一個班級任務,但我認爲我有一些好處,但不是全部;這就是我轉向你們的原因。C#的GUI應用程序,存儲陣列,並通過點擊一個按鈕

問題:
我使用Microsoft Visual Studio 2010中的C#語言,Windows窗體應用程序,我需要創建一個圖形用戶界面,允許用戶在將被存儲在一個名爲10個的陣列整數值輸入來自button_Click對象。這些值將顯示用戶輸入的最高和最低值。唯一的事情是數組必須在Click()方法之上聲明。

這是我想出迄今:「System.Convert」不包含一個定義:

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行顯示一個錯誤信息,我不能運行這個程序'x'另外我還必須有一個數組,它可以保存來自文本框的10個整數,並在Click()方法之上聲明。請大家,對我有幫助嗎?這是昨天到期的。

+0

有兩件事你必須做。對於輸入的每個數字,將其從字符串轉換爲int並將其存儲在數組中的第一個未使用的索引處。輸入十個數字後,您必須遍歷數組並設置最小和最大變量。如果你有這兩項任務,並回到我們遇到的任何問題,我們可以提供幫助。這裏的人可能不想爲你做功課。 – TheEvilPenguin

+1

你說你在獲取數組值時出現問題。您尚未填充陣列。什麼不工作,你有什麼特別的麻煩,你有什麼嘗試? –

+0

如果您在評論中放置代碼時遇到問題,可以將其編輯到底部的問題中。 – TheEvilPenguin

回答

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]; 
// } 
//} 
0

這很可能是一個作業,我不會提供整個解決方案,只是提供一個提示。

對我來說,任務似乎是如何接受10個整數,然後顯示最小和最大的一個。爲此,不需要維護一個數組(僅當維護一個數組本身不是問題的一部分時才需要)。你只需要跟蹤當前的最小值和當前的最大值。

當您接收到輸入時,將其與當前的最小值和最大值進行比較,並相應地更新它們。例如

if(num < curr_min) curr_min = num;