[1] 授業単元: データ構造アルゴリズム
[2] 問題文(含コード&リンク):
構造体とポインタを用いてスタックを実現せよ。ただし、スタックが保持するデータは整数とする。
プログラムはキーボードから入力された文字により以下のように動作する。

i : スタックにデータの挿入(PUSH)。
d : スタックの先頭データを削除(POP)。スタックが空ならその旨を表示。
p : スタックにあるデータを先頭から順に表示。
q : 終了。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: LSI C-86
 [3.3] 言語: C
[4] 期限: 2007年1月15日まで
[5] その他の制限: 特になし


試しに色々作ってみたんですが、なんかどれも思い通りに動いてくれなくて困ってます。
途中まで作ったやつをうpしておくので、こちらの意図を汲み取っていただければ幸いです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3384.txt