2017-01-04 14 views
0

私は入力番号の立方体を計算する簡単なプログラムを作っています。私は与えられた数に1からの結果を配列したいが、ラベルコントロールを操作する方法はしない。C#Windowsフォームでラベルの結果を配列する方法

int num = 0; 
int cube; 
string result; 

private void input() 
{ 
    num = Convert.ToInt32(txtn­um.Text); 
} 

Private void btncompute_Click(obj­ect sender, EventArgs e){ 
    input(); 
    int i = 0; 
    do 
    { 
     cube = num * num * num ; 
     i++; 
     result = i + " and cube of the " + i + " is :" + cube; 
    } while (i < num); 

    lbloutput.Text = result; 
} 

ここでの唯一の出力は、入力数の立方体である:

は、ここに私のコードです。私はインデックス0から結果を取得し、配列を介してラベルに表示したい。例えば、入力3のために、出力はこのようなものでなければなりません:

1と1の立方体1 ... 3で、3の立方体は27

ある

あなたの助けが大幅になります感謝。ありがとうございました。

+0

コードの書式を訂正してください。実際のコードを投稿するだけ!質問は何ですか??各行に改行を追加することができます。それ以外の問題はどこですか? – TaW

+0

'result'は既に' lbloutput.Text = result; 'を実行できる文字列です。 – wdosanjos

+0

私はSirを参照してください。私はすでにそれを変更しました。ありがとうございます。 @ wdosanjos – curiosycar

答えて

0

いくつかのこと、現在のロジックはあなたが望むものを提供しません。

  1. numではなく、例えばnum = 3の場合、キューブは常に27になります。出力に基づいて、すべてのキューブがあなたの番号を含めて最大になります。あなたは、私が<ので、あなたがNUMを含めるようにループを変更する必要がありますを意味し、また、NUMのキューブを計算したい0
  2. から開始され、私は他の、1から開始し、最初は1に設定したい
  3. = NUM​​
は、次のようにコードを変更し

int num = 0; 
int cube; 
string result = String.Empty; 

private void input() 
{ 
    num = Convert.ToInt32(txtn­um.Text); 
} 

private void btncompute_Click(obj­ect sender, EventArgs e) 
{ 
    input(); 

    int i = 1; 

    do 
    { 
     cube = i* i* i; 

     result = result + String.Format("{0} and cube of the {0} is : {1}\r\n", i, cube); 

     i++; 
    } 
    while (i <= num); 

    lbloutput.Text = result.ToString(); 
} 
+0

あなたは** private **(小文字のp)を意味します、そうですか? – wdosanjos

+0

@curiosycar、はい、私はユーザーのコードをコピーしました。 – user7351608

+0

こんにちは。私の質問にお返事いただきありがとうございます。編集する前に最初のコードを試しましたが、既に繰り返しステートメントがありますが、同じキューブしか返さないのです。その後、この1つは動作しません。私は変数numをiで置き換えたと思います。キューブの配列変数を宣言する必要はありませんか?またはキューブのすべてのインデックスの値を取得する何か@Kweku – curiosycar

0

あなたの問題の最大の部分は、ラベルが複数行のテキストを表示するための適切な制御ではないということです。コンテンツのサイズに基づいてサイズやスクロールは行われません。おそらく、複数行のテキストボックスを使用する方が良いでしょう。編集可能(ラベルなど)にしたくない場合は、読み取り専用にすることができます。その場合

、あなたは既存のテキストをクリアする

mytextBox.Clear()ループの前に

を呼び出したいでしょう。ループ内に結果文字列を作成した後、

としてください。mytextbox.AppendText(result);

コンテンツに次の反復を追加します。

実装は読者の練習として残しました;

関連する問題