#include #include "gensen.h" /*----- プライベイトメンバー -----*/ //給与所得控除後の金額を計算 void CGensenZei::Kojogo() { const double rdup = 0.9; double tmp; long kazei; kazei = mSalary - mKojo; if (kazei < 135416) tmp = 54167; if (kazei >= 135417 && kazei < 150000) tmp = kazei * 0.4 + rdup; if (kazei >= 150000 && kazei < 300000) tmp = kazei * 0.3 + 15000 + rdup; if (kazei >= 300000 && kazei < 550000) tmp = kazei * 0.2 + 45000 + rdup; if (kazei >= 550000 && kazei < 833334) tmp = kazei * 0.1 + 100000 + rdup; if (kazei >= 833334) tmp = kazei * 0.05 + 141667 + rdup; mSyotokukojo = (long)tmp; } //所得控除額を計算 void CGensenZei::Kojogaku() { const long kiso = 31667; long num = 1; mFuyokojo = kiso * (num + mNinzu); } //甲欄源泉徴収税の計算 void CGensenZei::Koran() { const int keta = 10; const double rd = 0.5; double tmp; long kazei; kazei = mSalary - (mKojo + mSyotokukojo + mFuyokojo); if (kazei < 275001) tmp = ((kazei * 0.08) / keta + rd); if (kazei >= 275001 && kazei < 658335) tmp = (kazei * 0.16 - 22000) / keta + rd; if (kazei >= 658335 && kazei < 750001) tmp = (kazei * 0.2 - 48334) / keta + rd; if (kazei >= 750001 && kazei < 1500001) tmp = (kazei * 0.3 - 123334) / keta + rd; if (kazei >= 1500001) tmp = (kazei * 0.37 - 228334) / keta + rd; if (kazei > 0) mZei = (long)tmp * keta; else mZei = 0; } //乙欄源泉徴収税の計算 void CGensenZei::Oturan() { const double ritu1 = 0.05;//87000円未満 const double ritu2 = 0.35;//1130000円超 const long kiso = 1130000;//1130000円超の計算基礎 const long kisozei = 392800;//1130000円超の計算基礎税額 long syotoku; long tmp; syotoku = mSalary - mKojo; if (syotoku < 87000) { tmp = (long)(syotoku * ritu1 / 100); mZei = tmp * 100; } if (syotoku >= 87000 && syotoku < 91000) mZei = 4900; if (syotoku >= 91000 && syotoku < 92000) mZei = 5000; if (syotoku >= 92000 && syotoku < 94000) mZei = 5100; if (syotoku >= 94000 && syotoku < 95000) mZei = 5200; if (syotoku >= 95000 && syotoku < 97000) mZei = 5300; if (syotoku >= 97000 && syotoku < 98000) mZei = 5400; if (syotoku >= 98000 && syotoku < 101000) mZei = 5500; if (syotoku >= 101000 && syotoku < 103000) mZei = 5700; if (syotoku >= 103000 && syotoku < 105000) mZei = 5800; if (syotoku >= 105000 && syotoku < 107000) mZei = 5900; if (syotoku >= 107000 && syotoku < 109000) mZei = 6000; if (syotoku >= 109000 && syotoku < 111000) mZei = 6100; if (syotoku >= 111000 && syotoku < 113000) mZei = 6200; if (syotoku >= 113000 && syotoku < 115000) mZei = 6300; if (syotoku >= 115000 && syotoku < 117000) mZei = 6400; if (syotoku >= 117000 && syotoku < 119000) mZei = 6600; if (syotoku >= 119000 && syotoku < 121000) mZei = 6700; if (syotoku >= 121000 && syotoku < 123000) mZei = 6800; if (syotoku >= 123000 && syotoku < 125000) mZei = 6900; if (syotoku >= 125000 && syotoku < 127000) mZei = 7100; if (syotoku >= 127000 && syotoku < 129000) mZei = 7300; if (syotoku >= 129000 && syotoku < 131000) mZei = 7400; if (syotoku >= 131000 && syotoku < 133000) mZei = 7600; if (syotoku >= 133000 && syotoku < 135000) mZei = 7700; if (syotoku >= 135000 && syotoku < 137000) mZei = 7900; if (syotoku >= 137000 && syotoku < 139000) mZei = 8000; if (syotoku >= 139000 && syotoku < 141000) mZei = 8200; if (syotoku >= 141000 && syotoku < 143000) mZei = 8300; if (syotoku >= 143000 && syotoku < 145000) mZei = 8500; if (syotoku >= 145000 && syotoku < 147000) mZei = 8600; if (syotoku >= 147000 && syotoku < 149000) mZei = 8800; if (syotoku >= 149000 && syotoku < 151000) mZei = 8900; if (syotoku >= 151000 && syotoku < 153000) mZei = 9100; if (syotoku >= 153000 && syotoku < 155000) mZei = 9200; if (syotoku >= 155000 && syotoku < 157000) mZei = 9400; if (syotoku >= 157000 && syotoku < 159000) mZei = 9500; if (syotoku >= 159000 && syotoku < 161000) mZei = 9700; if (syotoku >= 161000 && syotoku < 163000) mZei = 9800; if (syotoku >= 163000 && syotoku < 165000) mZei = 10000; if (syotoku >= 165000 && syotoku < 167000) mZei = 10100; if (syotoku >= 167000 && syotoku < 169000) mZei = 10300; if (syotoku >= 169000 && syotoku < 171000) mZei = 10400; if (syotoku >= 171000 && syotoku < 173000) mZei = 10600; if (syotoku >= 173000 && syotoku < 175000) mZei = 10700; if (syotoku >= 175000 && syotoku < 177000) mZei = 10900; if (syotoku >= 177000 && syotoku < 179000) mZei = 11200; if (syotoku >= 179000 && syotoku < 181000) mZei = 11700; if (syotoku >= 181000 && syotoku < 183000) mZei = 12200; if (syotoku >= 183000 && syotoku < 185000) mZei = 12700; if (syotoku >= 185000 && syotoku < 187000) mZei = 13100; if (syotoku >= 187000 && syotoku < 189000) mZei = 13600; if (syotoku >= 189000 && syotoku < 191000) mZei = 14100; if (syotoku >= 191000 && syotoku < 193000) mZei = 14500; if (syotoku >= 193000 && syotoku < 195000) mZei = 15000; if (syotoku >= 195000 && syotoku < 197000) mZei = 15500; if (syotoku >= 197000 && syotoku < 199000) mZei = 16000; if (syotoku >= 199000 && syotoku < 201000) mZei = 16400; if (syotoku >= 201000 && syotoku < 203000) mZei = 16900; if (syotoku >= 203000 && syotoku < 205000) mZei = 17300; if (syotoku >= 205000 && syotoku < 207000) mZei = 17800; if (syotoku >= 207000 && syotoku < 209000) mZei = 18200; if (syotoku >= 209000 && syotoku < 211000) mZei = 18700; if (syotoku >= 211000 && syotoku < 213000) mZei = 19100; if (syotoku >= 213000 && syotoku < 215000) mZei = 19600; if (syotoku >= 215000 && syotoku < 217000) mZei = 20000; if (syotoku >= 217000 && syotoku < 219000) mZei = 20500; if (syotoku >= 219000 && syotoku < 221000) mZei = 20900; if (syotoku >= 221000 && syotoku < 224000) mZei = 21400; if (syotoku >= 224000 && syotoku < 227000) mZei = 22200; if (syotoku >= 227000 && syotoku < 230000) mZei = 23000; if (syotoku >= 230000 && syotoku < 233000) mZei = 23800; if (syotoku >= 233000 && syotoku < 236000) mZei = 24600; if (syotoku >= 236000 && syotoku < 239000) mZei = 25400; if (syotoku >= 239000 && syotoku < 242000) mZei = 26200; if (syotoku >= 239000 && syotoku < 245000) mZei = 27000; if (syotoku >= 245000 && syotoku < 248000) mZei = 27700; if (syotoku >= 248000 && syotoku < 251000) mZei = 28500; if (syotoku >= 251000 && syotoku < 254000) mZei = 29300; if (syotoku >= 254000 && syotoku < 257000) mZei = 30100; if (syotoku >= 257000 && syotoku < 260000) mZei = 30900; if (syotoku >= 260000 && syotoku < 263000) mZei = 31700; if (syotoku >= 263000 && syotoku < 266000) mZei = 32500; if (syotoku >= 266000 && syotoku < 269000) mZei = 33300; if (syotoku >= 269000 && syotoku < 272000) mZei = 34100; if (syotoku >= 272000 && syotoku < 275000) mZei = 34900; if (syotoku >= 275000 && syotoku < 278000) mZei = 35700; if (syotoku >= 278000 && syotoku < 281000) mZei = 36500; if (syotoku >= 281000 && syotoku < 284000) mZei = 37300; if (syotoku >= 284000 && syotoku < 287000) mZei = 38000; if (syotoku >= 287000 && syotoku < 290000) mZei = 38800; if (syotoku >= 290000 && syotoku < 293000) mZei = 39600; if (syotoku >= 293000 && syotoku < 296000) mZei = 40400; if (syotoku >= 296000 && syotoku < 299000) mZei = 40900; if (syotoku >= 299000 && syotoku < 302000) mZei = 41400; if (syotoku >= 302000 && syotoku < 305000) mZei = 41900; if (syotoku >= 305000 && syotoku < 308000) mZei = 42400; if (syotoku >= 308000 && syotoku < 311000) mZei = 42900; if (syotoku >= 311000 && syotoku < 314000) mZei = 43400; if (syotoku >= 314000 && syotoku < 317000) mZei = 44000; if (syotoku >= 317000 && syotoku < 320000) mZei = 44500; if (syotoku >= 320000 && syotoku < 323000) mZei = 45000; if (syotoku >= 323000 && syotoku < 326000) mZei = 45500; if (syotoku >= 326000 && syotoku < 329000) mZei = 46000; if (syotoku >= 329000 && syotoku < 332000) mZei = 46500; if (syotoku >= 332000 && syotoku < 335000) mZei = 47000; if (syotoku >= 335000 && syotoku < 338000) mZei = 47500; if (syotoku >= 338000 && syotoku < 341000) mZei = 48100; if (syotoku >= 341000 && syotoku < 344000) mZei = 48600; if (syotoku >= 344000 && syotoku < 347000) mZei = 49200; if (syotoku >= 347000 && syotoku < 350000) mZei = 49800; if (syotoku >= 350000 && syotoku < 353000) mZei = 50300; if (syotoku >= 353000 && syotoku < 356000) mZei = 51200; if (syotoku >= 356000 && syotoku < 359000) mZei = 52000; if (syotoku >= 359000 && syotoku < 362000) mZei = 52900; if (syotoku >= 362000 && syotoku < 365000) mZei = 53700; if (syotoku >= 365000 && syotoku < 368000) mZei = 54600; if (syotoku >= 368000 && syotoku < 371000) mZei = 55400; if (syotoku >= 371000 && syotoku < 374000) mZei = 56200; if (syotoku >= 374000 && syotoku < 377000) mZei = 56900; if (syotoku >= 377000 && syotoku < 380000) mZei = 57700; if (syotoku >= 380000 && syotoku < 383000) mZei = 58500; if (syotoku >= 383000 && syotoku < 386000) mZei = 59300; if (syotoku >= 386000 && syotoku < 389000) mZei = 60000; if (syotoku >= 389000 && syotoku < 392000) mZei = 60900; if (syotoku >= 392000 && syotoku < 395000) mZei = 62400; if (syotoku >= 395000 && syotoku < 398000) mZei = 63900; if (syotoku >= 398000 && syotoku < 401000) mZei = 65300; if (syotoku >= 401000 && syotoku < 404000) mZei = 66800; if (syotoku >= 404000 && syotoku < 407000) mZei = 68300; if (syotoku >= 407000 && syotoku < 410000) mZei = 69800; if (syotoku >= 410000 && syotoku < 413000) mZei = 71300; if (syotoku >= 413000 && syotoku < 416000) mZei = 72800; if (syotoku >= 416000 && syotoku < 419000) mZei = 74300; if (syotoku >= 419000 && syotoku < 422000) mZei = 75800; if (syotoku >= 422000 && syotoku < 425000) mZei = 77300; if (syotoku >= 425000 && syotoku < 428000) mZei = 78700; if (syotoku >= 428000 && syotoku < 431000) mZei = 80200; if (syotoku >= 431000 && syotoku < 434000) mZei = 81700; if (syotoku >= 434000 && syotoku < 437000) mZei = 83200; if (syotoku >= 437000 && syotoku < 440000) mZei = 84700; if (syotoku >= 440000 && syotoku < 443000) mZei = 86200; if (syotoku >= 443000 && syotoku < 446000) mZei = 87700; if (syotoku >= 446000 && syotoku < 449000) mZei = 89200; if (syotoku >= 449000 && syotoku < 452000) mZei = 90700; if (syotoku >= 452000 && syotoku < 455000) mZei = 92200; if (syotoku >= 455000 && syotoku < 458000) mZei = 93600; if (syotoku >= 458000 && syotoku < 461000) mZei = 95100; if (syotoku >= 461000 && syotoku < 464000) mZei = 96600; if (syotoku >= 464000 && syotoku < 467000) mZei = 98100; if (syotoku >= 467000 && syotoku < 470000) mZei = 99600; if (syotoku >= 470000 && syotoku < 473000) mZei = 101100; if (syotoku >= 473000 && syotoku < 476000) mZei = 102600; if (syotoku >= 476000 && syotoku < 479000) mZei = 104100; if (syotoku >= 479000 && syotoku < 482000) mZei = 105600; if (syotoku >= 482000 && syotoku < 485000) mZei = 107000; if (syotoku >= 485000 && syotoku < 488000) mZei = 108500; if (syotoku >= 488000 && syotoku < 491000) mZei = 110000; if (syotoku >= 491000 && syotoku < 494000) mZei = 111500; if (syotoku >= 494000 && syotoku < 497000) mZei = 113000; if (syotoku >= 497000 && syotoku < 500000) mZei = 114500; if (syotoku >= 500000 && syotoku < 503000) mZei = 116000; if (syotoku >= 503000 && syotoku < 506000) mZei = 117500; if (syotoku >= 506000 && syotoku < 509000) mZei = 119000; if (syotoku >= 509000 && syotoku < 512000) mZei = 120500; if (syotoku >= 512000 && syotoku < 515000) mZei = 121900; if (syotoku >= 515000 && syotoku < 518000) mZei = 123400; if (syotoku >= 518000 && syotoku < 521000) mZei = 124900; if (syotoku >= 521000 && syotoku < 524000) mZei = 126400; if (syotoku >= 524000 && syotoku < 527000) mZei = 127900; if (syotoku >= 527000 && syotoku < 530000) mZei = 129400; if (syotoku >= 530000 && syotoku < 533000) mZei = 130900; if (syotoku >= 533000 && syotoku < 536000) mZei = 132400; if (syotoku >= 536000 && syotoku < 539000) mZei = 133900; if (syotoku >= 539000 && syotoku < 542000) mZei = 135300; if (syotoku >= 542000 && syotoku < 545000) mZei = 136800; if (syotoku >= 545000 && syotoku < 548000) mZei = 138300; if (syotoku >= 548000 && syotoku < 551000) mZei = 139800; if (syotoku >= 551000 && syotoku < 554000) mZei = 141300; if (syotoku >= 554000 && syotoku < 557000) mZei = 142800; if (syotoku >= 557000 && syotoku < 560000) mZei = 144300; if (syotoku >= 560000 && syotoku < 563000) mZei = 145700; if (syotoku >= 563000 && syotoku < 566000) mZei = 147200; if (syotoku >= 566000 && syotoku < 569000) mZei = 148600; if (syotoku >= 569000 && syotoku < 572000) mZei = 150100; if (syotoku >= 572000 && syotoku < 575000) mZei = 151500; if (syotoku >= 575000 && syotoku < 578000) mZei = 153000; if (syotoku >= 578000 && syotoku < 581000) mZei = 154400; if (syotoku >= 581000 && syotoku < 584000) mZei = 155900; if (syotoku >= 584000 && syotoku < 587000) mZei = 157300; if (syotoku >= 587000 && syotoku < 590000) mZei = 158600; if (syotoku >= 590000 && syotoku < 593000) mZei = 159900; if (syotoku >= 593000 && syotoku < 596000) mZei = 161200; if (syotoku >= 596000 && syotoku < 599000) mZei = 162500; if (syotoku >= 599000 && syotoku < 602000) mZei = 163700; if (syotoku >= 602000 && syotoku < 605000) mZei = 165000; if (syotoku >= 605000 && syotoku < 608000) mZei = 166300; if (syotoku >= 608000 && syotoku < 611000) mZei = 167600; if (syotoku >= 611000 && syotoku < 614000) mZei = 168900; if (syotoku >= 614000 && syotoku < 617000) mZei = 170200; if (syotoku >= 617000 && syotoku < 620000) mZei = 171400; if (syotoku >= 620000 && syotoku < 623000) mZei = 172700; if (syotoku >= 623000 && syotoku < 626000) mZei = 174000; if (syotoku >= 626000 && syotoku < 629000) mZei = 175300; if (syotoku >= 629000 && syotoku < 632000) mZei = 176600; if (syotoku >= 632000 && syotoku < 635000) mZei = 177800; if (syotoku >= 635000 && syotoku < 638000) mZei = 179100; if (syotoku >= 638000 && syotoku < 641000) mZei = 180400; if (syotoku >= 641000 && syotoku < 644000) mZei = 181700; if (syotoku >= 644000 && syotoku < 647000) mZei = 183000; if (syotoku >= 647000 && syotoku < 650000) mZei = 184300; if (syotoku >= 650000 && syotoku < 653000) mZei = 185300; if (syotoku >= 653000 && syotoku < 656000) mZei = 186100; if (syotoku >= 656000 && syotoku < 659000) mZei = 187000; if (syotoku >= 659000 && syotoku < 662000) mZei = 187800; if (syotoku >= 662000 && syotoku < 665000) mZei = 188700; if (syotoku >= 665000 && syotoku < 668000) mZei = 189500; if (syotoku >= 668000 && syotoku < 671000) mZei = 190400; if (syotoku >= 671000 && syotoku < 674000) mZei = 191200; if (syotoku >= 674000 && syotoku < 677000) mZei = 192100; if (syotoku >= 677000 && syotoku < 680000) mZei = 192900; if (syotoku >= 680000 && syotoku < 683000) mZei = 193800; if (syotoku >= 683000 && syotoku < 686000) mZei = 194700; if (syotoku >= 686000 && syotoku < 689000) mZei = 195500; if (syotoku >= 689000 && syotoku < 692000) mZei = 196400; if (syotoku >= 692000 && syotoku < 695000) mZei = 197200; if (syotoku >= 695000 && syotoku < 698000) mZei = 198100; if (syotoku >= 698000 && syotoku < 701000) mZei = 198900; if (syotoku >= 701000 && syotoku < 704000) mZei = 199800; if (syotoku >= 704000 && syotoku < 707000) mZei = 200600; if (syotoku >= 707000 && syotoku < 710000) mZei = 201900; if (syotoku >= 710000 && syotoku < 713000) mZei = 203300; if (syotoku >= 713000 && syotoku < 716000) mZei = 204600; if (syotoku >= 716000 && syotoku < 719000) mZei = 206000; if (syotoku >= 719000 && syotoku < 722000) mZei = 207300; if (syotoku >= 722000 && syotoku < 725000) mZei = 208700; if (syotoku >= 725000 && syotoku < 728000) mZei = 210000; if (syotoku >= 728000 && syotoku < 731000) mZei = 211400; if (syotoku >= 731000 && syotoku < 734000) mZei = 212700; if (syotoku >= 734000 && syotoku < 737000) mZei = 214100; if (syotoku >= 737000 && syotoku < 740000) mZei = 215400; if (syotoku >= 740000 && syotoku < 743000) mZei = 216800; if (syotoku >= 743000 && syotoku < 746000) mZei = 218100; if (syotoku >= 746000 && syotoku < 749000) mZei = 219500; if (syotoku >= 749000 && syotoku < 752000) mZei = 220900; if (syotoku >= 752000 && syotoku < 755000) mZei = 222200; if (syotoku >= 755000 && syotoku < 758000) mZei = 223600; if (syotoku >= 758000 && syotoku < 761000) mZei = 224900; if (syotoku >= 761000 && syotoku < 764000) mZei = 226300; if (syotoku >= 764000 && syotoku < 767000) mZei = 227600; if (syotoku >= 767000 && syotoku < 770000) mZei = 229000; if (syotoku >= 770000 && syotoku < 773000) mZei = 230300; if (syotoku >= 773000 && syotoku < 776000) mZei = 231700; if (syotoku >= 776000 && syotoku < 779000) mZei = 233000; if (syotoku >= 779000 && syotoku < 782000) mZei = 234400; if (syotoku >= 782000 && syotoku < 785000) mZei = 235700; if (syotoku >= 785000 && syotoku < 788000) mZei = 237100; if (syotoku >= 788000 && syotoku < 791000) mZei = 238500; if (syotoku >= 791000 && syotoku < 794000) mZei = 239800; if (syotoku >= 794000 && syotoku < 797000) mZei = 241200; if (syotoku >= 797000 && syotoku < 800000) mZei = 242500; if (syotoku >= 800000 && syotoku < 803000) mZei = 243900; if (syotoku >= 803000 && syotoku < 806000) mZei = 245200; if (syotoku >= 806000 && syotoku < 809000) mZei = 246600; if (syotoku >= 809000 && syotoku < 812000) mZei = 247900; if (syotoku >= 812000 && syotoku < 815000) mZei = 249300; if (syotoku >= 815000 && syotoku < 818000) mZei = 250600; if (syotoku >= 818000 && syotoku < 821000) mZei = 252000; if (syotoku >= 821000 && syotoku < 824000) mZei = 253300; if (syotoku >= 824000 && syotoku < 827000) mZei = 254700; if (syotoku >= 827000 && syotoku < 830000) mZei = 256100; if (syotoku >= 830000 && syotoku < 833000) mZei = 257400; if (syotoku >= 833000 && syotoku < 836000) mZei = 258800; if (syotoku >= 836000 && syotoku < 839000) mZei = 260100; if (syotoku >= 839000 && syotoku < 842000) mZei = 261500; if (syotoku >= 842000 && syotoku < 845000) mZei = 264200; if (syotoku >= 845000 && syotoku < 851000) mZei = 265500; if (syotoku >= 851000 && syotoku < 854000) mZei = 266900; if (syotoku >= 854000 && syotoku < 857000) mZei = 268200; if (syotoku >= 857000 && syotoku < 860000) mZei = 269600; if (syotoku >= 860000 && syotoku < 863000) mZei = 270900; if (syotoku >= 863000 && syotoku < 866000) mZei = 272300; if (syotoku >= 866000 && syotoku < 869000) mZei = 273600; if (syotoku >= 869000 && syotoku < 872000) mZei = 275000; if (syotoku >= 872000 && syotoku < 875000) mZei = 276400; if (syotoku >= 875000 && syotoku < 878000) mZei = 277700; if (syotoku >= 878000 && syotoku < 881000) mZei = 279100; if (syotoku >= 881000 && syotoku < 884000) mZei = 280400; if (syotoku >= 884000 && syotoku < 887000) mZei = 281800; if (syotoku >= 887000 && syotoku < 890000) mZei = 283100; if (syotoku >= 890000 && syotoku < 893000) mZei = 284500; if (syotoku >= 893000 && syotoku < 896000) mZei = 285800; if (syotoku >= 896000 && syotoku < 899000) mZei = 287200; if (syotoku >= 899000 && syotoku < 902000) mZei = 288500; if (syotoku >= 902000 && syotoku < 905000) mZei = 289900; if (syotoku >= 905000 && syotoku < 908000) mZei = 291200; if (syotoku >= 908000 && syotoku < 911000) mZei = 292600; if (syotoku >= 911000 && syotoku < 914000) mZei = 294000; if (syotoku >= 914000 && syotoku < 917000) mZei = 295300; if (syotoku >= 917000 && syotoku < 920000) mZei = 296700; if (syotoku >= 920000 && syotoku < 923000) mZei = 298000; if (syotoku >= 923000 && syotoku < 926000) mZei = 299400; if (syotoku >= 926000 && syotoku < 929000) mZei = 300700; if (syotoku >= 929000 && syotoku < 932000) mZei = 302100; if (syotoku >= 932000 && syotoku < 935000) mZei = 303400; if (syotoku >= 935000 && syotoku < 938000) mZei = 304800; if (syotoku >= 938000 && syotoku < 941000) mZei = 306100; if (syotoku >= 941000 && syotoku < 944000) mZei = 307500; if (syotoku >= 944000 && syotoku < 947000) mZei = 308800; if (syotoku >= 947000 && syotoku < 950000) mZei = 310200; if (syotoku >= 950000 && syotoku < 953000) mZei = 311600; if (syotoku >= 953000 && syotoku < 956000) mZei = 312900; if (syotoku >= 956000 && syotoku < 959000) mZei = 314300; if (syotoku >= 959000 && syotoku < 962000) mZei = 315600; if (syotoku >= 962000 && syotoku < 965000) mZei = 317000; if (syotoku >= 965000 && syotoku < 968000) mZei = 318300; if (syotoku >= 968000 && syotoku < 971000) mZei = 319700; if (syotoku >= 971000 && syotoku < 974000) mZei = 321000; if (syotoku >= 974000 && syotoku < 980000) mZei = 323700; if (syotoku >= 980000 && syotoku < 983000) mZei = 325100; if (syotoku >= 983000 && syotoku < 986000) mZei = 326400; if (syotoku >= 968000 && syotoku < 989000) mZei = 327800; if (syotoku >= 989000 && syotoku < 992000) mZei = 329200; if (syotoku >= 992000 && syotoku < 995000) mZei = 330500; if (syotoku >= 995000 && syotoku < 998000) mZei = 331900; if (syotoku >= 998000 && syotoku < 1001000) mZei = 333200; if (syotoku >= 1001000 && syotoku < 1004000) mZei = 334600; if (syotoku >= 1004000 && syotoku < 1007000) mZei = 335900; if (syotoku >= 1007000 && syotoku < 1010000) mZei = 337300; if (syotoku >= 1010000 && syotoku < 1013000) mZei = 338600; if (syotoku >= 1013000 && syotoku < 1016000) mZei = 340000; if (syotoku >= 1016000 && syotoku < 1019000) mZei = 341300; if (syotoku >= 1019000 && syotoku < 1022000) mZei = 342700; if (syotoku >= 1022000 && syotoku < 1025000) mZei = 344000; if (syotoku >= 1025000 && syotoku < 1028000) mZei = 345400; if (syotoku >= 1028000 && syotoku < 1031000) mZei = 346800; if (syotoku >= 1031000 && syotoku < 1034000) mZei = 348100; if (syotoku >= 1034000 && syotoku < 1037000) mZei = 349500; if (syotoku >= 1037000 && syotoku < 1040000) mZei = 350800; if (syotoku >= 1040000 && syotoku < 1043000) mZei = 352200; if (syotoku >= 1043000 && syotoku < 1046000) mZei = 353500; if (syotoku >= 1046000 && syotoku < 1049000) mZei = 354900; if (syotoku >= 1049000 && syotoku < 1052000) mZei = 356200; if (syotoku >= 1052000 && syotoku < 1055000) mZei = 357600; if (syotoku >= 1055000 && syotoku < 1058000) mZei = 358900; if (syotoku >= 1058000 && syotoku < 1061000) mZei = 360300; if (syotoku >= 1061000 && syotoku < 1064000) mZei = 361600; if (syotoku >= 1064000 && syotoku < 1067000) mZei = 363000; if (syotoku >= 1067000 && syotoku < 1070000) mZei = 364400; if (syotoku >= 1070000 && syotoku < 1073000) mZei = 365700; if (syotoku >= 1073000 && syotoku < 1076000) mZei = 367100; if (syotoku >= 1076000 && syotoku < 1079000) mZei = 368400; if (syotoku >= 1079000 && syotoku < 1082000) mZei = 369800; if (syotoku >= 1082000 && syotoku < 1085000) mZei = 371100; if (syotoku >= 1085000 && syotoku < 1088000) mZei = 372500; if (syotoku >= 1088000 && syotoku < 1091000) mZei = 373800; if (syotoku >= 1091000 && syotoku < 1094000) mZei = 375200; if (syotoku >= 1094000 && syotoku < 1097000) mZei = 376500; if (syotoku >= 1097000 && syotoku < 1100000) mZei = 377900; if (syotoku >= 1100000 && syotoku < 1103000) mZei = 379200; if (syotoku >= 1103000 && syotoku < 1106000) mZei = 380600; if (syotoku >= 1106000 && syotoku < 1109000) mZei = 381900; if (syotoku >= 1109000 && syotoku < 1112000) mZei = 383300; if (syotoku >= 1112000 && syotoku < 1115000) mZei = 384700; if (syotoku >= 1115000 && syotoku < 1118000) mZei = 386000; if (syotoku >= 1118000 && syotoku < 1121000) mZei = 387400; if (syotoku >= 1121000 && syotoku < 1124000) mZei = 388700; if (syotoku >= 1124000 && syotoku < 1127000) mZei = 390100; if (syotoku >= 1127000 && syotoku < 1130000) mZei = 391400; if (syotoku == 1130000) mZei = 392800; if (syotoku > 1130000) { tmp = (long)(((syotoku - kiso) * ritu2) /100); mZei = kisozei + tmp * 100; } } //甲欄賞与源泉徴収税の計算 void CGensenZei::BonusKoran() { double ritu; long kiso, kazei, tmp; kazei = mSalary - mSyaho; kiso = mSalary - mKojo; switch (mNinzu) { case 0: if (kazei < 65000) ritu = 0; if (kazei >= 65000 && kazei < 71000) ritu = 0.02; if (kazei >= 71000 && kazei < 77000) ritu = 0.04; if (kazei >= 77000 && kazei < 85000) ritu = 0.06; if (kazei >= 85000 && kazei < 371000) ritu = 0.08; if (kazei >= 371000 && kazei < 410000) ritu = 0.1; if (kazei >= 410000 && kazei < 498000) ritu = 0.12; if (kazei >= 498000 && kazei < 682000) ritu = 0.14; if (kazei >= 682000 && kazei < 715000) ritu = 0.16; if (kazei >= 715000 && kazei < 749000) ritu = 0.18; if (kazei >= 749000 && kazei < 786000) ritu = 0.2; if (kazei >= 786000 && kazei < 827000) ritu = 0.22; if (kazei >= 827000 && kazei < 875000) ritu = 0.24; if (kazei >= 875000 && kazei < 951000) ritu = 0.26; if (kazei >= 951000 && kazei < 1331000) ritu = 0.28; if (kazei >= 1331000 && kazei < 1471000) ritu = 0.3; if (kazei >= 1471000 && kazei < 1745000) ritu = 0.32; if (kazei >= 1745000) ritu = 0.35; break; case 1: if (kazei < 89000) ritu = 0; if (kazei >= 89000 && kazei < 98000) ritu = 0.02; if (kazei >= 98000 && kazei < 115000) ritu = 0.04; if (kazei >= 115000 && kazei < 365000) ritu = 0.06; if (kazei >= 365000 && kazei < 401000) ritu = 0.08; if (kazei >= 401000 && kazei < 438000) ritu = 0.1; if (kazei >= 438000 && kazei < 498000) ritu = 0.12; if (kazei >= 498000 && kazei < 704000) ritu = 0.14; if (kazei >= 704000 && kazei < 739000) ritu = 0.16; if (kazei >= 739000 && kazei < 774000) ritu = 0.18; if (kazei >= 774000 && kazei < 813000) ritu = 0.2; if (kazei >= 813000 && kazei < 856000) ritu = 0.22; if (kazei >= 856000 && kazei < 906000) ritu = 0.24; if (kazei >= 906000 && kazei < 983000) ritu = 0.26; if (kazei >= 983000 && kazei < 1356000) ritu = 0.28; if (kazei >= 1356000 && kazei < 1498000) ritu = 0.3; if (kazei >= 1498000 && kazei < 1778000) ritu = 0.32; if (kazei >= 1778000) ritu = 0.35; break; case 2: if (kazei < 123000) ritu = 0; if (kazei >= 123000 && kazei < 140000) ritu = 0.02; if (kazei >= 140000 && kazei < 248000) ritu = 0.04; if (kazei >= 248000 && kazei < 393000) ritu = 0.06; if (kazei >= 393000 && kazei < 427000) ritu = 0.08; if (kazei >= 427000 && kazei < 466000) ritu = 0.1; if (kazei >= 466000 && kazei < 514000) ritu = 0.12; if (kazei >= 514000 && kazei < 725000) ritu = 0.14; if (kazei >= 725000 && kazei < 763000) ritu = 0.16; if (kazei >= 763000 && kazei < 800000) ritu = 0.18; if (kazei >= 800000 && kazei < 839000) ritu = 0.2; if (kazei >= 839000 && kazei < 886000) ritu = 0.22; if (kazei >= 886000 && kazei < 937000) ritu = 0.24; if (kazei >= 937000 && kazei < 1016000) ritu = 0.26; if (kazei >= 1016000 && kazei < 1382000) ritu = 0.28; if (kazei >= 1382000 && kazei < 1526000) ritu = 0.3; if (kazei >= 1526000 && kazei < 1811000) ritu = 0.32; if (kazei >= 1811000) ritu = 0.35; break; case 3: if (kazei < 159000) ritu = 0; if (kazei >= 159000 && kazei < 180000) ritu = 0.02; if (kazei >= 180000 && kazei < 248000) ritu = 0.04; if (kazei >= 248000 && kazei < 417000) ritu = 0.06; if (kazei >= 417000 && kazei < 452000) ritu = 0.08; if (kazei >= 452000 && kazei < 494000) ritu = 0.1; if (kazei >= 494000 && kazei < 545000) ritu = 0.12; if (kazei >= 545000 && kazei < 747000) ritu = 0.14; if (kazei >= 747000 && kazei < 787000) ritu = 0.16; if (kazei >= 787000 && kazei < 825000) ritu = 0.18; if (kazei >= 825000 && kazei < 867000) ritu = 0.2; if (kazei >= 867000 && kazei < 915000) ritu = 0.22; if (kazei >= 915000 && kazei < 968000) ritu = 0.24; if (kazei >= 968000 && kazei < 1048000) ritu = 0.26; if (kazei >= 1048000 && kazei < 1407000) ritu = 0.28; if (kazei >= 1407000 && kazei < 1554000) ritu = 0.3; if (kazei >= 1554000 && kazei < 1844000) ritu = 0.32; if (kazei >= 1844000) ritu = 0.35; break; case 4: if (kazei < 195000) ritu = 0; if (kazei >= 195000 && kazei < 219000) ritu = 0.02; if (kazei >= 219000 && kazei < 248000) ritu = 0.04; if (kazei >= 248000 && kazei < 441000) ritu = 0.06; if (kazei >= 441000 && kazei < 478000) ritu = 0.08; if (kazei >= 478000 && kazei < 522000) ritu = 0.1; if (kazei >= 522000 && kazei < 579000) ritu = 0.12; if (kazei >= 579000 && kazei < 769000) ritu = 0.14; if (kazei >= 769000 && kazei < 811000) ritu = 0.16; if (kazei >= 811000 && kazei < 851000) ritu = 0.18; if (kazei >= 851000 && kazei < 895000) ritu = 0.2; if (kazei >= 895000 && kazei < 944000) ritu = 0.22; if (kazei >= 944000 && kazei < 999000) ritu = 0.24; if (kazei >= 999000 && kazei < 1081000) ritu = 0.26; if (kazei >= 1081000 && kazei < 1432000) ritu = 0.28; if (kazei >= 1432000 && kazei < 1582000) ritu = 0.3; if (kazei >= 1582000 && kazei < 1877000) ritu = 0.32; if (kazei >= 1877000) ritu = 0.35; break; case 5: if (kazei < 228000) ritu = 0; if (kazei >= 228000 && kazei < 254000) ritu = 0.02; if (kazei >= 254000 && kazei < 286000) ritu = 0.04; if (kazei >= 286000 && kazei < 465000) ritu = 0.06; if (kazei >= 465000 && kazei < 504000) ritu = 0.08; if (kazei >= 504000 && kazei < 551000) ritu = 0.1; if (kazei >= 551000 && kazei < 610000) ritu = 0.12; if (kazei >= 610000 && kazei < 790000) ritu = 0.14; if (kazei >= 790000 && kazei < 836000) ritu = 0.16; if (kazei >= 836000 && kazei < 877000) ritu = 0.18; if (kazei >= 877000 && kazei < 923000) ritu = 0.2; if (kazei >= 923000 && kazei < 973000) ritu = 0.22; if (kazei >= 973000 && kazei < 1030000) ritu = 0.24; if (kazei >= 1030000 && kazei < 1114000) ritu = 0.26; if (kazei >= 1114000 && kazei < 1457000) ritu = 0.28; if (kazei >= 1457000 && kazei < 1610000) ritu = 0.3; if (kazei >= 1610000 && kazei < 1910000) ritu = 0.32; if (kazei >= 1910000) ritu = 0.35; break; case 6: if (kazei < 259000) ritu = 0; if (kazei >= 259000 && kazei < 288000) ritu = 0.02; if (kazei >= 288000 && kazei < 324000) ritu = 0.04; if (kazei >= 324000 && kazei < 488000) ritu = 0.06; if (kazei >= 488000 && kazei < 530000) ritu = 0.08; if (kazei >= 530000 && kazei < 582000) ritu = 0.1; if (kazei >= 582000 && kazei < 640000) ritu = 0.12; if (kazei >= 640000 && kazei < 812000) ritu = 0.14; if (kazei >= 812000 && kazei < 861000) ritu = 0.16; if (kazei >= 861000 && kazei < 903000) ritu = 0.18; if (kazei >= 903000 && kazei < 950000) ritu = 0.2; if (kazei >= 950000 && kazei < 1002000) ritu = 0.22; if (kazei >= 1002000 && kazei < 1061000) ritu = 0.24; if (kazei >= 1061000 && kazei < 1146000) ritu = 0.26; if (kazei >= 1146000 && kazei < 1482000) ritu = 0.28; if (kazei >= 1482000 && kazei < 1638000) ritu = 0.3; if (kazei >= 1638000 && kazei < 1943000) ritu = 0.32; if (kazei >= 1943000) ritu = 0.35; break; case 7: if (kazei < 289000) ritu = 0; if (kazei >= 289000 && kazei < 322000) ritu = 0.02; if (kazei >= 322000 && kazei < 363000) ritu = 0.04; if (kazei >= 363000 && kazei < 512000) ritu = 0.06; if (kazei >= 512000 && kazei < 556000) ritu = 0.08; if (kazei >= 556000 && kazei < 610000) ritu = 0.1; if (kazei >= 610000 && kazei < 669000) ritu = 0.12; if (kazei >= 669000 && kazei < 834000) ritu = 0.14; if (kazei >= 834000 && kazei < 886000) ritu = 0.16; if (kazei >= 886000 && kazei < 930000) ritu = 0.18; if (kazei >= 930000 && kazei < 978000) ritu = 0.2; if (kazei >= 978000 && kazei < 1032000) ritu = 0.22; if (kazei >= 1032000 && kazei < 1092000) ritu = 0.24; if (kazei >= 1092000 && kazei < 1179000) ritu = 0.26; if (kazei >= 1179000 && kazei < 1508000) ritu = 0.28; if (kazei >= 1508000 && kazei < 1665000) ritu = 0.3; if (kazei >= 1665000 && kazei < 1976000) ritu = 0.32; if (kazei >= 1976000) ritu = 0.35; break; default:ritu = 0; } tmp = (kiso * ritu) / 10; mZei = (long)tmp * 10; } //乙欄賞与源泉徴収税の計算 void CGensenZei::BonusOturan() { double ritu; long kiso, kazei, tmp; kazei = mSalary - mSyaho; kiso = mSalary - mKojo; if (kazei < 278000) ritu = 0.1; if (kazei >= 278000 && kazei < 510000) ritu = 0.2; if (kazei >= 510000 && kazei < 563000) ritu = 0.3; if (kazei >= 563000) ritu = 0.35; tmp = (kiso * ritu) / 10; mZei = (long)tmp * 10; } /*----- パブリックメンバー -----*/ //コンストラクタ CGensenZei::CGensenZei() { //プロパティ初期化 mSalary = 0; mKojo = 0; mSyaho = 0; mSyotokukojo = 0; mFuyokojo; mZei = 0; mNinzu = 0; } //デストラクタ CGensenZei::~CGensenZei() { } /*給与源泉徴収税を計算 *lSalary:課税支給額 *lKojo :社会保険料 *nNinzu :扶養人数 *nFlg :0->甲:1->乙欄 *lZei :源泉徴収税額返り値 */ void CGensenZei::GetDataA(long lSalary, long lKojo, int nNinzu, int nFlg, long* lZei) { mSalary = lSalary; mKojo = lKojo; mNinzu = nNinzu; switch (nFlg) { case 0: //メンバー関数 Kojogo(); Kojogaku(); Koran(); break; case 1: //メンバー関数 Oturan(); break; default: mZei = 0; } *lZei = mZei; } /*賞与源泉徴収税を計算 *lSalary:課税支給額 *lSyaho :月額社会保険料 *lKojo :控除される社会保険料 *nNinzu :扶養人数 *nFlg :0->甲欄:1->乙欄 *lZei :源泉徴収税返り値 */ void CGensenZei::GetDataB(long lSalary, long lSyaho, long lKojo, int nNinzu, int nFlg, long* lZei) { mSalary = lSalary; mSyaho = lSyaho; mKojo = lKojo; mNinzu = nNinzu; switch (nFlg) { case 0: //メンバー関数 BonusKoran(); break; case 1: //メンバー関数 BonusOturan(); break; default: mZei = 0; } *lZei = mZei; }