超市管理系統(tǒng)、C語(yǔ)言課程設(shè)計(jì)_第1頁(yè)
超市管理系統(tǒng)、C語(yǔ)言課程設(shè)計(jì)_第2頁(yè)
超市管理系統(tǒng)、C語(yǔ)言課程設(shè)計(jì)_第3頁(yè)
超市管理系統(tǒng)、C語(yǔ)言課程設(shè)計(jì)_第4頁(yè)
超市管理系統(tǒng)、C語(yǔ)言課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C 語(yǔ)言程序設(shè)計(jì)超市管理統(tǒng)目錄第一章 課程設(shè)計(jì)目的要求1.1 設(shè)計(jì)目的 31.2 設(shè)計(jì)要求 31.3 設(shè)計(jì)思路 3第二章 課程設(shè)計(jì)任務(wù)內(nèi)容2.1 課程設(shè)計(jì)題目 32.2 課程設(shè)計(jì)任務(wù) 42.2.1 設(shè)計(jì)內(nèi)容 4222 各組員任務(wù)4第三章詳細(xì)設(shè)計(jì)說(shuō)明3.1 系統(tǒng)模塊圖43.2 主要函數(shù)定義553.3 結(jié)構(gòu)體的建立和文件的使用 83.3.1 結(jié)構(gòu)體的建立8第四章 課程設(shè)計(jì)心得與體會(huì) 10附錄程序源代碼參考文獻(xiàn)第一章課程設(shè)計(jì)目的要求設(shè)計(jì)“超市管理系統(tǒng)”的主要目的是鍛煉學(xué)生綜合運(yùn)用所學(xué)的 C語(yǔ)言程序 設(shè)計(jì)知識(shí)的能力,獨(dú)自利用 C語(yǔ)言知識(shí)編寫承訓(xùn)解決實(shí)際問(wèn)題的能力,培養(yǎng)同 學(xué)嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和良好的程序設(shè)

2、計(jì)習(xí)慣,讓同學(xué)們認(rèn)識(shí)到必須重視實(shí)踐環(huán)節(jié), 多讀程序,多編寫程序,多上機(jī)實(shí)踐。進(jìn)一步培養(yǎng)結(jié)構(gòu)化程序設(shè)計(jì)的思想,加深 對(duì)高級(jí)語(yǔ)言要素和控制結(jié)構(gòu)的理解。通過(guò)課程設(shè)計(jì)的訓(xùn)練,學(xué)生能夠了解程序設(shè) 計(jì)的基本開(kāi)發(fā)過(guò)程,掌握編寫、調(diào)試和測(cè)試C語(yǔ)言程序的基本過(guò)程,掌握程序設(shè)計(jì)的技巧的大體流程。本次程序設(shè)計(jì)主要側(cè)重于知識(shí)的運(yùn)用,把平時(shí)學(xué)到的運(yùn) 用到實(shí)踐中去。1.1設(shè)計(jì)目標(biāo):1. 熟悉c語(yǔ)言的編譯連接和運(yùn)行過(guò)程。2. 掌握c語(yǔ)言的數(shù)據(jù)類型,熟悉整型、實(shí)型、字符型變量的定義方式及 如何給它們賦值。3. 掌握if語(yǔ)句及switch語(yǔ)句的運(yùn)用方法及嵌套應(yīng)用方法。4. 掌握實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的三種語(yǔ)句 while、do-whil

3、e. 、for的使用。5. 掌握函數(shù)的定義方法和調(diào)用方法。6. 能夠采用模塊化思想調(diào)試程序。7. 指針和文件的使用,結(jié)構(gòu)體的使用1.2設(shè)計(jì)要求:1. 源程序要有適當(dāng)?shù)淖⑨?,使程序容易閱讀。2. 必須用結(jié)構(gòu)體和文件等數(shù)據(jù)結(jié)構(gòu)。3. 程序的運(yùn)行結(jié)果要求使用文件作備份。4. 至少輸出一份報(bào)表,鼓勵(lì)自行增加新功能。第二章 課程設(shè)計(jì)任務(wù)內(nèi)容2.1課程設(shè)計(jì)題目超市管理系統(tǒng)2.2課程設(shè)計(jì)任務(wù)系統(tǒng)為超市管理系統(tǒng),在此系統(tǒng)當(dāng)中需要用到許多函數(shù),包括系統(tǒng) 函數(shù)以及自定義的函數(shù),在這個(gè)系統(tǒng)當(dāng)中,總共分為五個(gè)模塊:管理員登 陸、客戶信息管理、商品管理、購(gòu)物結(jié)算、銷售結(jié)算。2.2.1 設(shè)計(jì)內(nèi)容本次實(shí)習(xí)中,主要用到的C語(yǔ)

4、言知識(shí)有結(jié)構(gòu)體、指針、文件、數(shù)組。層層鑲嵌的思路將各個(gè)模塊要實(shí)現(xiàn)的功能環(huán)環(huán)相扣。其中,在管理員登陸后,進(jìn)入的是主菜單,在這個(gè)環(huán)節(jié)當(dāng)中,我們將菜單設(shè)計(jì)為函數(shù),并將菜 單函數(shù)放入一個(gè)單獨(dú)的C文件中管理,實(shí)現(xiàn)層層進(jìn)入功能。主菜單函數(shù)又 分為商品管理、客戶管理、購(gòu)物結(jié)算、銷售結(jié)算等函數(shù)的管理,在此當(dāng)中, 主要采用結(jié)構(gòu)體定義客戶信息,文件訪問(wèn)等。為保證設(shè)計(jì)在規(guī)定時(shí)間內(nèi)完成,我們將各模塊分工到個(gè)人。確保任務(wù) 有質(zhì)量有效率的同時(shí)鍛煉團(tuán)隊(duì)的團(tuán)結(jié)協(xié)作能力。第三章詳細(xì)設(shè)計(jì)說(shuō)明3.1系統(tǒng)模塊圖(未完)#in elude #in elude“MyParamsH#include“ Mymenu.h”#include“

5、common.h”#include“ CustMan.h”#include“Goodsman.h”二使用了 main() 函數(shù)、 aboutUs() 函數(shù) ,login()函數(shù)和 pcontinue() 函數(shù) void main()char choice=3; / 存儲(chǔ)判斷的選項(xiàng)dosystem(cls); / 清屏命令printf(nn*歡迎進(jìn)入檸檬 5 超市管理系統(tǒng) *nn);printf(n 請(qǐng)您選擇操作選項(xiàng): nn);printf(ttt1.登錄 n);printf(ttt2.關(guān)于我們 n);printf(ttt3.退出系統(tǒng) n);printf(nn*nn);printf(n 請(qǐng)輸入您

6、的選項(xiàng) (1,2,3):);choice=getch(); void aboutUs() system(cls);BreakLine;prin tf(tt版權(quán)所有型南工學(xué)院網(wǎng)絡(luò)1101班檸檬 5nn);printf(ttt 檸檬 5專屬,翻版必究nn);printf(tt技術(shù)扶持 Tell:);BreakLine;pcontinue(); int login()char upwd8;int i;system(cls);for(i=1;i4;i+)BreakLine;printf( 請(qǐng)輸入您的 8位數(shù)密碼 );scanf(%s,upwd);if(strcmp (upwd,realpassword

7、)=0)return 1;printf( 您好,您的密碼錯(cuò)誤,請(qǐng)確認(rèn)后重新輸入 n);printf(您還有d次輸入機(jī)會(huì), (3-i);printf(n 系統(tǒng)鄭重提示,您不是合法用戶,強(qiáng)制退出 n);exit(0); 在common.c定義void pcontinue()函數(shù)實(shí)現(xiàn)按任意鍵繼續(xù)功能void pcontinue()按任意鍵繼續(xù) n);printf(tgetch();三清屏語(yǔ)句, Do while ,宏定義等的使用 清屏語(yǔ)句: system(cls);使用了 Do While 循環(huán)實(shí)現(xiàn)了在進(jìn)入關(guān)于我們部分時(shí)可以再次返回登陸界面使用了宏定義。在頭文件 MyParam.h中定義BreakL

8、ine #define BreakLineprintf(nn*nn)使用了 switch 語(yǔ)句進(jìn)行了選擇并且在語(yǔ)句中使用了多種函數(shù)嵌套使功能完整。switch(choice)case 1:if(login()=1)showMainMenu();break;case 2: aboutUs(); break;case 0: printf(nn系統(tǒng)安全退出 nn);exit(0);break;在輸入密碼部分使用了 For 循環(huán),實(shí)現(xiàn)了在登陸三次密碼不正確的情況下強(qiáng)制 退出系統(tǒng):for(i=1;i4;i+)BreakLine;printf( 請(qǐng)輸入您的 8位密碼 :);scanf(%s,upwd);

9、/數(shù)組名代表數(shù)組的首地址,所以不要 &if(strcmp(upwd,realpassword)=0)return(1); /1 表示登錄成功prin tf(n您好,您的密碼錯(cuò)誤,請(qǐng)確認(rèn)后重新輸入 n);printf(n您還有第c次輸入機(jī)會(huì),(3-i);printf(n系統(tǒng)鄭重提示,您不是合法用戶,強(qiáng)制退出npcontinue();exit(0);void showMainMenu();再在 void showMainMenu(); 其中嵌套void showGoodsMenu();void showCustMenu();void showShopMenu();void showSaleMenu

10、();和銷在這些函數(shù)中也就是商品管理,客戶信息管理,購(gòu)物結(jié)算 , 售結(jié)算四大功能模塊。依照前面的嵌套方法一一實(shí)現(xiàn)他的功能。 在四大模塊菜單中有void addGoods();void findGoodsAll();void updateGoods();voiddelGoods();voidaddcust();voiddelcust();voidupdatecust();voidfindall();voidsaveAll();voidsaveall();實(shí)現(xiàn)了客戶管理中:添加客戶、查詢客戶、刪除客戶、修改客戶、返回上一級(jí) 商品管理中:添加商品、查詢商品、刪除商品、修改商品、返回上一級(jí) 等部分的功

11、能。在四大模塊菜單中有void showVIP();void Goodseffect();void Goodssave();void Birthdayperson();void showMymenue();void shopping(); 實(shí)現(xiàn)了購(gòu)物結(jié)算中:商品交易信息、返回上一級(jí) 銷售預(yù)算中: 顯示最具有貢獻(xiàn)精神 VIP 客戶排行榜 顯示最具有影響力的商品排行榜 顯示庫(kù)存商品量排行榜 當(dāng)月生日的客戶 以及返回上一級(jí)等功能3.3 結(jié)構(gòu)體的建立和文件的使用在實(shí)現(xiàn)添加功能時(shí)使用了結(jié)構(gòu)體、指針等對(duì)現(xiàn)階段我們來(lái)說(shuō)較難理解 的內(nèi)容。我們會(huì)在程序中用到如下結(jié)構(gòu)體語(yǔ)句:Struct date/ 日期int

12、year/ 年 int month/ 月 int day/ 日 Struct cust/ 客戶信息 int no/ 編號(hào) char name20 姓名 char sex/ 性別 int age/ 年齡 struct date birthday/生日double expenditure/ 花費(fèi)char tel/ 電話號(hào)碼Struct goods/ 商品信息nt num/ 商品代碼char name50/ 商品名字int sale/ 商品數(shù)量float price/ 商品單價(jià)int lacation/ 商品位置在整個(gè)程序中我們會(huì)如下用到結(jié)構(gòu)體語(yǔ)句,不同的結(jié)構(gòu)體類型:struct custint n

13、o;char name20;char sex;int age; struct date birthday; double expendituer; char tel20; cust1000;3 3.2 文件的使用客戶信息管理和商品管理都有用到文件,它于我們是重點(diǎn)也是難點(diǎn) 定義文件FILE*fp;int i;if(fp=fopen(cust.dat,wb)=NULL)printf(n 無(wú)法打開(kāi)文件 n);return;for(i=0;itotal;i+) fwrite(&custi,sizeof(struct cust),1,fp);fclose(fp); 定義函數(shù) read_message()

14、 打開(kāi)文件i nt read_message()FILE*fp;int i=0;/ 記數(shù)/ 打開(kāi)文件if(fp=fopen(cust.dat,rb)=NULL)printf(n* 暫無(wú)任何可讀消息 , 按任意鍵繼續(xù) *n); getch();return 0; / 循環(huán)讀取文件中的每一條記錄 (3)結(jié)合循環(huán)語(yǔ)句,關(guān)閉文件while(!feof(fp)fread(&custi,sizeof(struct cust), 1, fp);if(custi.no=0)break;else i+;fclose(fp);return i;第四章 程序設(shè)計(jì)心得與體會(huì) 通過(guò)為期兩周的課程設(shè)計(jì),我們不僅復(fù)習(xí)了課本

15、上所學(xué)知識(shí),還通過(guò)查閱 資料、詢問(wèn)老師同學(xué)學(xué)到了很多課本上沒(méi)有的只是, 從而啟發(fā)我們: 要想寫好程 序,在學(xué)好課本只是的同時(shí)還需要多閱讀和專業(yè)有關(guān)的書記, 同時(shí)還需要多動(dòng)腦 子,要有縝密的邏輯思維能力和綜合應(yīng)用能力。簡(jiǎn)而言之,我們要做到三心:編 寫代碼要細(xì)心;檢查錯(cuò)誤要耐心;完成任務(wù)要恒心。除此,在學(xué)到知識(shí)的同時(shí)鍛 煉了我們的團(tuán)結(jié)合作精神,也使得我們小組成員之間有更深的交流。所以,很感謝學(xué)校和老師給我們提供這樣一個(gè)機(jī)會(huì)。在鍛煉自己的同時(shí)讓 自己養(yǎng)成了良好的學(xué)習(xí)習(xí)慣。我希望自己能一直帶著這份心態(tài)和習(xí)慣大步向前。參考文獻(xiàn)1武愛(ài)平 卜耀華 孫東衛(wèi) C語(yǔ)言程序設(shè)計(jì)M.長(zhǎng)春:吉林大學(xué)出版社。附錄檸檬 5

16、supermarket管理系統(tǒng)源代碼Source Files1. com mon .cvoid pcontinue();void pcontinue()printf(t 按任意鍵繼續(xù) n);getch();2. Main.c#include #include / 字符串 先到系統(tǒng)的庫(kù)找,再到用戶庫(kù)#include #include #include MyParams.h#include common.h#include mymenu.hvoid aboutUs();int login();char realpassword8=ningmeng; / 系統(tǒng)的真實(shí)登錄密碼void main()ch

17、ar choice=3; / 存儲(chǔ)判斷的選項(xiàng)dosystem(cls); / 清屏命令/ 打印出程序歡迎界面printf(nn*歡迎進(jìn)入檸檬 5超市管理系統(tǒng)*nn);printf(n 請(qǐng)您選擇操作選項(xiàng): nn);printf(ttt1.登錄 n);printf(ttt2.關(guān)于我們n);printf(ttt3.退出系統(tǒng)n);printf(nn*nn); /完成輸入操作printf(n請(qǐng)輸入您的選項(xiàng)(1,2,3):);choice=getch(); /getch()從鍵盤輸入一個(gè)字符/ 判斷 switch( 變量) case值 1: xxx; break; default xxx;switch(c

18、hoice)case 1: if(login()=1)showMymenue(); break;case 2: aboutUs();break;case 3: printf(nn系統(tǒng)安全退出 nn);exit(0);break; while(1);void aboutUs()system(cls);BreakLine;prin tf(tt 版權(quán)所有型南工學(xué)院網(wǎng)絡(luò)1101班檸檬 5nn); printf(ttt檸檬 5專屬,翻版必究nn);printf(tt技術(shù)扶持 Tell:);BreakLine;pcontinue();int login()char upwd8;int i;system(c

19、ls);for(i=1;i4;i+)BreakLine;printf( 請(qǐng)輸入您的 8位數(shù)密碼 :);scanf(%s,upwd); if(strcmp (upwd,realpassword)=0) return 1;printf( 您好,您的密碼錯(cuò)誤,請(qǐng)確認(rèn)后重新輸入 n); printf(您還有d次輸入機(jī)會(huì), (3-i);printf(n 系統(tǒng)鄭重提示, 您不是合法用戶, 為系統(tǒng)安全, 強(qiáng)制退出 n); exit(0);3. mymenu.c#include #include #include #include #include mymenu.h#include common.h #inc

20、lude MyParams.h #include CustMan.h#include Goodsman.h void showGoodsmenue(); void showCustmenue(); void showSales(); void showSell();void showMymenue()char choice=5;while(1)system(cls);BreakLine;printf(tt1.商品管理 n);printf(tt2.客戶管理 n);printf(tt3.購(gòu)物預(yù)算 n);printf(tt4.銷售預(yù)算 n);printf(tt5.退出系統(tǒng) n);BreakLine;

21、printf(nn 請(qǐng)輸入您的選擇 (1,2,3,4,5):);choice=getch();switch (choice)case1: showGoodsmenue(); break;case2: showCustmenue(); break;case3: showSell(); break;case4: showSales(); break;case5:printf(nn 系統(tǒng)安全退出 nn); exit(0);break;default: printf(n 您的輸入有誤,請(qǐng)檢查后重新輸入 n);pcontinue();void showGoodsmenue()char choice=5;

22、while(1)system(cls);BreakLine;printf(tt1.添加商品 n);printf(tt2.查詢商品 n);printf(tt3.更新商品 n);printf(tt4.刪除商品 n);printf(tt5.返回上一級(jí) n);BreakLine;printf(nn請(qǐng)輸入您的選擇 (1,2,3,4,5):choice=getch();switch (choice)case1: addgoods();break;case2: findgoods();break;case3: updategoods();break;case4: delgoods();break;case5

23、: showMymenue();break;default: printf(n您的輸入有誤,請(qǐng)檢查后重新輸入 n);pcontinue();void showCustmenue()char choice=5;while(1) system(cls); BreakLine;printf(tt1.printf(tt2.添加客戶 n); 查找客戶 n);printf(tt3.printf(tt4. printf(tt5. BreakLine;修改客戶 n); 刪除客戶 n); 返回上一級(jí) n);printf(nn請(qǐng)輸入您的選擇 (1,2,3,4,5):);choice=getch();switch

24、(choice)case1: addcust();break;case2: findall();break;case3: updatecust();break;case4: delcust();break;case5: showMymenue();break;default: printf(n您的輸入有誤,請(qǐng)檢查后重新輸入 n);pcontinue();void showSales()char choice=5;while(1) system(cls);BreakLine;printf(tt1.printf(tt2.printf(tt3.顯示最具有貢獻(xiàn)精神VIP客戶排行榜n); 顯示最具有影響

25、力的商品排行榜 n); 顯示庫(kù)存商品量排行榜 n);printf(tt4. printf(tt5. BreakLine;當(dāng)月生日的客戶 n);返回上一級(jí) n);printf(ntt請(qǐng)輸入您的選擇 (1,2,3,4,5):);choice=getch();switch(choice)case 1: showVIP(); break;case 2: Goodseffect(); break;case 3: Goodssave(); break;case 4: Birthdayperson(); break;case 5: showMymenue(); break;default: printf(n

26、tt您的輸入有誤, 請(qǐng)確認(rèn)重新輸入 .n);pcontinue();/ 調(diào)用按任意鍵繼續(xù)void showSell()char choice=2;while(1)system(cls);BreakLine;printf(tt1.商品交易信息 n);printf(tt2.返回上一級(jí) n);BreakLine;printf(ntt 請(qǐng)輸入您的選擇 (1,2,):); choice=getch();switch(choice)case 1: shopping(); break;case 2: showMymenue(); break;default: printf(ntt您的輸入有誤, 請(qǐng)確認(rèn)重新輸

27、入 .n);pcontinue(); / 調(diào)用按任意鍵繼續(xù)4. Custman.c#include #include #include #include #include MyParams.h#include common.h#include mymenu.h#include CustMan.h read_message();struct dataint year; int month;int day; ; struct custint no; / 編號(hào)char name20; /名字double expenditure;/總花費(fèi)char tel20;/電話號(hào)碼struct data birt

28、hday;/生日cust1000; / 最多存 1000 個(gè)客戶信息int total; / 現(xiàn)在 cust.dat 文件中總的紀(jì)錄條數(shù) void saveAll()FILE*fp;int i;if(fp=fopen(cust.dat,wb)=NULL) printf(n 無(wú)法打開(kāi)文件 n);return; for(i=0;i0)printf(n*顯示所有客戶信息 *n);printf(n 編號(hào) t 姓名 t 消費(fèi) tt 電話 tt 生日 );for(i=0;itotal;i+) c=custi;printf(n %dt %st %lft %st %d-%d-%dtn,c.no,,

29、c.expenditure,c.tel,c.birthday);printf(nnnnn);elseprintf(n* 系統(tǒng)中暫無(wú)任何客戶信息 *); pcontinue();getch();void updatecust()int i;int toupdateno; /要更新的編號(hào)int j;system(cls);total=read_message(); / 讀出信息 printf(n 請(qǐng)輸入您要更新的客戶編號(hào) :); scanf(%d,&toupdateno); / 查找 for(i=0;itotal;i+)if(toupdateno=custi.no)break; /i 里面記錄了要

30、更新的客戶的索引 if(i=total)printf(n 沒(méi)有找到要更新的客戶 n); printf( 按任意鍵繼續(xù) n);getch();return;printf(n*請(qǐng)更新用戶信息 *n);printf( 請(qǐng)輸入客戶姓名 :);scanf(%s,); printf( 請(qǐng)輸入客戶消費(fèi) :);scanf(%d,&custi.expenditure);printf( 請(qǐng)輸客戶電話 :);scanf(%s,custi.tel);printf( 請(qǐng)輸入客戶的生日 ( 格式: 1999-9-9):);scanf(%d-%d-%d,&custi.birthday.year,&cus

31、ti.birthday.month,&custi.birthday.day);BreakLine;saveAll();printf(n 更新客戶信息成功,按任意鍵繼續(xù) n);getch();void delcust()int i;int todelno;/ 刪除客戶的編號(hào)int j;char choice=n; / 記錄是否真正刪除 system(cls);total=read_message();/ 先讀出數(shù)據(jù)printf(n 請(qǐng)輸入您要?jiǎng)h除的客戶的編號(hào) :); scanf(%d, &todelno);for(i=0;itotal;i+)if(todelno=custi.no)break;i

32、f(i=total)printf(n 沒(méi)有找到您要?jiǎng)h除的客戶 n); pcontinue();getch();return;(y or n);printf( 親愛(ài)的管理員,刪除后無(wú)法恢復(fù),您確定要?jiǎng)h除嗎? choice=getch();if (choice=n)printf(n 放棄刪除,返回上一級(jí) n); printf(n 按任意鍵繼續(xù) n);getch();return;/ 真正刪除, 實(shí)際上是覆蓋 for(j=i;jtotal;j+)custj=custj+1;total-=1;saveAll();printf(n 刪除客戶數(shù)據(jù)成功 n); printf(n 按任意鍵繼續(xù) n);getc

33、h();5. Goodsman.c#include #include #include #include #include MyParams.h#include common.h#include mymenu.h#include Goodsman.hstruct date int year;int month; int day;J,struct goodsint no; /編碼:char name20; / 名稱:struct date scday; /生產(chǎn)期 struct date:表示結(jié)構(gòu)體類型 date 型scday 變量名 生日 :-struct dateint expenda;/ 原

34、價(jià) :int expendb;/ 單價(jià):int save; /庫(kù)存量int sell; /出售量goods100000; / 定義一個(gè)全局的結(jié)構(gòu)體數(shù)組 100000 int total;int read_Message()FILE *fp;int i=0;if(fp=fopen(goods.dat,rb)=NULL)printf(n* 暫無(wú)任何可讀信息, 按任意鍵繼續(xù) *); getch();return 0;while(feof(fp)!=1) fread(&goodsi,sizeof(struct goods),1,fp); if(goodsi.no=0)break;elsei+; fcl

35、ose(fp);return i;void saveall()FILE*fp;int i; if(fp=fopen(goods.dat,wb)=NULL) printf(n 無(wú)法打開(kāi)文件 n);return; for(i=0;itotal;i+) fwrite(&goodsi,sizeof(struct goods),1,fp); fclose(fp);void addgoods()struct goods newgoods; / 新加入的結(jié)構(gòu)體數(shù)組 char choice=y; / 是否繼續(xù)錄入信息FILE *fp; / int i=0; /i do文件指針,用它指向一個(gè)文件是一個(gè)計(jì)數(shù)器,因

36、為文件中最多存 1000 個(gè)數(shù)據(jù)system(cls);printf(n*添加商品信息 *n);printf( 請(qǐng)輸入商品編碼 :);scanf(%d,&newgoods.no); / 取地址因?yàn)樗且粋€(gè)基本類型的數(shù)據(jù) BreakLine;printf(請(qǐng)輸入商品名稱 :);scanf(%s,&);BreakLine;printf( 請(qǐng)輸入商品生產(chǎn)期 :( 格式如下 :1999-9-9):); scanf(%d-%d-%d,&,&,&;printf( 請(qǐng)輸入商品原價(jià) :);scanf(%d,&newgoods.expenda);printf( 請(qǐng)輸入商品單價(jià) :);s

37、canf(%d,&newgoods.expendb);printf( 請(qǐng)輸入商品出售量 :);scanf(%d,&newgoods.sell);printf( 請(qǐng)輸入商品庫(kù)存量 :);scanf(%d,&newgoods.save);/ 以上完成了輸入客戶信息的操作;/ 將 newcust 結(jié)構(gòu)體中的數(shù)據(jù)保存到一個(gè)磁盤文件中if(fp=fopen(goods.dat,ab)=NULL)printf( 無(wú)法打開(kāi)文件 );return; / 如果打得開(kāi)文件 / 要保存數(shù)據(jù)的地址 這個(gè)數(shù)據(jù)類型的長(zhǎng)度 幾個(gè)數(shù)組文件指針 fwrite(&newgoods, sizeof(struct goods), 1

38、, fp);fclose(fp); / 重新確認(rèn)是否繼續(xù)錄入 printf(n 還要繼續(xù);錄入商品信息嗎 ?(y/n); choice=getch();while(choice=y);void delgoods()int i,j;int todelno;char choice=n;system(cls);total=read_Message();printf(n 請(qǐng)輸入你要?jiǎng)h除的商品的編碼 :);scanf(%d,&todelno);for(i=0;itotal;i+)if(todelno=goodsi.no)break; / 如果,沒(méi)有找到要?jiǎng)h除的商品if(i=total)printf(n沒(méi)

39、有找到您想刪除的商品 n);printf(n按任意鍵繼續(xù) n);getch();return;(y/n);printf( 親愛(ài)的管理員,刪除后無(wú)法恢復(fù),您確定要?jiǎng)h除嗎? choice=getch();if(choice=n)printf(n 放棄刪除,返回上一級(jí) n);printf(n 按任意鍵繼續(xù) n);getch();return;for(j=i;jtotal;j+)goodsj=goodsj+1 ;total-=1;saveall();printf(n 刪除商品數(shù)據(jù)成功 n); pcontinue();getch();void updategoods()int i;int todelno

40、;struct goods gx;char choice=n;system(cls); total=read_Message(); printf(n 請(qǐng)輸入你要更新的商品的編號(hào) :); scanf(%d,&todelno); for(i=0;i0)printf(n* 顯示所有商品信息 *n);printf(n編號(hào)t名稱t生產(chǎn)期tt 原價(jià)t單價(jià)t出售量t庫(kù)存量 n);for(i=0;itotal;i+)c=goodsi;printf(n%dt%st%d-%d-%dt%dt%dt%dt%dn,c.no,,c.expenda,c.expendb,c.sell,c.save);BreakL

41、ine;elseprintf(n*系統(tǒng)中暫無(wú)任何商品信息 *n);printf(n 按任意鍵繼續(xù) n);getch();6. Save.c#include #include #include Save.h#include common.h#include MyParams.h#include mymenu.hint read_message();int read_Message();struct dataint year;int month;int day;struct custint no;/編號(hào)char name20;/名字double expenditure; /總花費(fèi)char tel20;/電話號(hào)碼生日struct data birthday; /cust1000; /int total; /現(xiàn)在 cust.dat 文件中總的紀(jì)錄條數(shù)最多存 1000 個(gè)客戶信息struct goodsint no;/編碼:char name20;/名稱:struct data scday;/生產(chǎn)期 struct date: 表示結(jié)構(gòu)體類型date 型 scday 變量名生日 :- struct dateint expenda;/原價(jià):int expendb;/單價(jià):int s

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論