这是indexloc提供的服务,不要输入任何密码
Skip to content

a-suzuki/HollingBerries

Repository files navigation

# HollingBerries: ホリングベリー夫妻の値札タグについての問題

イントロダクション
============
最近リタイアしたホリングベリー夫妻は、喧騒から離れて老後の生活を満喫するために
(南アフリカで)小さなコンビニエンスストアを開くことにしました。

悲しいかな、それは彼らが望んだようにはのんびりしたものにはなりませんでした…

問題
===========
夫妻は現在、生鮮品に付ける値札についての問題を抱えています。
毎朝、お店にはさまざまな生鮮品が届きます。夫人は、生鮮品が届き次第、甥の書いたプログラムにそれを入力します。
結果は、仕入れ価格と入荷日などが商品ごとにまとめられたカンマ区切りのファイルとなります。

作業
========
あなたのミッションは、そのCSVファイルを入力にして、印刷して値札タグとして使用するファイルを作成することです。

入力ファイル
===============
CSVファイルのフォーマットは以下の通りです(具体例は produce.csv):

*   仕入先ID:Supplier ID.

    仕入先を示すコードです。
    全ての仕入れ先は基本的に平等ですが、ある程度分類されています。

*   製品コード:Product code.

    扱っている商品の種類を表すコードです。

*   説明:Description.

    値札に印字する内容になります。

*   仕入れ日:Delivery date.

    YYYY/MM/DD. 販売期限に利用しています。

*   原価:Cost price.

    売値に利用しています。

*   仕入個数:Unit count.

    仕入れられた商品ごとの名札に印字する必要があります。

出力ファイル
===============
名札ファイルは1行ごとに3つのフィールドからなります(例はpricefile.txt):
売値,販売期限,商品説明

名札ファイルの各行はラベルプリンタを使って印刷し、名札として利用します。
ラベルプリンタはそれぞれの名札ごとに限られた長さ(50文字)でしか出力できないため、
名札ファイルは幅固定の形式で出力する必要があります。

売値は最大9文字で、頭に通貨記号(R)を付け、整数値は5桁、小数点以下は2桁で表示します。
例: R99999.99

ホリングベリー氏は、大きな額については
扱うつもりはないから心配しないで良いと言っています。

販売期限は仕入れ日と同じフォーマットで表示します。
YYYY/MM/DD (10文字)

残りの31文字は商品説明に使用します。

値札ファイルの1行は以下のような感じです:
> R   19.922012/05/26Apples 1kg Green. They are very

ビジネスルール
==================
売値と販売期限については条件にもとづいて算出する必要があります。
商品説明についてはCSVファイルにある内容の最初から31文字目までを出力します。

## 利幅規則
* リンゴの利幅は 40% です。
* バナナの利幅は 35% です。
* ベリーの利幅は 55% です。
* それ以外のものの利幅は 50% とします。

## 販売期限
* リンゴは仕入れ日から2週間後を販売期限とします。
* バナナは仕入れ日から5日後を販売期限とします。
* それ以外のものは1週間後を販売期限とします。

## 商品コード体系
* 1000-1999: フルーツ
 * 1100-1199: リンゴ
 * 1200-1299: バナナ
 * 1300-1399: ベリー

## 仕入れ業者のトラブル
仕入れ業者のひとつ、スーザン・ウィンドラー (Supplier ID 32) が納めてくるフルーツは
他の業者が納めてくるフルーツに比べてあまり新鮮ではありません。
ホリングベリー氏はこれに対して以下の対応をすることにしました。
*   スーザンから仕入れたものについては販売期限を通常より3日早めることにする
*   通常の価格よりもR2値下げすることにする

また、トゲザネス・シャバラ (Supplier ID 101) にも同じ対応をすることとしました。

## プレミアム商品 (tm)
仕入れ業者の何社かはプレミアム商品 (tm) 提供業者です。
お客は上記の業者の商品であれば通常の価格より多少高くても購入したいと思っています。
ホリングベリー氏はこれらの業者から仕入た商品については値上げして売ることにしました。
プレミアム商品 (tm) 提供者から仕入れた商品は通常の利幅規則に加えて
10% 値上げして販売することにします。
そして、その後で切りの良い額まで丸めます。
例えば、もし値上げしたあとの売値がR25.11なら、R26に丸めます。
プレミアム商品 (tm) 提供者は以下の業者です:
*   プロミス・マサング (Supplier ID 219)
*   カーレル・ビザール (Supplier ID 204)

About

practice

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages