0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プロデル、調査 その125

Last updated at Posted at 2025-10-21

概要

プロデルが、CLRらしいので、調べて見た。
練習問題をやってみた。

練習問題

コンソールで小遣い帳を書け。

方針

  • データ表とCSVを使う。
     データ表は、pythonで言うと、データフレームと言える。
     CSVは、データベースと考えられる。
  • コマンド
コマンド 書式 機能
p P 表示
i i 2/5,アイス,-200 入力
x x 1 削除
k k 1,2/7,コーヒー,-500 更新
s s 1a ソート
d d 収支
r r 終了

環境

windows10

写真

image.png

サンプルコード

※コンソール

データファイルは、「小遣い帳.csv」
小遣いデータというデータ表を作る
小遣いデータの見出し行は、〇
小遣いデータに{「日付」, 「事柄」,  「金額」, 「残りのお金」}という列を加える
小遣いデータの1列目を取得してそのデータ型を日時形式に変える
小遣いデータの3列目を取得してそのデータ型を整数に変える
小遣いデータの4列目を取得してそのデータ型を整数に変える
データファイルというファイルが存在するなら
	小遣いデータへデータファイルから読み込む
そして
pcは 4
sは、「1b」
繰り返す
	pc>43なら
		「終了」を表示する
		小遣いデータをデータファイルへ保存する
		繰り返しを抜け出す
	そして
	「小遣い帳  p-表示  i-入力  x-削除  k-更新  s-ソート  d-収支  r-終了」を、表示する
	コンソールから、受け取って、指示とする
	指示の文字数が2より、大きいなら
		項目は、指示を「 」で区切ったもの
		指示は、項目(1)
	そして
	指示について分岐
	「r」の場合
	  	pcは44
	「p」の場合
		小遣いデータを「日付 DESC」で並べ替える
		n=0
		「番号:日付               事柄  金額  残りのお金」を表示する
		小遣いデータの一覧のすべての【行要素】についてそれぞれ繰り返す
			n = n + 1
			「[n] : [行要素(1)] [行要素(2)]  [行要素(3)]   [行要素(4)]」を表示する
		そして
	「i」の場合		//i 10/20,アイス,-200
		詳細は、項目(2)を、「,」で区切ったもの
		小遣いデータに{「[詳細(1)]」, 「[詳細(2)]」, 「[詳細(3)]」 }を追加する
	「k」の場合		//k 1,2/20,アイス,-300
		詳細は、項目(2)を、「,」で区切ったもの
		皿は、詳細(1)の整数
		小遣いデータの皿行目を取得して対象行とする
		対象行の1列目に「[詳細(2)]」を設定する
		対象行の2列目に「[詳細(3)]」を設定する
		対象行の3列目に「[詳細(4)]」を設定する
	「x」の場合		//x 1
		皿は、項目(2)の整数
		小遣いデータから皿行目を消す
	「s」の場合		//s 1a
		sは、項目(2)
		sについて分岐
		「1a」の場合
			小遣いデータを「日付」で並べ替える
			「日付」を表示する
		「1b」の場合
			小遣いデータを「日付 DESC」で並べ替える
			「日付 DESC」を表示する
		「2a」の場合
			小遣いデータを「事柄」で並べ替える
			「事柄」を表示する
		「2b」の場合
			小遣いデータを「事柄 DESC」で並べ替える
			「事柄 DESC」を表示する
		他の場合
			sを報告する
		そして
		「日付               事柄  金額  残りのお金」を表示する
		小遣いデータの一覧を【行要素】にそれぞれ繰り返す
			「[行要素(1)] [行要素(2)]  [行要素(3)]   [行要素(4)]」を表示する
		そして
	「d」の場合		//d
		残金は、0
		「日付               事柄  金額  残りのお金」を表示する
		小遣いデータを「日付」で並び替える
		小遣いデータの行一覧を要素にそれぞれ繰り返す
			日 = 要素から「日付」を取得したもの
			事柄 = 要素から「事柄」を取得したもの
			入出金 = 要素から「金額」を取得したもの
			残金 = 残金 + 入出金
			要素の4列目に残金を設定する
			「[日] [事柄]  [入出金]   [残金]」を表示する
		そして
	他の場合
		「ちがう」を表示する
	そして
そして




以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?