• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C)

C言語でキーボードから番号、名前、電話番号を入力してファイルに書き込むプログラムを作成する方法

このQ&Aのポイント
  • C言語でキーボードから番号、名前、電話番号を入力し、指定のファイルに書き込むプログラムを作成する方法について教えてください。
  • 指定の条件を満たすC言語のプログラム例が示されていますが、他の解答方法についても教えていただけないでしょうか?
  • C言語に詳しい方にお願いして、キーボードから入力された番号、名前、電話番号を指定のファイルに書き込むプログラムを作成する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#50176
noname#50176
回答No.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)

noname#50176
noname#50176
回答No.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); } のような感じでシンプルにしてみてはどうですか?

hamasaki--
質問者

補足

コマンドプロンプトで実行してみたのですが、 for (i=0,j=0;tel[i]&&!j;i++)でjの関数が未設定とかでエラーになってしまったのですが、どう解決すればよろしいのでしょうか?

関連するQ&A