#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

#include "set.h"
#include "glvam.h"


void init_gval(void);	 
void set_filenum(void);  

void cntl(void);	     
void econ(void);	    
void rdfl(void);	     
void shus(void);	    
void alfopen(void);	    
void alfclose(void);	 
void flck(void);        


int main(int ac, char **av){
	
	printf("\n<< 初期化等の処理 >>\n\n");
	init_gval();
	
	printf("<< Cntl開始 >>\n");
	cntl();
	set_filenum(); 
	
	printf("\n<< FileOpen開始 >>\n\n");
	alfopen();
	
	printf("<< FileCheck開始 >>\n\n");
	flck();
	
	printf("<< Econ開始 >>\n\n");
	econ();
	
	printf("<< Rdfl開始 >>\n\n");
	rdfl();
	
	printf("<< Shus開始 >>\n\n");
	shus();
	
	printf("\n<< FileClose開始 >>\n\n");
	alfclose();
	
	return 0;
}



void init_gval(void){
	
	int k, x;
	
	
	
	for(k=ECSTY; k<=ECEDY; k++){
		for(x=ECXA; x<116; x++){
			Kra[k-ECSTY][x-ECXA] = Krb[k-ECSTY][x-ECXA] = 1.0;
			
			Scutrrh[k-ECSTY][x-ECXA] = Scutrrt[k-ECSTY][x-ECXA] = 1.0;
			Scutrrki[k-ECSTY][x-ECXA] = 1.0;
			Escutrrh[k-ECSTY][x-ECXA] = Escutrrt[k-ECSTY][x-ECXA] = 1.0;
			Tokutyo[k-ECSTY][x-ECXA] = 1.0;
		}
	}
}



void set_filenum(){

	int itemp, itemp2;
	char ctemp[10];
	
	printf("\n試算番号を入力して下さい（４桁）\n");
	scanf("%s%*c", Nfile);
	printf("  試算番号を［%s］に設定しました\n", Nfile);

	strcpy(Nfile2, Nfile);
	printf("  拠出金ファイル(basで設定したu-sys番号)を［%s］に設定しました\n", Nfile2);
	
	if(Fpset == 9){
		printf("\nカット率ファイルの指定（４桁）\n");
		scanf("%s%*c", Nfile3);
		printf("  カット率ファイルを［%s］に設定しました\n", Nfile3);
	} else {
		strcpy(Nfile3, Nfile);
	}
	
	printf("\n拠出金番号（国年試算番号）を入力して下さい（４桁）\n");
	scanf("%s%*c", Nkfile);
	printf("  拠出金番号を［%s］に設定しました\n", Nkfile);
	
	
	printf("\n外枠番号を入力して下さい（４桁）\n");
	scanf("%s%*c", Wcfile);
	itemp=atoi(Wcfile);
	if(itemp<1000 || 9999<itemp){
		printf("  外枠番号の設定が不適切です。\n");
		exit(1);
	}

	printf("\n経済前提番号を入力して下さい（４桁）\n");
	scanf("%s%*c", Ecfile);

	if(Fpset==8){	
		strcpy(Cutrfile1, "1");
	} else if (Fpset==9) {
		printf("国年先決めの場合は「1」を、厚年先決めの場合は「0」を入力して下さい。");
		scanf("%s%*c", Cutrfile1);
		if(strcmp(Cutrfile1, "1") !=0 && strcmp(Cutrfile1, "0") !=0){
			printf("  入力値が不適切です。\n");
			exit(1);
		}
	} else{
		printf("現在対応していない試算モードです。\n");
		exit(1);
	}
	
	
	strcpy(Cutrfile2, "1");
	strcpy(Cutrfile3, "15");

	
	printf("\n予備番号を入力して下さい（３桁）\n");
	scanf("%s%*c", Cutrfile4);
	printf("予備番号を［%s］に設定しました\n", Cutrfile4);
	
	
	strcpy(Sifile, "100");
	
	if(Saimu==0){  
		Saimushu[0] = '\0';
	}else if(Saimu==1 || Saimu==4){  
		if(Pslsi==2 && Pslsi2==1){
			if (Psly==20 && Kzn==3                   ){
				strcpy(Saimushu, "AK");
			} else if (Psly==20 && Kzn==5 && Kzny==15){
				strcpy(Saimushu, "BK");
			} else {
				printf("現在対応できていない組み合わせです。Saimu=%d, Pslsi=%d, Pslsi2=%d, Kzn=%d\n",
				                                            Saimu, Pslsi, Pslsi2, Kzn);
				exit(1);
			}
		} else {
				printf("現在対応できていない組み合わせです。Saimu=%d, Pslsi=%d, Pslsi2=%d\n",
				                                            Saimu, Pslsi, Pslsi2);
				exit(1);
		}
	}else if(Saimu==2 || Saimu==5){  
		if(Pslsi==2 && Pslsi2==1){
			if (Psly==20 && Kzn==3                   ){
				strcpy(Saimushu, "AJ");
			} else if (Psly==20 && Kzn==5 && Kzny==15){
				strcpy(Saimushu, "BJ");
			} else {
				printf("現在対応できていない組み合わせです。Saimu=%d, Pslsi=%d, Pslsi2=%d, Kzn=%d\n",
				                                            Saimu, Pslsi, Pslsi2, Kzn);
				exit(1);
			}
		} else {
				printf("現在対応できていない組み合わせです。Saimu=%d, Pslsi=%d, Pslsi2=%d\n",
				                                            Saimu, Pslsi, Pslsi2);
				exit(1);
		}
	}else if(Saimu==3){ 
		if(Psly==15){
			strcpy(Saimushu, "10");
			Saimuski[0] = '\0';
		} else {
			printf("想定外の組み合わせです。Saimu=%d, Psly=%d\n", Saimu, Psly);
			exit(1);
		}
	}else if(Saimu==6){ 
		if((Pslsi==2 && Pslsi2==1) || (Pslsi==0 && Pslsi2==0)){
			if (Psly==21 && Kzn==3            ){
				strcpy(Saimushu, "ES");
			} else if (Psly==21 && Kzn==5 && Kzny==16){
				strcpy(Saimushu, "FS");
			} else {
				printf("現在対応できていない組み合わせです。Saimu=%d, Pslsi=%d, Pslsi2=%d\n",
				                                            Saimu, Pslsi, Pslsi2);
				exit(1);
			}
		} else {
			printf("現在対応できていない組み合わせです。Saimu=%d, Pslsi=%d, Pslsi2=%d\n",
			                                            Saimu, Pslsi, Pslsi2);
			exit(1);
		}
	}
	
	if(strcmp(Saimushu,"10")!=0){
		strcpy(Saimuski, Saimushu);
	}else{
		strcpy(Saimuski, "");
	}
	

	strcpy(Tumafile, "00");

	
	
	Siencha[0] = '\0';
}



void print_number(void){
	char ctemp[MAX_REC_LEN+1];
	
	sprintf(ctemp,"%s-%s-%s-%s-%s [%s%s%s], Part=%d, Dmakuro=%d, Jimu=%d",
	  Nfile, Nkfile, Wcfile, Ecfile, Cutrfile4, Cutrfile1, Cutrfile2, Cutrfile3,
	  Flg_Part, Flg_Dmakuro, Flg_Jimu);
	
	if(Cntlset!=1){
		printf("\n%s\n", ctemp);
	} else {
		printf("\n%s : 妻[%s]\n", ctemp, Tumafile);
	}
}

