- ベストアンサー
C言語でキーボードから番号、名前、電話番号を入力してファイルに書き込むプログラムを作成する方法
- C言語でキーボードから番号、名前、電話番号を入力し、指定のファイルに書き込むプログラムを作成する方法について教えてください。
- 指定の条件を満たすC言語のプログラム例が示されていますが、他の解答方法についても教えていただけないでしょうか?
- C言語に詳しい方にお願いして、キーボードから入力された番号、名前、電話番号を指定のファイルに書き込むプログラムを作成する方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
私のコンパイラはエラーレベルを下げてありますので… 以下に修正していきませんか? #include <stdio.h> void main(void) { int no; unsigned int i,j; char name[12]; char tel[14]; FILE *outfp; while (1) {for (i=0;!i;i++){ printf ("番号 => "); flushall(); scanf ("%d", &no); printf("番号:%d\r\n",no); }if (!no) break; printf ("名前 => "); flushall(); scanf ("%s", name); printf("名前:%s\r\n",name); do{ printf ("電話番号 => "); flushall(); scanf("%13s", tel); for (i=0,j=0;tel[i]&&!j;i++) j=(tel[i]>='0'&&tel[i]<='9'||!(tel[i]-'-')&&!j)?0:1; }while(j); printf("電話番号:%s\r\n",tel); fprintf(outfp,"%d %s %s\n",no, name, tel); } fclose(outfp); }
その他の回答 (1)
#include <stdio.h> void main(void) { int no; char name[12]; char tel[14]; FILE *outfp; while (1) {for (unsigned int j,i=0;!i;i++){ printf ("番号 => "); flushall(); scanf ("%d", &no); printf("番号:%d\r\n",no); }if (!no) break; printf ("名前 => "); flushall(); scanf ("%s", name); printf("名前:%s\r\n",name); do{ printf ("電話番号 => "); flushall(); scanf("%13s", tel); for (i=0,j=0;tel[i]&&!j;i++) j=(tel[i]>='0'&&tel[i]<='9'||!(tel[i]-'-')&&!j)?0:1; }while(j); printf("電話番号:%s\r\n",tel); fprintf(outfp,"%d %s %s\n",no, name, tel); } fclose(outfp); } のような感じでシンプルにしてみてはどうですか?
補足
コマンドプロンプトで実行してみたのですが、 for (i=0,j=0;tel[i]&&!j;i++)でjの関数が未設定とかでエラーになってしまったのですが、どう解決すればよろしいのでしょうか?