#include #include #include #include #define NDMAX 1000 void main_part(char fnameR[],char fnameW[]); void TeX_DRN_XJIKU(FILE *fout,double xmin,double xmax,double dx, double kxi,double kxf,double kyi,double kyf); void TeX_DRN_YJIKU(FILE *fout,double ymin,double ymax,double dy, double kxi,double kxf,double kyi,double kyf); void TeX_DRL_XJIKU(FILE *fout,double xmin,double xmax, double kxi,double kxf,double kyi,double kyf); void TeX_DRL_YJIKU(FILE *fout,double ymin,double ymax, double kxi,double kxf,double kyi,double kyf); /*---------------------------------------------------------------------------------*/ int main(int argc,char *argv[]) { char fnameR[50]; /*入力ファイル名*/ char fnameW[50]; /*出力ファイル名*/ strcpy(fnameR,argv[1]); strcpy(fnameW,argv[2]); main_part(fnameR,fnameW); printf("リターンキーを押してください"); getchar(); return 0; } /*---------------------------------------------------------------------------------*/ void main_part(char fnameR[],char fnameW[]) { /*作図用変数宣言*/ double HSIZE; /*画像横寸法(mm)*/ double DHL; /*画像左余白寸法:縦軸描画用(mm)*/ double DHR; /*画像右余白寸法(mm)*/ double VSIZE; /*画像縦寸法(mm)*/ double DVL; /*画像下余白寸法:横軸描画用(mm)*/ double DVU; /*画像上余白寸法(mm)*/ char sxjiku[50]; /*x軸名(単位含む)*/ double xmin; /*x軸最小値*/ double xmax; /*x軸最大値*/ double dx; /*x軸増分*/ char slogx[2]; /*x軸の種類(L:対数,N:普通)*/ char syjiku[50]; /*y軸名(単位含む)*/ double ymin; /*y軸最小値*/ double ymax; /*y軸最大値*/ double dy; /*y軸増分*/ char slogy[2]; /*y軸の種類(L:対数,N:普通)*/ double kxi,kxf,kyi,kyf; double xx,yy; double kxx,kyy; int nd; /*データ組数−1 int i; /*プロットデータ格納配列宣言*/ double datax[NDMAX]; double datay[NDMAX]; /*入出力用変数宣言*/ FILE *fin,*fout; int i,j,n,m; char dat[256]; char sv[10]; /*データ読み込み*/ fin=fopen(fnameR,"r"); fgets(dat,sizeof dat,fin); fgets(dat,sizeof dat,fin); strcpy(sxjiku,strtok(dat,",")); strcpy(syjiku,strtok(NULL,",")); fgets(dat,sizeof dat,fin); HSIZE=atof(strtok(dat,",")); DHL =atof(strtok(NULL,",")); DHR =atof(strtok(NULL,",")); fgets(dat,sizeof dat,fin); VSIZE=atof(strtok(dat,",")); DVL =atof(strtok(NULL,",")); DVU =atof(strtok(NULL,",")); fgets(dat,sizeof dat,fin); xmin=atof(strtok(dat,",")); xmax=atof(strtok(NULL,",")); dx =atof(strtok(NULL,",")); strcpy(slogx,strtok(NULL,",")); fgets(dat,sizeof dat,fin); ymin=atof(strtok(dat,",")); ymax=atof(strtok(NULL,",")); dy =atof(strtok(NULL,",")); strcpy(slogy,strtok(NULL,",")); fgets(dat,sizeof dat,fin); nd=atof(strtok(dat,","))-1; for(i=0;i<=nd;i++){ fgets(dat,sizeof dat,fin); datax[i]=atof(strtok(dat,",")); datay[i]=atof(strtok(NULL,",")); } fclose(fin); /*データ対数値処理*/ if(strncmp(slogx,"L",1)==0){ for(i=0;i<=nd;i++){ if(datax[i]