設(shè)計(jì)方法和基本原理 1.課題功能描述
編寫一個簡單的商品信息管理的程序,主要完成商品信息的錄入、排序、查詢和顯示功能。
2.問題詳細(xì)描述
某超市的電器區(qū)有5種商品,每種商品包括以下信息:商品代碼(整型),商品名稱(字符串),商品數(shù)量(整型),單價(雙精度),銷售量(整型),庫存量(=商品數(shù)量-銷售量,整型),例如:
商品信息列表
商品代碼商品名稱商品單價商品數(shù)量銷售量庫存量
10120HaierConditioner299812020
11254IPODMP3125024532
10564SegaHardDisk65510055
15826IBMLaptop81888015
18257SonyDC358815029
要求編寫多個函數(shù)分別實(shí)現(xiàn)下列功能,而后在main函數(shù)中進(jìn)行調(diào)用。
(1)輸入函數(shù):從鍵盤輸入這些商品的代碼,名稱,數(shù)量,單價,銷售量信息,而后自動計(jì)算其庫存量。
(2)排序函數(shù)1:將商品按照商品的庫存量進(jìn)行升序排序,若庫存量相同則按照銷售量升序排序。
(3)排序函數(shù)2:將商品按照代碼進(jìn)行升序排序。
(4)查詢函數(shù)1:按商品代碼查詢用戶指定的商品信息。在主函數(shù)中給出查詢結(jié)果,若找到則輸出該商品的信息,如找不到,則給出相應(yīng)的提示信息,而后可多次查詢也可退出程序的運(yùn)行。
(5)查詢函數(shù)2:按庫存量進(jìn)行查詢用戶指定的商品信息。查詢結(jié)果的處理同查詢函數(shù)1。
(6)輸出函數(shù):輸出某個商品的信息。
(7)程序運(yùn)行結(jié)果:
請輸入5種商品的信息:(由用戶輸入)
codenamepriceamountsales
10120HaierConditioner299812020
11254IPODMP3125024532
10564SegaHardDisk65510055
15826IBMLaptop81888015
18257SonyDC358815029
*************************************
1.按庫存量排序,請選擇:1
2.按商品代碼排序,請選擇:2
3.按商品代碼查詢,請選擇:3
4.按庫存量查詢,請選擇:4
5.顯示商品信息,請選擇:5
6.結(jié)束程序,請選擇:6
*************************************
請選擇:(用戶可根據(jù)菜單項(xiàng)進(jìn)行選擇)
3.問題的解決方案
根據(jù)問題的描述,可以按照程序要求的功能采用結(jié)構(gòu)化的設(shè)計(jì)思想。
(1)使用結(jié)構(gòu)體類型存儲商品的各種信息。
(2)利用菜單使用戶選擇各個功能模塊,例如:
1.按商品庫存量排序,請選擇:1
2.按商品代碼排序,請選擇:2
3.按商品代碼查詢,請選擇:3
4.按庫存量查詢,請選擇:4
5.顯示商品信息,請選擇:5
6.結(jié)束程序,請選擇:6
而后可根據(jù)不同的選項(xiàng)進(jìn)入到不同的功能模塊進(jìn)行執(zhí)行。執(zhí)行完某個功能后,重新顯示該菜單,因此可將此菜單的顯示放置到循環(huán)結(jié)構(gòu)中。
(3)在排序過程中,結(jié)構(gòu)數(shù)組元素的交換可以整體進(jìn)行,無需每個成員之間進(jìn)行互換;兩個排序請分別使用冒泡法和選擇法。
(4)查詢時請分別使用折半查找法和順序查找法進(jìn)行查找,注意折半查找法是對有序數(shù)組的操作。
SYSTEMTIMEtime;
GetSystemTime(time);
CStringstr;
str.Format(%d%d%d%d%d%d,time.wYear,time.wMonth,time.wDay,time.wHour,time.wMinute,time.wSecond);
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com