【質問テンプレ】
[1] 授業単元:プログラム演習3
[2] 問題文(含コード&リンク):
(1)これまでのプログラムを参考にリストの最後にデータを追加するaddToTail関数を作成しなさい。
Entry *addToTail(Entry *top,char *name,char *tel);
さらに同じ名前の人のデータが登録されていたら要素を追加するのではなく、データ(電話番号)を更新するようにしたaddData関数を作成してみよう。
Entry *addData(Entry *top,char *name,char *tel);
又addToHead(main関数に書いてあります)の代わりにaddData関数を使うようにmain関数を書き換えてテストせよ。

(2)このプログラムは動かすたびに新しくデータを入れ直さなければならないので、
プログラム終了前にファイルを記録し、次回起動時にはファイルからデータを読み込めると便利である。
次のような方針でファイルを読み書きする関数を作ってみよう。
void writeData(char *filename,Entry *top);
1.filenameで指定された名前のファイルを書き込みでオープン
2.リストが終了でなければオープンしたファイルに氏名と電話番号を読み込む。
3.リストの次の要素をたどり、2から繰り返す。

Entry *readData(char *filename);
1.filenameで指定された名前のファイルを読み込みでオープン
2.ファイルの終でなければ、オープンしたファイルから氏名と電話番号を読み込む。
3.addToHead関数を使ってデータをリストに追加する。
4.2から繰り返す
5.作成されたリストの先頭のポインタを関数値として返す。

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc 2.9
 [3.3] 言語: C
[4] 期限: 2005年12月9日17:30まで
[5] その他の制限:とくになし