2016-09-19 17 views
-1

int変数で10進数を格納するアルゴリズムを使用しています。そして、私は2つの10進数を合計する必要があります。ですから、私は変換コードの複製を避けることができますし、別の記憶変数だけで同じ変換コードで関数を使用することはできますか?同じコードで同じコードを同じコードで実行するC#関数

namespace structSimple 
{ 
    class Program 
    { 

     struct decimalanBroj 
     { 
      public int cijeliDio; 
      public int decimalanDio; 
      public int potencija; 
     }; 

     static decimalanBroj baze() 
     { 
      String number = "100"; 
      int fromBase = 16; 
      int toBase = 10; 

      String result = Convert.ToString(Convert.ToInt32(number, fromBase), toBase); 
     } 

     static void Main(string[] args) 
     { 
      decimalanBroj d = new decimalanBroj(); 
      decimalanBroj e = new decimalanBroj(); 


      Console.WriteLine("Unesite cijeli dio broj: "); 
      d.cijeliDio = Convert.ToInt32(Console.ReadLine()); 
      Console.WriteLine("Unesite decimalna dio broj: "); 
      d.decimalanDio = Convert.ToInt32(Console.ReadLine()); 
      d.potencija = d.decimalanDio.ToString().Length; 
      Console.WriteLine(d.cijeliDio + (d.decimalanDio * (Math.Pow(10, -d.potencija)))); 


      Console.WriteLine("Unesite cijeli dio broj2: "); 
      e.cijeliDio = Convert.ToInt32(Console.ReadLine()); 
      Console.WriteLine("Unesite decimalna dio broj2: "); 
      e.decimalanDio = Convert.ToInt32(Console.ReadLine()); 
      e.potencija = e.decimalanDio.ToString().Length; 


      Console.WriteLine("Zbroj dva broja: {0}", 
       (d.cijeliDio + (d.decimalanDio * (Math.Pow(10, -d.potencija)))) + 
       (e.cijeliDio + (e.decimalanDio * (Math.Pow(10, -e.potencija))))); 




     } 
    } 
} 
+1

これはコンパイルされません: '静的decimalanBroj baze()'値を返す必要があります。 –

答えて

0

あなたの計算を行う方法でクラスにあなたの構造体を変更することができます:

public class decimalanBroj 
{ 
    public int cijeliDio; 
    public int decimalanDio; 
    public int potencija; 

    public int Calculate() 
    { 
     return cijeliDio + (decimalanDio * (Math.Pow(10, -potencija)); 
    } 
}; 

は今、あなたは、コードのすべての時間をコピーせずに、あなたのcalulationを行うことができます。

decimalanBroj d = new decimalanBroj(); 
... 
d.Calculate(); 
+1

私があなただったら、 'd.Calculate();'の結果を変数に代入する方法を彼に示します。彼は、さまざまな変数の入力に関数を再利用する方法を尋ねています。実際の問題は、関数のパラメータが何であるかを知らないことです。彼自身の機能から価値を戻して何かに割り当てることができるということを彼が知る方法はありません。 –

0

あなたのためにそれを行う方法を追加してください:

static decimalanBroj GetDecimalanBroj() 
    { 
    var d = new decimalanBroj(); 
     Console.WriteLine("Unesite cijeli dio broj: "); 
     d.cijeliDio = Convert.ToInt32(Console.ReadLine()); 
     Console.WriteLine("Unesite decimalna dio broj: "); 
     d.decimalanDio = Convert.ToInt32(Console.ReadLine()); 
     d.potencija = d.decimalanDio.ToString().Length; 
     Console.WriteLine(d.cijeliDio + (d.decimalanDio * (Math.Pow(10, -d.potencija)))); 
     return d; 

    } 

は次に、このようにメイン()でメソッドを呼び出します。

 decimalanBroj d = GetDecimalanBroj(); 
     decimalanBroj e = GetDecimalanBroj(); 
関連する問題