版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> C語(yǔ)言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告</p><p> 目的(本次課程設(shè)計(jì)所涉及并要求掌握的知識(shí)點(diǎn)。)</p><p> 用戶(hù)與商品信息要采用文件存儲(chǔ),因而要提供文件的輸入輸出操作;實(shí)現(xiàn)用戶(hù)的添加、修改、刪除;商品信息的添加、修改、刪除、查找等功能;實(shí)現(xiàn)商品瀏覽功能的實(shí)現(xiàn),需要實(shí)現(xiàn)顯示操作;另外還要提供鍵盤(pán)式選擇菜單以實(shí)現(xiàn)功能選擇。</p><p>
2、二、使用環(huán)境 (本次上機(jī)實(shí)踐所使用的平臺(tái)和相關(guān)軟件。 )</p><p> Microsoft Visual C++</p><p> 三、內(nèi)容與設(shè)計(jì)思想 </p><p> ?。? .設(shè)計(jì)思路 2 .主要數(shù)據(jù)結(jié)構(gòu) 3 .主要代碼結(jié)構(gòu) 4 .主要代碼段分析 。 )</p><p><b> 1、設(shè)計(jì)思路</b>&l
3、t;/p><p><b> 2、主要數(shù)據(jù)結(jié)構(gòu)</b></p><p> /** 系統(tǒng)用戶(hù)結(jié)構(gòu) **/</p><p> typedef struct SystemUser {</p><p> char userName[20]; //用戶(hù)名,主鍵</p>
4、<p> char password[20]; //用戶(hù)密碼</p><p> int userType; //用戶(hù)類(lèi)型(1:管理員;2:店長(zhǎng);3:銷(xiāo)售員)</p><p> struct SystemUser *next; //指向下一個(gè)用戶(hù)的指針</p><p> }
5、SystemUser;</p><p> /** 服裝商品信息 **/</p><p> typedef struct Products {</p><p> int productId; //商品編號(hào),主鍵</p><p> char productName[20];
6、 //商品名稱(chēng)</p><p> char productType[20]; //商品型號(hào)</p><p> char productCompany[20]; //商品廠(chǎng)家</p><p> float productPrice;
7、 //商品價(jià)格</p><p> int productCount; //商品數(shù)量</p><p> char memo[50]; //商品附加信息</p><p> struct Products *next;
8、 //指向下一個(gè)商品的指針</p><p> } Products;</p><p> /** 銷(xiāo)售記錄信息結(jié)構(gòu) **/</p><p> typedef struct SellInfoRecord {</p><p> int saleId;
9、 //銷(xiāo)售編號(hào),主鍵</p><p> char userName[20]; //銷(xiāo)售商品的用戶(hù)名</p><p> int productId; //銷(xiāo)售的商品編號(hào)</p><p> int sellCount;
10、 //銷(xiāo)售數(shù)量</p><p> int year; //銷(xiāo)售商品年份</p><p> int month; //銷(xiāo)售商品月份</p><p> int day;
11、 //銷(xiāo)售商品日期</p><p> char memo[50]; //銷(xiāo)售的附加信息</p><p> struct SellInfoRecord *next; //下一條銷(xiāo)售記錄</p><p> } SellInfoR
12、ecord;</p><p><b> 3、主要代碼結(jié)構(gòu)</b></p><p><b> ?。ㄒ唬┨砑?lt;/b></p><p> 打開(kāi)文件,從鍵盤(pán)輸入要添加的信息,若添加的信息與文件里的信息重復(fù),則調(diào)用系統(tǒng)暫停函數(shù),返回界面;若添加的信息在文件里沒(méi)有找到,則將添加的信息輸入到文件,調(diào)用系統(tǒng)暫停函數(shù),返回界面。<
13、;/p><p><b> 查詢(xún)</b></p><p> 打開(kāi)文件,從鍵盤(pán)輸入要查詢(xún)的信息,若在文件里找到要查詢(xún)的信息,則在界面輸入信息,并調(diào)用系統(tǒng)暫停函數(shù),返回界面;若沒(méi)有找到查詢(xún)的信息,調(diào)用系統(tǒng)暫停函數(shù),返回界面。</p><p><b> 刪除</b></p><p> 打開(kāi)文件,從鍵盤(pán)輸
14、入要?jiǎng)h除的信息,若在文件里找到要?jiǎng)h除的信息存在,則把文件里要?jiǎng)h除的那條信息刪除掉,并調(diào)用系統(tǒng)暫停函數(shù),返回界面;若沒(méi)有找到刪除的信息,調(diào)用系統(tǒng)暫停函數(shù),返回界面。</p><p><b> 修改</b></p><p> 打開(kāi)文件,從鍵盤(pán)輸入要修改的信息,若在文件里找到要修改的信息存在,則按照提示信息依次輸入要修改的信息,寫(xiě)入文件,并調(diào)用系統(tǒng)暫停函數(shù),返回界面;若
15、沒(méi)有找到修改的信息,調(diào)用系統(tǒng)暫停函數(shù),返回界面。</p><p><b> 主要代碼段分析</b></p><p> /** 對(duì)系統(tǒng)進(jìn)行初始化,建立用戶(hù)記錄和商品記錄 **/</p><p> void InitSystem() {</p><p><b> FILE *fp;</b><
16、;/p><p> SystemUser adminUser,bossUser,sellUser; //管理員,店長(zhǎng),銷(xiāo)售員三個(gè)角色信息</p><p> Products products[2]; //初始化兩件服裝商品信息</p><p> SellInfoRecord sellInfo[2]; //初始化兩條銷(xiāo)售記錄</p>
17、<p> //初始化管理員用戶(hù)名、密碼與類(lèi)型</p><p> strcpy(adminUser.userName,"admin");</p><p> strcpy(adminUser.password,"admin");</p><p> adminUser.userType = ADMIN_USER_
18、TYPE;</p><p> adminUser.next = NULL;</p><p> //打開(kāi)管理員用戶(hù)信息文件Admin.txt,寫(xiě)入信息,并關(guān)閉文件</p><p> fp = fopen("Admin.txt", "w");</p><p> fprintf(fp, "%
19、s\t%s", adminUser.userName, adminUser.password);</p><p> fclose(fp);</p><p> AddUser(&adminUser);</p><p> AddUser(&bossUser);</p><p> AddUser(&sell
20、User);</p><p> //添加第一條商品信息</p><p> strcpy(products[0].productName,"精品男裝");</p><p> strcpy(products[0].productType,"m001");</p><p> strcpy(produc
21、ts[0].productCompany,"精品服裝制造廠(chǎng)");</p><p> products[0].productPrice = 23.5;</p><p> products[0].productCount = 100;</p><p> strcpy(products[0].memo,"精品男裝,您的第一選擇"
22、;);</p><p> products[0].next = NULL;</p><p> //添加第二條商品信息</p><p> strcpy(products[1].productName,"時(shí)尚女裝");</p><p> strcpy(products[1].productType,"w002
23、");</p><p> strcpy(products[1].productCompany,"時(shí)尚服裝制造廠(chǎng)");</p><p> products[1].productPrice = 25.5;</p><p> products[1].productCount = 150;</p><p> st
24、rcpy(products[1].memo,"時(shí)尚女裝,您的第一選擇");</p><p> products[1].next = NULL;</p><p> AddProduct(&products[0]);</p><p> AddProduct(&products[1]);</p><p>
25、 //添加第一條銷(xiāo)售報(bào)表記錄</p><p> sellInfo[0].day = 16;</p><p> strcpy(sellInfo[0].memo,"測(cè)試數(shù)據(jù)1");</p><p> sellInfo[0].month = 7;</p><p> sellInfo[0].next = NULL;<
26、/p><p> sellInfo[0].productId = 1;</p><p> sellInfo[0].sellCount = 8;</p><p> strcpy(sellInfo[0].userName,"sell");</p><p> sellInfo[0].year = 2008;</p>
27、<p> //添加第二條銷(xiāo)售報(bào)表記錄</p><p> sellInfo[1].day = 17;</p><p> strcpy(sellInfo[1].memo,"測(cè)試數(shù)據(jù)2");</p><p> sellInfo[1].month = 7;</p><p> sellInfo[1].next
28、 = NULL;</p><p> sellInfo[1].productId = 2;</p><p> sellInfo[1].sellCount = 5;</p><p> strcpy(sellInfo[1].userName,"sell");</p><p> sellInfo[1].year = 200
29、8;</p><p> AddSellInfo(&sellInfo[0]);</p><p> AddSellInfo(&sellInfo[1]);</p><p><b> };</b></p><p><b> //添加商品信息</b></p><p&
30、gt; void InputAndAddProduct() {</p><p> Products product; </p><p> printf("親愛(ài)的%s朋友,你好,請(qǐng)依次輸入新商品的信息:\n",currentUser);</p><p> //輸入商品名稱(chēng)、型號(hào)、制作商、價(jià)格、數(shù)量、附加信息,并把從鍵盤(pán)輸入的值賦值給結(jié)構(gòu)體變
31、量的商品名稱(chēng)型號(hào)、制作商、價(jià)格、數(shù)量、附加信息</p><p> printf("商品名稱(chēng):");</p><p> scanf("%s",product.productName);</p><p> printf("商品型號(hào):");</p><p> scanf("
32、;%s",product.productType);</p><p> printf("商品制造商:");</p><p> scanf("%s",product.productCompany);</p><p> printf("商品價(jià)格:");</p><p>
33、 scanf("%f",&product.productPrice);</p><p> printf("商品數(shù)量:");</p><p> scanf("%d",&product.productCount);</p><p> printf("商品附加信息:");
34、</p><p> scanf("%s",product.memo);</p><p> product.next = NULL;</p><p> //若成功信息添加到結(jié)構(gòu)體變量product里則提示添加成功</p><p> if(FUNCTION_SUCCESS == AddProduct(&prod
35、uct))</p><p> printf("商品信息添加成功!\n");</p><p> system("pause");</p><p><b> };</b></p><p><b> //修改商品信息</b></p><p
36、> void ModifyProduct() {</p><p> int productId; //待修改的商品編號(hào)</p><p> Products *tmpProduct; </p><p> printf("親愛(ài)的%s朋友,你好,你現(xiàn)在進(jìn)入的商品信息修改功能:\n&qu
37、ot;,currentUser);</p><p> printf("請(qǐng)輸入要修改的商品編號(hào):");</p><p> scanf("%d",&productId); //將從鍵盤(pán)接收到的商品編號(hào)賦值給變量productId</p><p> tmpProduct = pProductHead;</p>
38、;<p> if(NULL == tmpProduct) return ;</p><p> while(NULL != tmpProduct) {</p><p> if(productId == tmpProduct->productId){ </p><p> //若從鍵盤(pán)輸入的商品編號(hào)與文件中的一致,則修改商品信息</p&g
39、t;<p> printf("商品編號(hào)%d的商品信息如下:\n",productId);</p><p> printf(" 商品名稱(chēng): %s\n",tmpProduct->productName);</p><p> printf(" 商品型號(hào): %s\n",tmpProduct->produ
40、ctType);</p><p> printf(" 商品廠(chǎng)家: %s\n",tmpProduct->productCompany);</p><p> printf(" 商品價(jià)格: %f\n",tmpProduct->productPrice);</p><p> printf(" 商品數(shù)量
41、: %d\n",tmpProduct->productCount);</p><p> printf(" 商品附加信息: %s\n",tmpProduct->memo);</p><p> printf("下面請(qǐng)對(duì)照修改該商品的相應(yīng)信息:\n");</p><p> printf("新的
42、商品名稱(chēng): ");</p><p> scanf("%s",tmpProduct->productName);</p><p> printf("新的商品型號(hào): ");</p><p> scanf("%s",tmpProduct->productType);</p>
43、<p> printf("新的商品廠(chǎng)家: ");</p><p> scanf("%s",tmpProduct->productCompany);</p><p> printf("新的商品價(jià)格: ");</p><p> scanf("%f",&tm
44、pProduct->productPrice);</p><p> printf("新的商品數(shù)量: ");</p><p> scanf("%d",&tmpProduct->productCount);</p><p> printf("新的商品附加信息: ");</p>
45、;<p> scanf("%s",tmpProduct->memo);</p><p> printf("商品信息修改成功!\n");</p><p> system("pause");</p><p> break; }</p><p>
46、 tmpProduct = tmpProduct->next; } };</p><p><b> //商品刪除</b></p><p> void DeleteProduct() {</p><p> int productId = 0;</p><p> Products *tmpProduct
47、A,*tmpProductB;</p><p> printf("親愛(ài)的%s朋友,你好,你現(xiàn)在進(jìn)入的商品刪除功能:\n",currentUser);</p><p> printf("請(qǐng)輸入你要?jiǎng)h除的商品編號(hào):");</p><p> scanf("%d",&productId);</p
48、><p> tmpProductA = tmpProductB = pProductHead; //tmpProductB指向要?jiǎng)h除的記錄,tmpProductA指向前一條記錄</p><p> if(NULL == tmpProductB) return ;</p><p> while(NULL != tmpProductB){</p>&
49、lt;p> if(tmpProductB->productId == productId) {</p><p> if(tmpProductB == pProductHead && tmpProductB->next == NULL){ //如果系統(tǒng)只有一條商品信息</p><p> free(pProductHead);</p>
50、<p> pProductHead = NULL;</p><p> printf("商品信息刪除成功!\n");</p><p> system("pause");</p><p> return ; }</p><p> tmpProductA->n
51、ext = tmpProductB->next;</p><p> if(pProductHead == tmpProductB)</p><p> pProductHead = tmpProductB->next;</p><p> free(tmpProductB);</p><p> printf("商品信
52、息刪除成功!\n");</p><p> system("pause");</p><p> return ; }</p><p><b> else {</b></p><p> tmpProductA = tmpProductB;</p><p&
53、gt; tmpProductB = tmpProductB->next; } }</p><p> printf("對(duì)不起,不存在該商品編號(hào)的信息!");};</p><p><b> //商品查詢(xún)</b></p><p> void ProductFind() {</p>&
54、lt;p> Products *tmpProduct; </p><p> int findWay,productId;</p><p> char productName[20];</p><p> printf("親愛(ài)的%s朋友,你好,你現(xiàn)在進(jìn)入的商品查詢(xún)功能:\n",currentUser);</p>&l
55、t;p> printf("請(qǐng)選擇查詢(xún)方式: 1--按商品編號(hào)查詢(xún) 2--按商品名稱(chēng)查詢(xún):");</p><p> scanf("%d",&findWay);</p><p> tmpProduct = pProductHead;</p><p> switch(findWay) {</p>
56、<p><b> case 1:</b></p><p> printf("請(qǐng)輸入查詢(xún)的商品編號(hào):");</p><p> scanf("%d",&productId); //輸入要查詢(xún)的商品編號(hào)</p><p> while(NULL != tmpProduct) {<
57、;/p><p> if(productId == tmpProduct->productId) {</p><p> //若輸入查詢(xún)的商品編號(hào)與文件中的一致,則輸出商品信息</p><p> printf("你查詢(xún)的商品編號(hào)為%d的商品信息如下:\n",productId);</p><p> printf(&q
58、uot; 商品名稱(chēng): %s\n",tmpProduct->productName);</p><p> printf(" 商品型號(hào): %s\n",tmpProduct->productType);</p><p> printf(" 商品廠(chǎng)家: %s\n",tmpProduct->productCompany);
59、</p><p> printf(" 商品價(jià)格: %f\n",tmpProduct->productPrice);</p><p> printf(" 商品數(shù)量: %d\n",tmpProduct->productCount);</p><p> printf(" 商品附加信息: %s\n&q
60、uot;,tmpProduct->memo);</p><p> system("pause");</p><p> return ; }</p><p> tmpProduct = tmpProduct->next; }</p><p> print
61、f("對(duì)不起,不存在該商品編號(hào)的商品!\n");</p><p> system("pause");</p><p><b> case 2:</b></p><p> printf("請(qǐng)輸入查詢(xún)的商品名稱(chēng):");</p><p> scanf(&quo
62、t;%s",productName); //輸入要查詢(xún)的商品名稱(chēng)</p><p> while(NULL != tmpProduct) {</p><p> if(0 == strcmp(tmpProduct->productName,productName)) {</p><p> //若輸入查詢(xún)的商品名稱(chēng)與文件中的一致,則輸出商品信息<
63、;/p><p> printf("你要查詢(xún)的商品名稱(chēng)為%s的商品信息如下:\n",productName);</p><p> printf(" 商品名稱(chēng): %s\n",tmpProduct->productName);</p><p> printf(" 商品型號(hào): %s\n",tmpProd
64、uct->productType);</p><p> printf(" 商品廠(chǎng)家: %s\n",tmpProduct->productCompany);</p><p> printf(" 商品價(jià)格: %f\n",tmpProduct->productPrice);</p><p> printf
65、(" 商品數(shù)量: %d\n",tmpProduct->productCount);</p><p> printf(" 商品附加信息: %s\n",tmpProduct->memo);</p><p> system("pause");</p><p> return ;
66、 }</p><p> tmpProduct = tmpProduct->next; }</p><p> printf("對(duì)不起,不存在該商品編號(hào)的商品!\n");</p><p> system("pause");</p><p><b>
67、 default:</b></p><p> break; }}</p><p> 四、調(diào)試過(guò)程 (1 .測(cè)試數(shù)據(jù)設(shè)計(jì) 2 .測(cè)試結(jié)果分析 )</p><p><b> 初始化用戶(hù)名與密碼</b></p><p> 管理員:admin admin 店 長(zhǎng):boss boss
68、 銷(xiāo)售員:sell sell</p><p><b> (一)主界面</b></p><p> ?。ǘ┮怨芾韱T方式登陸系統(tǒng),輸入正確的用戶(hù)賬號(hào)admin和密碼admin</p><p> 若登陸名或密碼錯(cuò)誤,則提示用戶(hù)不存在</p><p> 登陸成功,進(jìn)入管理員界面</p><p&g
69、t; 選擇“(1)自身密碼修改”,修改管理員密碼</p><p> 選擇“(2)用戶(hù)信息管理”,進(jìn)行用戶(hù)的增、刪、改、查功能</p><p> 選擇“用戶(hù)信息查看”,查看當(dāng)前用戶(hù)信息</p><p> 選擇“用戶(hù)信息添加”,添加用戶(hù)信息</p><p> 選擇“用戶(hù)信息刪除”,刪除用戶(hù)</p><p> 返
70、回管理員界面,選擇“(3)商品信息管理”,進(jìn)行商品的增、刪、改、查功能。</p><p> 選擇“用戶(hù)信息查看”,查看當(dāng)前商品信息。</p><p> 選擇“商品信息查找”,根據(jù)商品編號(hào)及商品名稱(chēng)進(jìn)行查找。首先,選擇“按商品編號(hào)查詢(xún)”,若查詢(xún)的編號(hào)存在,則顯示查詢(xún)的信息</p><p> 若查詢(xún)的商品編號(hào)不存在,則提示信息“對(duì)不起,不存在該商品編號(hào)的商品”&l
71、t;/p><p> 選擇“按商品名稱(chēng)查詢(xún)”,輸入正確的商品名稱(chēng),顯示查詢(xún)信息</p><p> 若查詢(xún)的商品名稱(chēng)不存在,則提示信息“對(duì)不起,不存在該商品編號(hào)的商品”</p><p> 選擇“商品信息添加”,添加商品信息</p><p> 選擇“商品信息修改”,修改商品信息</p><p> 選擇“商品信息刪除”,
72、刪除商品</p><p> 返回管理員界面,選擇“商品報(bào)表顯示”,進(jìn)行銷(xiāo)售報(bào)表功能</p><p> 選擇“所有商品銷(xiāo)售情況”,顯示商品信息</p><p> 選擇“商品日銷(xiāo)售報(bào)表”,查看符合條件的銷(xiāo)售商品</p><p> 若查詢(xún)的信息不符合條件,則顯示沒(méi)有符合條件的記錄</p><p> 選擇“商品月銷(xiāo)售
73、報(bào)表”,查看符合條件的銷(xiāo)售商品</p><p> 選擇“銷(xiāo)售員銷(xiāo)售報(bào)表”,查看符合條件的銷(xiāo)售商品</p><p> (三)以店長(zhǎng)方式登錄系統(tǒng)</p><p> 選擇“自身密碼修改”,修改店長(zhǎng)密碼</p><p> 店長(zhǎng)其他功能(商品信息管理,銷(xiāo)售報(bào)表顯示)與管理員類(lèi)似。</p><p> ?。ㄋ模┮凿N(xiāo)售員登陸系
74、統(tǒng)</p><p> 選擇“商品銷(xiāo)售”功能,進(jìn)行產(chǎn)品銷(xiāo)售</p><p> 若銷(xiāo)售產(chǎn)品大于庫(kù)存,則提示銷(xiāo)售失敗。</p><p> 銷(xiāo)售員商品瀏覽、查詢(xún)、及報(bào)表查看功能與管理員功能類(lèi)似</p><p><b> 五、總結(jié) </b></p><p> 1 .設(shè)計(jì)中遇到的問(wèn)題及解決過(guò)程 &l
75、t;/p><p> 2 .設(shè)計(jì)中產(chǎn)生的錯(cuò)誤及原因分析 </p><p> 3 .設(shè)計(jì)體會(huì)和收獲。</p><p><b> 六、附錄 </b></p><p><b> 1、原代碼 </b></p><p> #include <stdio.h> //
76、標(biāo)準(zhǔn)輸入輸出函數(shù)</p><p> #include <windows.h> //Windows頭文件</p><p> #include <time.h> //日期和時(shí)間頭文件</p><p> #define ADMIN_USER_TYPE 1</p><p> #define BOSS_USER_T
77、YPE 2</p><p> #define SELL_USER_TYPE 3</p><p> #define FUNCTION_FAILED -1</p><p> #define FUNCTION_SUCCESS 0 //如果函數(shù)成功執(zhí)行,將返回0</p><p> /** 系統(tǒng)用戶(hù)結(jié)構(gòu) **/</p><p
78、> typedef struct SystemUser {</p><p> char userName[20]; //用戶(hù)名,主鍵</p><p> char password[20]; //用戶(hù)密碼</p><p> int userType;
79、 //用戶(hù)類(lèi)型(1:管理員;2:店長(zhǎng);3:銷(xiāo)售員)</p><p> struct SystemUser *next; //指向下一個(gè)用戶(hù)的指針</p><p> } SystemUser;</p><p> /** 服裝商品信息 **/</p><p> typedef struct Produ
80、cts {</p><p> int productId; //商品編號(hào),主鍵</p><p> char productName[20]; //商品名稱(chēng)</p><p> char productType[20];
81、 //商品型號(hào)</p><p> char productCompany[20]; //商品廠(chǎng)家</p><p> float productPrice; //商品價(jià)格</p><p> int productCount;
82、//商品數(shù)量</p><p> char memo[50]; //商品附加信息</p><p> struct Products *next; //指向下一個(gè)商品的指針</p><p> } Products;</p><p> /**
83、 銷(xiāo)售記錄信息結(jié)構(gòu) **/</p><p> typedef struct SellInfoRecord {</p><p> int saleId; //銷(xiāo)售編號(hào),主鍵</p><p> char userName[20]; //銷(xiāo)售商品的用
84、戶(hù)名</p><p> int productId; //銷(xiāo)售的商品編號(hào)</p><p> int sellCount; //銷(xiāo)售數(shù)量</p><p> int year;
85、 //銷(xiāo)售商品年份</p><p> int month; //銷(xiāo)售商品月份</p><p> int day; //銷(xiāo)售商品日期</p><p> char memo[50];
86、 //銷(xiāo)售的附加信息</p><p> struct SellInfoRecord *next; //下一條銷(xiāo)售記錄</p><p> } SellInfoRecord;</p><p> static char currentUser[20]; //系統(tǒng)全局變量,保存當(dāng)前登陸用戶(hù)名;</p>&l
87、t;p> static int currentUserType; //系統(tǒng)全局變量,保存當(dāng)前登陸用戶(hù)的用戶(hù)類(lèi)型</p><p> static SystemUser *pSystemUserHead = NULL; //保存系統(tǒng)用戶(hù)信息記錄的頭指針</p><p> static Products *pProductHead = NULL; //保存系統(tǒng)商品信息記錄的頭指針&
88、lt;/p><p> static SellInfoRecord *pSellInfoHead = NULL;//保存系統(tǒng)銷(xiāo)售記錄的頭指針</p><p> void InitSystem(); //對(duì)系統(tǒng)用戶(hù)信息和商品信息進(jìn)行初始化</p><p> int AddUser(SystemUser *); //向用戶(hù)信息鏈表中加入用戶(hù)信息&l
89、t;/p><p> int AddProduct(Products *pPro); //向商品信息鏈表中加入商品信息</p><p> int AddSellInfo(SellInfoRecord *);</p><p> void UserExit();</p><p> void WelcomeMenu();
90、 //系統(tǒng)歡迎菜單</p><p> void SystemLogin(); //系統(tǒng)登陸</p><p> void AdminOperationMenu(); //系統(tǒng)管理員操作菜單</p><p> void BossO
91、perationMenu(); //店長(zhǎng)操作菜單</p><p> void SellOperationMenu(); //銷(xiāo)售員操作菜單</p><p> void ChangePassword(); //修改密碼</p&g
92、t;<p> void UserManage(); //用戶(hù)信息管理</p><p> void UserInfoView(); //用戶(hù)信息查看</p><p> void UserInfoAdd();
93、 //用戶(hù)信息添加</p><p> void UserInfoModify(); //用戶(hù)信息修改</p><p> void UserInfoDelete(); //用戶(hù)信息刪除</p><p> void ProductsManage();
94、 //產(chǎn)品信息管理</p><p> void ProductsView(); //商品查看</p><p> void ProductFind();</p><p> void InputAndAddProduct(); //輸入商品信息并
95、添加</p><p> void ModifyProduct(); //修改商品信息</p><p> void DeleteProduct(); //刪除商品信息</p><p> void ProductsSell();
96、 //商品銷(xiāo)售</p><p> void ReportPrint(); //報(bào)表顯示</p><p> void ShowAllSellReport(); //顯示所有商品銷(xiāo)售情況</p><p> void ShowDaySellReport();
97、 //顯示某日的銷(xiāo)售情況</p><p> void ShowMonthSellReport(); //顯示某月的銷(xiāo)售情況</p><p> void ShowEmployeeSellReport(); //顯示某個(gè)銷(xiāo)售員的銷(xiāo)售情況</p><p> void ExitSystem();
98、 // 退出登陸系統(tǒng)</p><p> float getPriceById(int ); //通過(guò)商品編號(hào)查詢(xún)商品價(jià)格</p><p> int getProductNameById(int,char *); //通過(guò)商品編號(hào)查詢(xún)商品名稱(chēng)</
99、p><p> int getCountById(int); //通過(guò)商品編號(hào)查詢(xún)商品庫(kù)存數(shù)量</p><p> void ReduceProductCount(int,int); //通過(guò)商品編號(hào)減少商品數(shù)量</p><p> /** 對(duì)系統(tǒng)進(jìn)行初始化,建立用戶(hù)記錄和商品記錄
100、 **/</p><p> void InitSystem() {</p><p><b> FILE *fp;</b></p><p> SystemUser adminUser,bossUser,sellUser; //管理員,店長(zhǎng),銷(xiāo)售員三個(gè)角色信息</p><p> Products products[
101、2]; //初始化兩件服裝商品信息</p><p> SellInfoRecord sellInfo[2]; //初始化兩條銷(xiāo)售記錄</p><p><b> //管理員</b></p><p> strcpy(adminUser.userName,"admin"
102、);</p><p> strcpy(adminUser.password,"admin");</p><p> adminUser.userType = ADMIN_USER_TYPE;</p><p> adminUser.next = NULL;</p><p> fp = fopen("Admin
103、.txt", "w");</p><p> fprintf(fp, "%s\t%s", adminUser.userName, adminUser.password);</p><p> fclose(fp);</p><p><b> //店長(zhǎng)</b></p><p&
104、gt; strcpy(bossUser.userName,"boss");</p><p> strcpy(bossUser.password,"boss");</p><p> bossUser.userType = BOSS_USER_TYPE;</p><p> bossUser.next = NULL;<
105、/p><p> fp = fopen("Shopkeeper.txt", "w");</p><p> fprintf(fp, "%s\t%s", bossUser.userName, bossUser.password);</p><p> fclose(fp);</p><p>
106、;<b> //銷(xiāo)售員</b></p><p> strcpy(sellUser.userName,"sell");</p><p> strcpy(sellUser.password,"sell");</p><p> sellUser.userType = SELL_USER_TYPE;<
107、;/p><p> sellUser.next = NULL;</p><p> fp = fopen("Seller.txt", "w");</p><p> fprintf(fp, "%s\t%s", sellUser.userName, sellUser.password);</p>&
108、lt;p> fclose(fp);</p><p> AddUser(&adminUser);</p><p> AddUser(&bossUser);</p><p> AddUser(&sellUser);</p><p> //products[0].productId = 1;</p>
109、;<p> strcpy(products[0].productName,"精品男裝");</p><p> strcpy(products[0].productType,"m001");</p><p> strcpy(products[0].productCompany,"精品服裝制造廠(chǎng)");</p&
110、gt;<p> products[0].productPrice = 23.5;</p><p> products[0].productCount = 100;</p><p> strcpy(products[0].memo,"精品男裝,您的第一選擇");</p><p> products[0].next = NULL
111、;</p><p> //products[1].productId = 2;</p><p> strcpy(products[1].productName,"時(shí)尚女裝");</p><p> strcpy(products[1].productType,"w002");</p><p> s
112、trcpy(products[1].productCompany,"時(shí)尚服裝制造廠(chǎng)");</p><p> products[1].productPrice = 25.5;</p><p> products[1].productCount = 150;</p><p> strcpy(products[1].memo,"時(shí)尚女裝
113、,您的第一選擇");</p><p> products[1].next = NULL;</p><p> AddProduct(&products[0]);</p><p> AddProduct(&products[1]);</p><p> sellInfo[0].day = 16;</p>
114、<p> strcpy(sellInfo[0].memo,"測(cè)試數(shù)據(jù)1");</p><p> sellInfo[0].month = 7;</p><p> sellInfo[0].next = NULL;</p><p> sellInfo[0].productId = 1;</p><p>
115、sellInfo[0].sellCount = 8;</p><p> strcpy(sellInfo[0].userName,"sell");</p><p> sellInfo[0].year = 2008;</p><p> sellInfo[1].day = 17;</p><p> strcpy(sell
116、Info[1].memo,"測(cè)試數(shù)據(jù)2");</p><p> sellInfo[1].month = 7;</p><p> sellInfo[1].next = NULL;</p><p> sellInfo[1].productId = 2;</p><p> sellInfo[1].sellCount =
117、5;</p><p> strcpy(sellInfo[1].userName,"sell");</p><p> sellInfo[1].year = 2008;</p><p> AddSellInfo(&sellInfo[0]);</p><p> AddSellInfo(&sellInfo[
118、1]);};</p><p> /**函數(shù)功能: 向系統(tǒng)用戶(hù)信息鏈表中加入用戶(hù)信息**/</p><p> int AddUser(SystemUser *pUser) {</p><p> SystemUser *pSystemUser,*tempSystemUser;</p><p> tempSystemUser = pSyst
119、emUserHead;</p><p> while(NULL != tempSystemUser) {</p><p> if(0 ==strcmp(tempSystemUser->userName,pUser->userName)) {</p><p> printf("對(duì)不起,你要添加的用戶(hù)已經(jīng)存在");</p>
120、;<p> return FUNCTION_FAILED; }</p><p> tempSystemUser = tempSystemUser->next; }</p><p> pSystemUser = (SystemUser *) malloc(sizeof(SystemUser)); //在堆空間中分配用戶(hù)信息的內(nèi)存</
121、p><p> if(NULL == pSystemUser) {</p><p> printf("分配用戶(hù)信息內(nèi)存時(shí)發(fā)生錯(cuò)誤");</p><p> return FUNCTION_FAILED; } </p><p> strcpy(pSystemUser->userName,pUser->use
122、rName); //拷貝用戶(hù)信息到堆空間中</p><p> strcpy(pSystemUser->password,pUser->password);</p><p> pSystemUser->userType = pUser->userType;</p><p> pSystemUser->next = pUser-&g
123、t;next;</p><p> tempSystemUser = pSystemUserHead;</p><p> if(NULL == tempSystemUser) {</p><p> pSystemUserHead = pSystemUser;</p><p><b> } else {</b><
124、;/p><p> while(NULL != tempSystemUser->next) //遍歷到用戶(hù)信息的最后一條記錄</p><p> tempSystemUser = tempSystemUser->next;</p><p> tempSystemUser->next = pSystemUser;//將用戶(hù)信息加入到鏈表的最后</
125、p><p><b> }</b></p><p> return FUNCTION_SUCCESS;</p><p><b> };</b></p><p> /**函數(shù)功能: 向商品信息鏈表中加入商品信息**/</p><p> int AddProduct(Prod
126、ucts *pPro) {</p><p> int newProductId = 1; //新加入商品的商品編號(hào)從1開(kāi)始</p><p> Products *tempProduct,*pProduct;</p><p> tempProduct = pProductHead; //生成編號(hào),最后一件商品編號(hào)+1</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)-服裝銷(xiāo)售系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)----服裝銷(xiāo)售系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—服裝銷(xiāo)售系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)----銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)(論文)-銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)論文--銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)報(bào)告
- c語(yǔ)言程序課程設(shè)計(jì)報(bào)告-圖書(shū)銷(xiāo)售管理系統(tǒng)
- 服裝銷(xiāo)售系統(tǒng)課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告——《商品銷(xiāo)售管理》
- 銷(xiāo)售管理系統(tǒng)c++課程設(shè)計(jì)
- 服裝銷(xiāo)售系統(tǒng)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論