ファイルデータの更新処理を作成したいのです。今出来ているコードは以下のとおりです。抽出し、表示させて、それを変更したいのですが、上のコードのとおり、抽出の部分がうまくいっていません。どなたかアドバイスよろしくお願いします。抽出の部分がうまくいっていません。EOF){}ここのことですか?だとすると、noに&が付いていなくて、他の変数には&が付いているのは、なぜでしょうか。while文によるループの中で何も処理を行なっていませんが、これは作成途中だから、ということでよいのでしょうか。バグのないプログラムはない。プログラムは思ったとおりには動かない。7年前whileの部分もif文か何かにしなくてはいけないと思っているのですが、どう書けばよいかわかりません。一致したデータを出力するというような形にしたいのです。各会員の属性情報だと思われますので、構造体か何かを使って一元的に管理するのがよくある方法だと思います。会員全体の情報は構造体の配列か何かを使って管理する、と。現在のupdate_record関数では、1人分の情報しか読めないようになっているように見えます。データ構造をどう定義すべきかをよく考えてから、コードに落とすほうがいいような気がします。バグのないプログラムはない。プログラムは思ったとおりには動かない。7年前あとあとで、構造体を使用した形に改造していきたいと思っております。現段階では、構造体は使わないで、機能の実現をしたいと思います。1人の情報が読めるようになればいいと思うので、コードの書き方を教えてください。同関数とupdate_record関数の両方に、同じ配列定義が登場していないでしょうか。今後、他の機能のための関数を用意するとき、また同じ配列定義をその関数の中に書くのでしょうか。いう風にされる予定ですか?バグのないプログラムはない。プログラムは思ったとおりには動かない。同じように書くと思います。あとあとで、構造体を使用した形に改造していきたいと思っております。現段階では、構造体は使わないで、機能の実現をしたいと思います。1人の情報が読めるようになればいいと思うので、コードの書き方を教えてください。noに&が付いていなくて、他の変数には&が付いているのは、なぜでしょうか。考えた方がよいですね。fscanfで代入する変数を指定するときはすべてポインタですが、charの配列ならば、&はつけなくてもそれ自体がポインタと見なされます。逆にnoはintという配列でもなくポインタでもない変数ですがなぜ&がついていないんでしょうかねえ。&をつけるのが逆ですよ。それと、fscanfが返すのは、代入された変数の数です。5つ全部入ったのを確認するのであれば、EOFでなく5と比較すべきですねえ。{}}//入力した番号とファイルよ読み込んだ番号とをチェックする。2){system("cls");main();}}ここまで、変更しましたが、会員番号でうまく検索出来ません。?アドバイスお願いします。検索うんぬんより次は構造体にして、その次は配列を使って、という手順を踏んだ方がいいと思いますが。CSVファイル中には2件のデータが記述されています。CSVファイル中には2件のデータが記述されています。そのデータをキーボードから入力された値によって、それぞれ出力させたいのですが、出来ないのでしょうか?できますよ。そのためのコードを書けば。今のコードでは1人分にしか対応できていない、というだけのことだと思います。データ構造を決める方がいいって言ったのに...。バグのないプログラムはない。プログラムは思ったとおりには動かない。7年前1)1人分の属性として考えているものをすべて書き出す。2)書き出した項目をメンバーとする構造体を定義する。3)その構造体では1人分のデータを管理するので、複数人のデータを管理するには構造体の配列というデータ構造を考える必要がある。4)お手元にあるという、2人分のデータをCSVファイルから読み取って、定義済の構造体の配列に格納する。5)構造体の配列の中身をすべて出力して、CSVファイルの内容と一致しているかどうかを確認する。さしあたってはこんなところでしょうか。データの追加とか検索とかいうのは、その後ですね。バグのないプログラムはない。プログラムは思ったとおりには動かない。{printf("%s",member[i].name);printf("%s",member[i].adress);printf("%s",member[i].tel);printf("%s",member[i].mail);}}//}//入力した番号とファイルよ読み込んだ番号とをチェックする。2){system("cls");main();}}構造体を使用して、ファイルから読み込んだ値をその構造体に代入し、出力しようとしているのですが、1番目のデータは出力されるのですが、2番目のデータが出力されません。?データはCSV形式です。CSVのファイルの行の最後にカンマはありますか?CSVのファイルの行の最後にカンマを入れましたがだめですね。CSVのファイルの行の最後にカンマはありますか?CSVのファイルの行の最後にカンマを入れましたがだめですね。{printf("%s\n",member[i].name);printf("%s\n",member[i].adress);printf("%s\n",member[i].tel);printf("%s\n",member[i].mail);}}上記で、2つ目のデータも表示することが出来ました。次に、キーボードで入力した番号で、出力情報を検索し、またそれを編集するようにしたいのですが、どのように記述したらよいでしょうか?箇条書きで教えていただけるとありがたいです。0;}ここまで出来ました。最初の名前を入力するところで、2回入力しないと次の住所の項目に進みません。最後の登録しますか?の質問の際に2を選択してもメイン関数に戻りません。してでしょうか?アドバイスお願いします。7年前main関数を再帰的に呼び出している(103行目)のは意図したことなのでしょうか?普通のプログラムでは、自分でmainを呼び出すようなことはしません。想像するに、update_record関数からmain関数へ戻りたいだけなのでしょうが、それならreturnすべきです。main関数を再帰的に呼び出している(103行目)のは意図したことなのでしょうか?普通のプログラムでは、自分でmainを呼び出すようなことはしません。想像するに、update_record関数からmain関数へ戻りたいだけなのでしょうが、それならreturnすべきです。期待動作としては、意図してやっていることです。0;}現状このようなコードですが、不具合がいくつかあります。scanf("%s\n",member[i].name);この部分で、2回入力しないと、次のコードに進みません。}この部分で、choiceで、1か2を選択する前にプログラムが終わってしまいます。どなたかアドバイスよろしくお願いします。現状このようなコードですが、不具合がいくつかあります。scanf("%s\n",member[i].name);この部分で、2回入力しないと、次のコードに進みません。7年前ありがとうございます。問題を解決することが出来ました。ファイルに書き込みを行っているのですが、2行のデータが1行続きのデータになり、なにやらおかしたデータになってしまいます。質問させていただきましたが、なんとか解決しました。ありがとうございました。ミクプラは自由にリンクできます。