mindの研究 その57

# 概要
mindが、謎なので調べてみた。
データーベースを書いてみた。

# 方針
- ファイル使う
- 単語切り出し使う。
- 構造体使う。
- 対話形式


# サンプルコード

```
txtファイルは　ファイル。

dbは　構造体
　セルは　文字列実体
　列は　4個の　セル
　全体は　1000個の　列
。

メインとは
　文字列1は　文字列
　文字列2は　文字列
　単語1は　文字列
　単語2は　文字列
　単語3は　文字列
　単語4は　文字列
　数1は　変数
　数2は　変数
　数3は　変数
　数4は　変数
　数5は　変数
　数1に　0を　入れ
　"test.txt"で　txtファイルを　オープンして
　エラー?
　ならば
　　「ファイルのオープンに失敗しました」で　重大エラーする
　つぎに
　ここから
　　数1に　1を　加え　数1に　入れ
　　txtファイルから　一行読み出し　文字列1に　入れ
　　文字列1から　単語切り出し　単語1に　入れ
　　文字列1から　単語切り出し　単語2に　入れ
　　文字列1から　単語切り出し　単語3に　入れ
　　文字列1から　単語切り出し　単語4に　入れ
　　セル(数1，1)に　単語1を　入れ
　　セル(数1，2)に　単語2を　入れ
　　セル(数1，3)に　単語3を　入れ
　　セル(数1，4)に　単語4を　入れ
　　セル(数1，1)を　表示し　「 」を　表示し
　　セル(数1，2)を　表示し　「 」を　表示し
　　セル(数1，3)を　表示し　「 」を　表示し
　　セル(数1，4)を　表示し　改行し
　　データ終わり?
　　ならば
　　　打ち切り
　　つぎに
　繰り返し
　数1から　1を　引き　数1に　入れ
　「ロードしました。」を　一行表示し
　txtファイルを　クローズする
　ここから
　　「データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了 >」を　表示する
　　文字列入力し　文字列1に　入れ

　　文字列1が　「0」に
　　等しい文字列
　　ならば
　　　「id name age gaku」を　一行表示し
　　　数1で　回数指定して
　　　　数2に　回数を　入れ
　　　　セル(数2，1)を　表示し　「 」を　表示し
　　　　セル(数2，2)を　表示し　「 」を　表示し
　　　　セル(数2，3)を　表示し　「 」を　表示し
　　　　セル(数2，4)を　表示し　改行し
　　　繰り返し
　　つぎに

　　文字列1が　「1」に
　　等しい文字列
　　ならば
　　　数1に　1を　加え　数1に　入れ
　　　「1>id: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　セル(数1，1)に　文字列2を　入れ
　　　「name: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　セル(数1，2)に　文字列2を　入れ
　　　「age: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　セル(数1，3)に　文字列2を　入れ
　　　「gaku: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　セル(数1，4)に　文字列2を　入れ
　　つぎに

　　文字列1が　「2」に
　　等しい文字列
　　ならば
　　　「2>id: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　数1で　回数指定して
　　　　数2に　回数を　入れ
　　　　セル(数2，1)が　文字列2に　等しい文字列
　　　　ならば
　　　　　「name: 」を　表示し　セル(数2，2)を　一行表示し
　　　　　「age: 」を　表示し　セル(数2，3)を　一行表示し
　　　　　「gaku: 」を　表示し　セル(数2，4)を　一行表示し
　　　　つぎに
　　　繰り返し
　　　文字列1に　「」を　入れ
　　つぎに

　　文字列1が　「3」に
　　等しい文字列
　　ならば
　　　「3>name: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　数1で　回数指定して
　　　　数2に　回数を　入れ
　　　　セル(数2，2)が　文字列2に　等しい文字列
　　　　ならば
　　　　　「id: 」を　表示し　セル(数2，1)を　一行表示し
　　　　　「age: 」を　表示し　セル(数2，3)を　一行表示し
　　　　　「gaku: 」を　表示し　セル(数2，4)を　一行表示し
　　　　つぎに
　　　繰り返し
　　つぎに

　　文字列1が　「4」に
　　等しい文字列
　　ならば
　　　「4>id: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　数1で　回数指定して
　　　　数2に　回数を　入れ
　　　　セル(数2，1)が　文字列2に　等しい文字列
　　　　ならば
　　　　　「name: 」を　表示し
　　　　　文字列入力し　文字列2に　入れ
　　　　　セル(数2，2)に　文字列2を　入れ
　　　　　「age: 」を　表示し
　　　　　文字列入力し　文字列2に　入れ
　　　　　セル(数2，3)に　文字列2を　入れ
　　　　　「gaku: 」を　表示し
　　　　　文字列入力し　文字列2に　入れ
　　　　　セル(数2，4)に　文字列2を　入れ
　　　　つぎに
　　　繰り返し
　　つぎに

　　文字列1が　「5」に
　　等しい文字列
　　ならば
　　　「5>id: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　数1で　回数指定して
　　　　セル(回数，1)が　文字列2に　等しい文字列
　　　　ならば
　　　　　数2に　回数を　入れ
　　　　つぎに
　　　繰り返し
　　　数1から　数2を　引き　数3に　入れる
　　　数3で　回数指定して
　　　　回数に　数2を　加え　数4に　入れ
　　　　数4から　1を　引き　数4に　入れ
　　　　数4に　1を　加え　数5に　入れ
　　　　セル(数4，1)に　セル(数5，1)を　入れ
　　　　セル(数4，2)に　セル(数5，2)を　入れ
　　　　セル(数4，3)に　セル(数5，3)を　入れ
　　　　セル(数4，4)に　セル(数5，4)を　入れ
　　　繰り返し
　　　数1から　1を　引き　数1に　入れ
　　つぎに

　　文字列1が　「6」に
　　等しい文字列
　　ならば
　　　"test.txt"で　txtファイルを　新規オープンして
　　　エラー?
　　　ならば
　　　　「ファイルのオープンに失敗しました」で　重大エラーする
　　　つぎに
　　　数1で　回数指定して
　　　　数2に　回数を　入れ
　　　　セル(数2，1)を　txtファイルに　書き込み
　　　　「 」を　txtファイルに　書き込み
　　　　セル(数2，2)を　txtファイルに　書き込み
　　　　「 」を　txtファイルに　書き込み
　　　　セル(数2，3)を　txtファイルに　書き込み
　　　　「 」を　txtファイルに　書き込み
　　　　セル(数2，4)を　txtファイルに　一行書き込み
　　　繰り返し
　　　「セーブしました。」を　一行表示し
　　　txtファイルを　クローズする
　　　終り
　　つぎに
　繰り返し。
。






```

# 実行結果

```
>csv1
1 kuku 55 d
2 alice 14 s
3 kent 30 d
4 dend 47 d
5 yuki 20 k

ロードしました。
データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了 >2
2>id: 2
name: alice
age: 14
gaku: s
データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了 >2
2>id: 3
name: kent
age: 30
gaku: d
データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了 >2
2>id: 4
name: dend
age: 47
gaku: d
データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了 >3
3>name: kent
id: 3
age: 30
gaku: d
データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了 >0
id name age gaku
1 kuku 55 d
2 alice 14 s
3 kent 30 d
4 dend 47 d
5 yuki 20 k
データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了 >4
4>id: 5
name: yuki
age: 22
gaku: d
データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了 >0
id name age gaku
1 kuku 55 d
2 alice 14 s
3 kent 30 d
4 dend 47 d
5 yuki 22 d
データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了 >

```


以上。