C語言商品打折

2021-10-04 18:21:29 字數 1521 閱讀 1857

【問題描述】超市對快要過期的食品,進行統一的打折**,食品資訊包括:食品名稱,生產日期,保質期,單價,其中生產日期使用日期結構體定義。距離保質期20天到10天的打5折,距離保質期10天以內的打3折。請將輸入的食品單價進行修改,輸出新的食品資訊。對於已經過期食品,輸出:食品名稱,過去天數(負數),單價(0)

【輸入形式】食品名稱 生產日期 保質期(天數) 單價當前日期

當輸入食品名稱為"#"時表示輸入結束。

【輸出形式】食品名稱 還有幾天過期 修改後單價

【樣例輸入】

pm 2018.1.30 30 45

mb 2018.2. 6 25 30

gz 2018.2.15 25 20

0.0.0 0 02018.2.24

【樣例輸出】

pm 5 13.5

mb 7 9.0

gz 16 10.0

#include

#include

#include

struct date

;struct food_information

;int

main()

/*i = n = 0;

do while (strcmp(food[i].name, str) != 0);*/

scanf_s

("%d.%d.%d"

,&now.year,

&now.month,

&now.day)

;for

(i =

0; i < n; i++

)for

(i =

0; i < n; i++

)system

("pause");

return0;

}int

calculate

(struct date now,

struct food_information food)

//計算時間差(生產日期與當前日期)

intdays

(int y,

int m,

int d)

//計算該天在該年中的天數if(

((y %4==

0&& y %

100!=0)

|| y %

400==0)

&& n >2)

z = n +1;

else

z = n;

//printf("%d年%d月%d日是該年的%d天 \n", y, m, d, z);

return z;

}

執行結果:

說明:1.程式在計算間隔天數是需保證是同一年,否則會出錯;可自行新增相關語句以完善程式功能。

2.簡述思路:

判斷當前日期與生產日期間的間隔天數,與保質期對比,

若間隔《保質期,則未過期;

若間隔》保質期,則已過期。

使用物件導向技術解決商品打折問題 二

我們現在看在checkout方法中究竟要使用要使用codepromotion這個類提供的那些資訊,首先可以肯定,getpromotionamount這個方法是必需的,而且我們希望能夠得知某一定但為什麼要打折,所以getdescription這個方法也是一定要有的,而user 是對promotion ...

商品銷售打折自定義的資料建模

近期看了idilent的文章 使用物件導向技術解決商品打折問題 文後有讀者提出要求 如果不同商品的折扣不同怎麼辦?或者有買一百送五十這種方式,或不同會員等級的折扣不同。怎麼處理?idilent認為打折這個問題並不是能夠通過乙個的字段就可以解決的。有不同的會員,不同的產品,不同的銷售計畫,而這些也是在...

轉《商品銷售打折自定義的資料建模》

近期看了idilent的文章 使用物件導向技術解決商品打折問題 文後有讀者提出要求 如果不同商品的折扣不同怎麼辦?或者有買一百送五十這種方式,或不同會員等級的折扣不同。怎麼處理?idilent認為打折這個問題並不是能夠通過乙個資料庫的字段就可以解決的。有不同的會員,不同的產品,不同的銷售計畫,而這些...