/*************************************
*                                    *
*    外枠システム  cntl.c            *
*  （初期設定）                      *
*                                    *
*************************************/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "set.h"
#include "cntl.h"

void cntl(void) 
{

/*  試算番号の入力  */
    printf("試算番号（４桁）を入力してください\n"); 
    scanf("%d%*c", &BANGO);
    if (( BANGO < 1000 ) || ( BANGO > 9999 )) {
        fprintf(stderr, "試算番号が４桁ではありません（エラー）\n");
        exit (2);
    }
    printf("試算番号は %d に設定されました\n", BANGO); 


/*  計算モードの選択  */
    printf("計算モードの設定\n"); 
    printf("１：H26検証（現行制度）\n"); 
    printf("２：オプション（適用拡大２−１）\n"); 
    printf("３：オプション（適用拡大２−２）\n"); 
    printf("４：オプション（高齢期の保険料拠出）\n"); 
    scanf("%d%*c", &MODE);
    switch ( MODE ) {
        case 1: /* H26年検証（現行制度） */
            printf("H26年検証（現行制度）に設定しました\n") ;
            KIJUN = 2012; 
            KS = 2005;    
            KE = 2121;    
            KF = 2110;    
            PART = 1; PARTYR1 = 2016; PARTYR2 = KE+1;
            PARTK1 = 1; PARTKYR = 2012; PARTK2 = PARTK1;
            break ;
        case 2: /* オプション（適用拡大２−１） */
            printf("オプション（適用拡大２−１）に設定しました\n") ;
            KIJUN = 2012; 
            KS = 2005;    
            KE = 2121;    
            KF = 2110;    
            PART = 2; PARTYR1 = 2016; PARTYR2 = 2024;
            PARTK1 = 1; PARTKYR = 2012;
            PARTK2 = 2; PARTJ2 = 1;
            break ;
        case 3: /* オプション（適用拡大２−２） */
            printf("オプション（適用拡大２−２）に設定しました\n") ;
            KIJUN = 2012; 
            KS = 2005;    
            KE = 2121;    
            KF = 2110;    
            PART = 2; PARTYR1 = 2016; PARTYR2 = 2024;
            PARTK1 = 1; PARTKYR = 2012;
            PARTK2 = 8; PARTJ2 = 1;
            break ;
        case 4: /* オプション（高齢期の保険料拠出） */
            printf("オプション（高齢期の保険料拠出）に設定しました\n") ;
            KIJUN = 2012; 
            KS = 2005;    
            KE = 2121;    
            KF = 2110;    
            PART = 1; PARTYR1 = 2016; PARTYR2 = KE+1;
            PARTK1 = 1; PARTKYR = 2012; PARTK2 = PARTK1;
            MODE45 = 1; 
            break ;
        default :
            fprintf(stderr, "計算モードの設定が間違っています\n");
            exit (2);
    }


/*  使用する人口（JIN）の設定 */
    printf("人口推計（出生率）の設定\n"); 
    printf("１１：出生率中位推計\n"); 
    printf("１２：出生率高位推計\n"); 
    printf("１３：出生率低位推計\n"); 
    scanf("%d%*c", &JIN);
    switch ( JIN ) {
        case 11: /* 出生率中位推計 */
            printf("出生率中位推計に設定しました\n") ;
            SJINKOY = 2010 ;
            FJINKOY = 2110 ;

            /*  死亡（QX）の設定 */
                printf("死亡の設定\n"); 
                printf("１：死亡率中位推計\n"); 
                printf("２：死亡率高位推計\n"); 
                printf("３：死亡率低位推計\n"); 
                scanf("%d%*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);
                }

            break ;
        case 12: /* 出生率高位推計 */
            printf("出生率高位推計に設定しました\n") ;
            SJINKOY = 2010 ;
            FJINKOY = 2110 ;
            QX = 1 ;
            break ;
        case 13: /* 出生率低位推計 */
            printf("出生率低位推計に設定しました\n") ;
            SJINKOY = 2010 ;
            FJINKOY = 2110 ;
            QX = 1 ;
            break ;
        default :
            fprintf(stderr, "人口の設定が間違っています\n");
            exit (2);
    }


    YUHAIGX = 1 ;
    YUHAIGY = 2060 ;

/*  労働力率（ROUDR）の設定 */
    printf("労働力率の設定\n"); 
    printf("１：進むケース\n"); 
    printf("２：進まないケース\n"); 
    ROUDR = 1 ;
    scanf("%d%*c", &ROUDR); 
    switch ( ROUDR ) {
        case 1: 
            printf("進むケースに設定しました\n") ;
            ROUDYR = 2030 ;
            break ;
        case 2: 
            printf("進まないケースに設定しました\n") ;
            ROUDYR = 2030 ;
            break ;
        default :
            fprintf(stderr, "労働力率の設定が間違っています\n");
            exit (2);
    }



/*  共済  */
    switch ( JIN ) {
        case 11: 
            if ( QX == 1 ){
                KYOREQK = 1; KYOREQR = 1; KYOREQS = 1;
                KYOREQBK = 11; KYOREQBR = 11; KYOREQBS = 11;
            }
            else {
                KYOREQK = 3; KYOREQR = 3; KYOREQS = 2;
                KYOREQBK = 11; KYOREQBR = 11; KYOREQBS = 11;
            } 
            break ;
        case 12: 
            KYOREQK = 1; KYOREQR = 3; KYOREQS = 1;
            KYOREQBK = 12; KYOREQBR = 11; KYOREQBS = 12;
            break ;
        case 13: 
            KYOREQK = 1; KYOREQR = 3; KYOREQS = 1;
            KYOREQBK = 13; KYOREQBR = 11; KYOREQBS = 13;
            break ;
    }


    MODESAN = 1;


}

