/*************************************
* *
* 外枠システム cntl.c *
* (初期設定) *
* *
*************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "set.h"
#include "cntl.h"
void cntl(void)
{
/* 試算番号の入力 */
printf("試算番号(4桁)を入力してください\n");
scanf("%ld%*c", &BANGO);
if (( BANGO < 1000 ) || ( BANGO > 9999 )) {
fprintf(stderr, "試算番号が4桁ではありません(エラー)\n");
exit (2);
}
printf("試算番号は %d に設定されました\n", BANGO);
/* 計算モードの選択 */
printf("計算モードの設定\n");
printf("1:H21検証モード\n");
scanf("%ld%*c", &MODE);
switch ( MODE ) {
case 1: /* H21年検証モード */
printf("H21年検証モードに設定しました\n") ;
KIJUN = 2007; /* 基準年度 */
KS = 2000; /* 出力開始年度 */
KE = 2105; /* 計算終了年度 */
break ;
default :
fprintf(stderr, "計算モードの設定が間違っています\n");
exit (2);
}
/* 使用する人口(JIN)の設定 */
printf("人口推計の設定\n");
printf("1:H18年・出生率中位推計\n");
printf("2:H18年・出生率高位推計\n");
printf("3:H18年・出生率低位推計\n");
scanf("%ld%*c", &JIN);
switch ( JIN ) {
case 1: /* 18年・出生率中位推計 */
printf("H18年・出生率中位推計に設定しました\n") ;
SJINKOY = 2005 ;
break ;
case 2: /* 18年・出生率高位推計 */
printf("H18年・出生率高位推計に設定しました\n") ;
SJINKOY = 2005 ;
break ;
case 3: /* 18年・出生率低位推計 */
printf("H18年・出生率低位推計に設定しました\n") ;
SJINKOY = 2005 ;
break ;
default :
fprintf(stderr, "人口の設定が間違っています\n");
exit (2);
}
/* 死亡率(QX)の設定 */
printf("死亡率の設定\n");
printf("1:H18・死亡率中位推計\n");
printf("2:H18・死亡率高位推計\n");
printf("3:H18・死亡率低位推計\n");
scanf("%ld%*c", &QX);
switch ( QX ) {
case 1: /* 死亡率中位推計 */
printf("死亡率中位推計に設定しました\n") ;
break ;
case 2: /* 死亡率高位推計 */
printf("死亡率高位推計に設定しました\n") ;
break ;
case 3: /* 死亡率低位推計 */
printf("死亡率低位推計に設定しました\n") ;
break ;
default :
fprintf(stderr, "死亡率の設定が間違っています\n");
exit (2);
}
/* 有配偶率推計が存在する最終年度の設定 */
YUHAIGY = 2030 ;
/* 労働力率(ROUDR)の設定 → H20.3推計ケースCを使う */
ROUDR = 3 ;
switch ( ROUDR ) {
case 1:
printf("労働力率はH20.3推計ケースAに設定しました\n") ;
ROUDYR = 2030 ;
break ;
case 3:
printf("労働力率はH20.3推計ケースCに設定しました\n") ;
ROUDYR = 2030 ;
break ;
default :
fprintf(stderr, "労働力率の設定が間違っています\n");
exit (2);
}
/* 70歳以上在職老齢制度の有無 0:なし、1:あり */
OVER70 = 1 ;
OVER70YR = 2007 ; /* 導入年度 */
/* 共済組合の被保険者数(推計) */
KYOREQ = 1 ;
/* ファイル番号
11:出生中位推計に対応するもの
12:出生高位推計に対応するもの
13:出生低位推計に対応するもの */
KYOREQB = JIN + 10 ;
/* 70歳以上の取扱い
0:調整せず(そのまま使う)1:一元化後70歳以上をカットする */
KYOREQX = 0 ;
/* 人口・死亡の設定(共済関係、KYOREQY) */
if (( JIN <= 3 ) && ( QX == 1 )) {
KYOREQY = 0 ;
}
else {
/* 人口推計の死亡の前提に関する共済推計との整合性
0:修正せず(そのまま使う)
1:設定が異なる分共済被保険者数を修正 */
KYOREQY = 1 ;
KYOREQZ = JIN ; /* 参照する人口推計の出生の仮定 */
}
/* 女性3号推計の設定
0:男性の被用者化を反映しない 1:反映する */
MODESAN = 1 ;
/* パート適用導入の設定(PART) 0:パート適用導入しない 1:パート適用導入する
現行法では0、被用者年金一元化法を考慮するときは1 */
PART = 0 ;
/* パート適用導入する場合 */
if ( PART == 1 ) {
/* パート適用導入年度の設定(PARTYR)
被用者年金一元化法による導入年度は2011 */
PARTYR = 2011 ;
/* パート基礎数値の設定(PARTK)
被用者年金一元化法による場合の設定 */
PARTK = 4 ;
PARTKYR = 2006 ;
PARTKK = 2 ;
/* パート猶予割合の設定(PARTYUYOWARI)
被用者年金一元化法による場合は0.4 */
PARTYUYOWARI = 0.4 ;
/* パート猶予の終了年度の設定(PARTYUYOYR) */
PARTYUYOYR = (int)min(KE+1,ENDY) ;
}
}
最終更新:2010年03月11日 02:27