いろんな言語で宿題スレ 第三編
■ このスレッドは過去ログ倉庫に格納されています
0796デフォルトの名無しさん
2010/03/05(金) 18:34:03% Prolog
前回売上との比較売上表(_年/_月/_日) :-
setof(_商品ID,(売上(_商品ID,_日付,_),localtime(_日付,_年,_月,_日,_,_,_,_)),_売上のあった商品IDならび),
write('商品ID(id) | 日付(date) | 売上額(uriage) | 前回売上額 | 売上増加率\n'),
member(_商品ID2,_売上のあった商品IDならび),
当日の売上金額計(_商品ID2,_年/_月/_日,_売上金額計),
前回売上があった日(_商品ID2,_日付,_前回売上があった日),
前回売上があった日の売上金額計(_商品ID2,_前回売上があった日,_前回売上があった日の売上金額計),
売上行表示(_商品ID2,_年/_月/_日,_売上金額計,_前回売上があった日の売上金額計),
fail.
前回売上との比較売上表(_,_,_).
前回売上があった日(_商品ID,_日付,_前回売上があった日) :-
localtime(_日付,_年1,_月1,_日1,_,_,_,_),
findmax(_年2/_月2/_日2,(売上(_商品ID,_日付2,_),localtime(_日付2,_年2,_月2,_日2,_,_,_,_),_年1/_月1,_日1 @> _年2/_月2/_日2),_前回売上があった日).
前回売上があった日の売上金額計(_商品ID,_年/_月/_日,_売上金額計) :-
findsum(_売上金額,(売上(_商品ID,_日付2,_売上金額),localtime(_日付2,_年,_月,_日,_,_,_,_)),_売上金額計).
当日の売上金額計(_商品ID,_年/_月/_日,_売上金額計) :-
findsum(_売上金額,(売上(_商品ID,_日付,_売上金額),localtime(_日付,_年,_月,_日,_,_,_,_)),_売上金額計).
売上行表示(_商品ID,_年/_月/_日,_売上金額計,0.0) :-
write_formatted('%14d | %2d/%2d/%2d | %12.0f | %12.0f | -------------- | ----\n',[_商品ID2,_年/_月/_日,_売上金額計]),!.
売上行表示(_商品ID,_年/_月/_日,_売上金額計,_前回売上金額計) :-
_売上増加率 is _売上金額計 / _前回売上のあった日の売上金額計,
write_formatted('%14d | %2d/%2d/%2d | %12.0f | %12.0f | %4.1f\n',[_商品ID,_年/_月/_日,_売上金額計,_前回売上金額計,_売上増加率]),!.
■ このスレッドは過去ログ倉庫に格納されています