アットウィキロゴ

fgh

/*************************************
*                                    *
*    外枠システム  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