2016-08-27 19 views
-2

私はデータベースに保存された毎月のトランザクションの可変数を持っています。私は、0-100取引、すべての取引に1€、101-200 2€、それぞれ201〜300 3€などのような構造で支払いを計算しなければなりません。 、次の100回の取引で200ユーロを支払います。ここまでは簡単でしたが、閾値は(3つ前の例では)しきい値の数が可変であり、時には3であり、他の時間は2,4,5などになる可能性があるため問題になります。これらのしきい値は、データベースのテーブルに格納されます。してください、誰かが私を助けることができます。前もって感謝します。データベースに格納されたしきい値で反復する

+3

*してください、誰かが私を助けることができます...何を手伝って?あなたの終わりには何の努力もありません。 – Rahul

+2

Q:データベースは何ですか? RDBMS? MS SqlServer? Q:トランセッションはどのように注文されますか?たとえば、トランザクションレコードに日付/時刻フィールドがありますか? Q:「閾値」はどう定義されていますか?あなたは私たちに "選択"を見せてくれますか? Q:*あなたは米国のあるコードを表示できますか???? – paulsm4

+0

「しきい値の数」は何を意味しますか?あなたの例では3つありました、0-100,101-200、201-300を参照していますか?あなたが「等」と言ったので、私は301-400、401-500もあると理解しています...それとも、3つの閾値で、3ユーロは201-無限大の意味ですか?ところで、 "助けてください"と言っているのは、ここではあまり勧められません。また、あなたは何が必要ですか?特定の取引数があれば、それに対応する支払いを計算しますか?または蓄積された支払い?つまり、102の場合は、「2」または「104」が欲しいですか? – Andrew

答えて

0

データベースの各しきい値について、LOWERとUPPERの境界と価格(0,100,1)、(101,200,2)、(201,300,3)が表示されます。

ロード私はあなたの限られた質問をもとに、あなたのためにできる最善のことだ各上下を含む部材と、価格

List<int[]> thresholds = new List<int[]> 
thresholds.Add(new int[]{0,100,1}); 
thresholds.Add(new int[]{101,200,2);//etc. 

private void calculateTotal(int numberSold){ 
    int total =0; 
    foreach(int[] bound in thresholds){ 
     if(numberSold>=bound[0]&&numberSold<=bound[1]{ 
      total+= bound[2]*numberSold; 
     } 
    } 
    return total; 
} 

とリストへのしきい値。これで遊んでください。問題がある場合は、作成したコードと特定の問題に基づいて特定の質問をしてください。

関連する問題