外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
gccで罫線を引く
:gccで罫線を引く
@echo off
if not exist %~dpn0.exe (
for /f "delims=:" %%n in ('findstr /n "^#!" %0') do (
more +%%n %0 > %~dpn0.c
gcc -Os %~dpn0.c -o %~dpn0.exe -s
)
)
set sx=15
set sy=20
set yp=8
set div=2
%~dpn0
goto:eof
REM #jww
REM #hp
REM #zs
REM #e
#!この次の行からプログラムを書いてください
#include "jw.h"
int main(void)
{
FILE *f;
char S_[256], *F[20];
int i, n;
double w, h, x0, x1, y;
double sx, sy, yp;
int div;
sx = atof(getenv("sx"));
sy = atof(getenv("sy"));
yp = atof(getenv("yp"));
div = atoi(getenv("div"));
if (yp == 0) { yp = 5; }
if (div == 0) { div = 2; }
if ( (f = fopen("jwc_temp.txt", "r")) != NULL) {
while (fgets(S_, 256, f) != NULL) {
split(chomp(S_), F);
if (strncmp(S_, "hzs", 3) == 0) { w = atof(F[1]); h = atof(F[2]); }
}
} else {
exit(MISSING_JWC_TEMP_TXT);
}
fclose(f);
f = fopen("jwc_temp.txt", "w");
n = __int((h - sy * 2) / yp);
x0 = sx;
x1 = x0 + w / div - sx;
fprintf(f, "bz\n");
fprintf(f, "lc9\n");
fprintf(f, "lt9\n");
for (i = 0; i < n; i++) {
y = yp * i + sy;
fprintf(f, "%.15f %.15g %.15g %.15g\n", x0, y, x1, y);
}
fclose(f);
return 0;
}