外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
gccで指示円を確認する(ci)
:gccで指示円を確認する(ci)
@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
)
)
%~dpn0
goto:eof
REM #jww
REM #1%dci 円を指示してください
REM #99#
REM #bz
REM #e
#!この次の行からプログラムを書いてください
#include "jw.h"
int main(void)
{
FILE *f, *g;
int i, n, NF, cin;
char S_[256], *F[20];
char SS[256];
char s[256], t[256];
double ci[101][7];
double x, y;
if ( (f = fopen("jwc_temp.txt", "r")) != NULL) {
g = fopen("myfiles", "w");
while (fgets(S_, 256, f) != NULL) {
strcpy(SS, chomp(S_));
NF = split(SS, F);
if (strncmp(S_, "hq", 2) == 0) {
fprintf(g, "bz\n");
}
if (strncmp(S_, "hhp", 3) == 0) {
n = strlen(S_);
substr(S_, n-2, 3, s); // s => 末尾2文字
if (strcmp(s, "ci") == 0) { // hhp([1-9][0-9]?)ci
substr(S_, 3, n-3-2, t); // t => $1
cin = atoi(t);
}
}
if (strncmp(S_, "ci", 2) == 0 && (NF == 4 || NF == 8)) {
if (NF == 4) {
for (i = 1; i < 4; i++) { ci[cin][i-1] = atof(F[i]); }
} else if (NF == 8) {
for (i = 1; i < 8; i++) { ci[cin][i-1] = atof(F[i]); }
}
x = ci[cin][0];
y = ci[cin][1];
fprintf(g, "pt %.15lg %.15lg\n", x, y);
}
}
} else {
exit(MISSING_JWC_TEMP_TXT);
}
fclose(g);
fclose(f);
remove("jwc_temp.txt");
rename("myfiles", "jwc_temp.txt");
return 0;
}