質問: open("SYAIN.DAT",O_CREAT); } main() { struct syain_k rdbuf; int a; long d; int recno; char sno; char name; char salary; struct syain_k *rec; while(1) { printf("社員番号を入力してください\n"); scanf("%d",&sno); a=numeric_chk(&sno, 5); if (a==-1) { printf("NUMERICエラー\n"); continue; } else d=atol(&sno); if (d==99999) { return 0; } else if (d>=1000&&d<=90000) { printf("範囲エラー\n"); continue; } コード ```
回答: ``` #include #include int numeric_chk(char *str, int n) { int i; for(i=0;i='0')&&(str[i]<='9')) continue; else return(-1); } return 0; } int main(int argc, char *argv[]) { printf("%d\n", numeric_chk(argv[1], strlen(argv[1]))); } ``` 試しに上記実行してみましたが思うように動いているように見えます。 mainでの呼び出しも貼ってもらえますか?