[問題] C++新手之學校作業 程式碼露露登 有辦法縮短嗎?

看板C_and_CPP (C/C++)作者 (高級黑心貨)時間16年前 (2010/04/13 15:16), 編輯推噓5(5012)
留言17則, 12人參與, 最新討論串1/1
這學期才有的C++課程 老師出了一個作業題目 -------題目------------------ 三種水果: 每一種水果有一個條碼編號. 利用條碼編號來分辨價錢. 由使用者輸入條碼編號及重量, 將所有水果的總價計算出來. 水果條碼(Barcode): 水果單價 AppleBR = 234567 100 BananaBR = 563453 35 PapayaBR = 734523 45 每樣水果買超過 10 公斤 打8折. 老主顧一律打95折. 利用 printf("\nInput BarCode: "); scanf("%d", &BarCode); // 取得條碼 printf("\nInput Fruit Weight: "); scanf("%lf", &Weight); // 取得重量 三種水果都要買. -------------------------------------- 以下程式碼有辦法縮短嗎@@? 寄個站內信 感恩阿里阿豆 ------以下是新手我打的程式碼有點長-------- #include "stdafx.h" #define _New 1 #define _Old 2 #define _New_apple 1 #define _New_banana 2 #define _New_papaya 3 #define _Old_apple 4 #define _Old_banana 5 #define _Old_papaya 6 int _tmain(int argc, _TCHAR* argv[]) { int Fruit,Name; double Price ; double Weight =0 ; double TotalPrice =0 ; int Number =0,Count=0; printf("你想要買幾種水果? "); scanf("%d", &Number); Count = 0; while(Count < Number) { printf(" Please Input Name(New=1,Old=2) :"); scanf("%d", &Name); if(Name == 1) { printf(" Please Input Fruit(apple=1,banana=2,papaya=3) :"); scanf("%d", &Fruit); } else printf(" Please Input Fruit(apple=4,banana=5,papaya=6) :"); scanf("%d", &Fruit); printf(" Please Input Weight:"); scanf("%lf", &Weight); if(Weight > 10.0) { switch(Fruit) { case _New_apple: Price = 80 * Weight; break; case _New_banana: Price = 28 * Weight; break; case _New_papaya : Price = 36 * Weight; break; case _Old_apple: Price = 80 * Weight; break; case _Old_banana: Price = 28 * Weight; break; case _Old_papaya : Price = 36 * Weight; break; } } else switch(Name) { case _New: switch(Fruit) { case _New_apple: { Price = 100 * Weight; } break; case _New_banana: Price = 35 * Weight ; break; case _New_papaya : Price = 45 * Weight; break; } case _Old: switch(Fruit) { case _Old_apple: { Price = 95 * Weight; } break; case _Old_banana: Price = 33.25 * Weight; break; case _Old_papaya : Price = 42.75 * Weight ; break; } break; } TotalPrice += Price ; Count ++; } return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.73.55.26

04/13 15:38, , 1F
為什麼要縮短?
04/13 15:38, 1F

04/13 15:42, , 2F
用 Array
04/13 15:42, 2F

04/13 16:04, , 3F
struct + array 只是你老師可能會懷疑作業不是你寫的XD
04/13 16:04, 3F

04/13 16:16, , 4F
召喚板上STL神人XD
04/13 16:16, 4F

04/13 16:54, , 5F
全部丟到標頭檔 眼不見為淨!
04/13 16:54, 5F

04/13 17:01, , 6F
這啥鬼?題目又沒半個字提到新舊,_new _old是幹嘛的?
04/13 17:01, 6F

04/13 17:01, , 7F
題目寫了那麼多條碼 程式裡面什麼鬼地方有輸入條碼?
04/13 17:01, 7F

04/13 17:02, , 8F
是我看到鬼還是怎樣?
04/13 17:02, 8F

04/13 17:11, , 9F
老實說, 連著兩篇code貼成這樣, 還有熱心的板友回,
04/13 17:11, 9F

04/13 17:11, , 10F
也讓小弟再次感受C/C++板還是很多好人的....XD
04/13 17:11, 10F

04/13 17:46, , 11F
JAVA版的話這種問法應該不會有人回......
04/13 17:46, 11F

04/13 17:55, , 12F
恩...問問題還是要簡化再簡化,才容易得到答案..
04/13 17:55, 12F

04/13 18:15, , 13F
new應該是新客戶 old是老客戶
04/13 18:15, 13F

04/13 19:54, , 14F
............................................
04/13 19:54, 14F

04/13 23:06, , 15F
那我的確看到鬼了,可這程式應該是真的不能接受條碼輸入
04/13 23:06, 15F

04/14 08:55, , 16F
什麼叫露露登?
04/14 08:55, 16F

04/14 09:36, , 17F
落落長的意思XD
04/14 09:36, 17F
文章代碼(AID): #1Bn1erai (C_and_CPP)
文章代碼(AID): #1Bn1erai (C_and_CPP)