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

下載本文檔

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

文檔簡介

1、C 語言程序設(shè)計(jì)超 市 管 理 系目錄第一章課程設(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)容 42.2.2 各組員任務(wù) 4第三章詳細(xì)設(shè)計(jì)說明3.1 系統(tǒng)模塊圖 43.1.1 43.1.2 53.2 主要函數(shù)定義 53.2.1 主函數(shù) 53.2.2 其他函數(shù) 73.3 結(jié)構(gòu)體的建立和文件的使用 83.3.1 結(jié)構(gòu)體的建立 83.3.2 文件的使用 9第四章課程設(shè)計(jì)心得與體會(huì) 10附錄程序源代碼參考文獻(xiàn)第一章課程設(shè)計(jì)目的要求設(shè)計(jì)“超市管理系統(tǒng)”的主要目的是鍛煉學(xué)生綜合運(yùn)用所學(xué)的 C

2、 語言程序 設(shè)計(jì)知識(shí)的能力,獨(dú)自利用 C 語言知識(shí)編寫承訓(xùn)解決實(shí)際問題的能力,培養(yǎng)同 學(xué)嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和良好的程序設(shè)計(jì)習(xí)慣,讓同學(xué)們認(rèn)識(shí)到必須重視實(shí)踐環(huán)節(jié), 多讀程序,多編寫程序,多上機(jī)實(shí)踐。進(jìn)一步培養(yǎng)結(jié)構(gòu)化程序設(shè)計(jì)的思想,加深 對(duì)高級(jí)語言要素和控制結(jié)構(gòu)的理解。 通過課程設(shè)計(jì)的訓(xùn)練, 學(xué)生能夠了解程序設(shè) 計(jì)的基本開發(fā)過程,掌握編寫、調(diào)試和測試 C 語言程序的基本過程,掌握程序 設(shè)計(jì)的技巧的大體流程。 本次程序設(shè)計(jì)主要側(cè)重于知識(shí)的運(yùn)用, 把平時(shí)學(xué)到的運(yùn) 用到實(shí)踐中去。1.1 設(shè)計(jì)目標(biāo):1. 熟悉 c 語言的編譯連接和運(yùn)行過程。2. 掌握 c 語言的數(shù)據(jù)類型,熟悉整型、實(shí)型、字符型變量的定義方式及

3、如何給它們賦值。3. 掌握 if 語句及 switch 語句的運(yùn)用方法及嵌套應(yīng)用方法。4. 掌握實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的三種語句 while 、do-while. 、 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)當(dāng)中需要用到許多函數(shù),包括系統(tǒng)函數(shù)以及自定義的函數(shù),在這個(gè)

4、系統(tǒng)當(dāng)中,總共分為五個(gè)模塊:管理員登 陸、客戶信息管理、商品管理、購物結(jié)算、銷售結(jié)算。2.2.1設(shè)計(jì)內(nèi)容主要用到的C語言知識(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ù)又分為商品管理、客戶管理、購物結(jié)算、銷售結(jié)算等函數(shù)的管理,在此當(dāng)中, 主要采用結(jié)構(gòu)體定義客戶信息,文件訪問等。2.2.2各組員任務(wù)為保證設(shè)計(jì)在規(guī)定時(shí)間內(nèi)完成,我們將各模塊分工到個(gè)人。確保任務(wù)有質(zhì)量有效 率的同時(shí)鍛煉團(tuán)隊(duì)的團(tuán)結(jié)協(xié)作能力。第三章詳細(xì)設(shè)計(jì)說明3.1

5、系統(tǒng)模塊圖(未完)進(jìn)入超市管理系統(tǒng)主界面客戶管理3.2主要函數(shù)定義商品管理*購物結(jié)算銷售結(jié)算添修互數(shù)主用用戶戶1.一刪要包含的詢登陸界面并且設(shè)置登陸界面其中包含: 用 戶2關(guān)于我們 3退出系統(tǒng)實(shí)現(xiàn)其功能主要用到如下知識(shí):其中使用了多種系統(tǒng)自定義的頭文件以及用戶自定義的頭文件如下:#in clude<stdio.h>#i nclude<stri ng.h> #in clude<c oni o.h> #in clude<stdlib.h> #in clude<math.h>#i nclude“ MyParams.h ”#i nclude“

6、Mymenu.h ”#i ncludecommon .h#i nclude“CustMan.h ”#include “ Goodsman.h二使用了 main() 函數(shù)、 aboutUs() 函數(shù) ,login() 函數(shù)和 pcontinue() 函數(shù) voidmain()charchoice='3'/ 存儲(chǔ)判斷的選項(xiàng)dosystem("cls");/ 清屏命令printf("nn* 歡迎進(jìn)入檸檬5 超市管理系統(tǒng) *nn"); printf("n 請您選擇操作選項(xiàng): nn");printf("ttt1.登錄

7、n");printf("ttt2.關(guān)于我們 n");printf("ttt3.退出系統(tǒng) n");printf("nn*nn");printf("n 請輸入您的選項(xiàng) (1,2,3):");choice=getch(); voidaboutUs() system("cls");BreakLine;printf("tt版權(quán)所有湖南工學(xué)院網(wǎng)絡(luò)1101班檸檬5nn");printf("ttt檸檬5專屬,翻版必究nn");printf("tt 技術(shù)

8、扶持 Tellquot;);BreakLine;pcontinue(); intlogin()charupwd8;inti;system("cls");for(i=1;i<4;i+)BreakLine;printf(" 請輸入您的 8 位數(shù)密碼 ");scanf("%s",upwd); if(strcmp(upwd,realpassword)=0) return1;printf(" 您好,您的密碼錯(cuò)誤,請確認(rèn)后重新輸入 n");printf("您還有%d次輸入機(jī)會(huì)"

9、;,(3-i);printf("n 系統(tǒng)鄭重提示,您不是合法用戶,強(qiáng)制退出 n");exit(0); 在 common.c 定義 voidpcontinue() 函數(shù)實(shí)現(xiàn)按任意鍵繼續(xù)功能 voidpcontinue()printf("t 按任意鍵繼續(xù) n");getch();三清屏語句, Dowhile ,宏定義等的使用清屏語句: system("cls");使用了 DoWhile 循環(huán)實(shí)現(xiàn)了在進(jìn)入關(guān)于我們部分時(shí)可以再次返回登陸界面 使用了宏定義。在頭文件 MyParam.h中定義BreakLine#defineBreakLinepr

10、intf("nn*nn")使用了 switch 語句進(jìn)行了選擇并且在語句中使用了多種函數(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;i<4;i+)BreakLine;printf(&

11、quot; 請輸入您的 8 位密碼 :");scanf("%s",upwd);/ 數(shù)組名代表數(shù)組的首地址,所以不要 & if(strcmp(upwd,realpassword)=0)return(1);/1 表示登錄成功prin tf("n 您好,您的密碼錯(cuò)誤,請確認(rèn)后重新輸入 n");printf("n 您還有第 %d 次輸入機(jī)會(huì) ",(3-i);prin tf("n系統(tǒng)鄭重提示,您不是合法用戶,強(qiáng)制退出 n");pcontinue();exit(0);3.2.2 其他函數(shù)部分voidshowM

12、ainMenu();再在 voidshowMainMenu(); 其中嵌套voidshowGoodsMenu();voidshowCustMenu();voidshowShopMenu();voidshowSaleMenu();在這些函數(shù)中也就是商品管理, 客戶信息管理, 購物結(jié)算 ,和銷售結(jié)算四大功能模塊。依照前面的嵌套方法一一實(shí)現(xiàn)他的功能。在四大模塊菜單中有voidaddGoods();voidfindGoodsAll();voidupdateGoods();voiddelGoods();voidaddcust();voiddelcust(); voidupdatecust();voidf

13、indall();voidsaveAll();voidsaveall();實(shí)現(xiàn)了客戶管理中:添加客戶、查詢客戶、刪除客戶、修改客戶、返回上一級(jí) 商品管理中:添加商品、查詢商品、刪除商品、修改商品、返回上一級(jí) 等部分的功能。在四大模塊菜單中有voidshowVIP();voidGoodseffect();voidGoodssave();voidBirthdayperson();voidshowMymenue();voidshopping();實(shí)現(xiàn)了購物結(jié)算中:商品交易信息、返回上一級(jí) 銷售預(yù)算中:顯示最具有貢獻(xiàn)精神 VIP 客戶排行榜 顯示最具有影響力的商品排行榜 顯示庫存商品量排行榜 當(dāng)月生日

14、的客戶以及返回上一級(jí)等功能3.3 結(jié)構(gòu)體的建立和文件的使用在實(shí)現(xiàn)添加功能時(shí)使用了結(jié)構(gòu)體、指針等對(duì)現(xiàn)階段我們來說較難理解的內(nèi)容3.3.1 結(jié)構(gòu)體語句的使用我們會(huì)在程序中用到如下結(jié)構(gòu)體語句:Structdate/ 日期intyear/ 年 intmonth/ 月 intday/ 日 Structcust/ 客戶信息 intno/ 編號(hào) charname20 姓名 charsex/ 性別 intage/ 年齡 structdatebirthday/ 生日 doubleexpenditure/ 花費(fèi) chartel/ 電話號(hào)碼 Structgoods/ 商品信息 ntnum/ 商品代碼 charnam

15、e50/ 商品名字 intsale/ 商品數(shù)量 floatprice/ 商品單價(jià) intlacation/ 商品位置 在整個(gè)程序中我們會(huì)如下用到結(jié)構(gòu)體語句,不同的結(jié)構(gòu)體類型: structcustintno;charname20;charsex;intage;structdatebirthday;doubleexpendituer;chartel20;cust1000;3 3.2 文件的使用客戶信息管理和商品管理都有用到文件,它于我們是重點(diǎn)也是難點(diǎn)定義文件FILE*fp;inti;if(fp=fopen("cust.dat","wb")=NULL)pri

16、ntf("n 無法打開文件 n");return;for(i=0;i<total;i+)fwrite(&custi,sizeof(structcust),1,fp);fclose(fp);定義函數(shù) read_message() 打開文件i ntread_message()FILE*fp;inti=0;/ 記數(shù)/ 打開文件if(fp=fopen("cust.dat","rb")=NULL)printf("n* 暫無任何可讀消息 ,按任意鍵繼續(xù) *n"); getch();return0;/ 循環(huán)讀取文件

17、中的每一條記錄(3)結(jié)合循環(huán)語句,關(guān)閉文件while(!feof(fp) fread(&custi,sizeof(structcust),1,fp);if(custi.no=0)break;elsei+;fclose(fp);returni;第四章程序設(shè)計(jì)心得與體會(huì)通過為期兩周的課程設(shè)計(jì),我們不僅復(fù)習(xí)了課本上所學(xué)知識(shí),還通過查閱資料、詢問老師同學(xué)學(xué)到了很多課本上沒有的只是, 從而啟發(fā)我們: 要想寫好程 序,在學(xué)好課本只是的同時(shí)還需要多閱讀和專業(yè)有關(guān)的書記, 同時(shí)還需要多動(dòng)腦 子,要有縝密的邏輯思維能力和綜合應(yīng)用能力。簡而言之,我們要做到三心:編 寫代碼要細(xì)心;檢查錯(cuò)誤要耐心;完成任務(wù)要

18、恒心。除此,在學(xué)到知識(shí)的同時(shí)鍛 煉了我們的團(tuán)結(jié)合作精神,也使得我們小組成員之間有更深的交流。所以,很感謝學(xué)校和老師給我們提供這樣一個(gè)機(jī)會(huì)。在鍛煉自己的同時(shí)讓 自己養(yǎng)成了良好的學(xué)習(xí)習(xí)慣。我希望自己能一直帶著這份心態(tài)和習(xí)慣大步向前。參考文獻(xiàn)1武愛平卜耀華孫東衛(wèi) .C語言程序設(shè)計(jì)M.長春:吉林大學(xué)出版社。附錄檸檬5supermarket 管理系統(tǒng)源代碼SourceFiles1. common.cvoidpcontinue();voidpcontinue()printf("t 按任意鍵繼續(xù) n");getch();2. Main.c#include<stdio.h>#i

19、nclude<string.h>/ 字符串< 先到系統(tǒng)的庫找,再到用戶庫#include<conio.h>#include<stdlib.h> #include"MyParams.h"#include"common.h" #include"mymenu.h"voidaboutUs();intlogin();charrealpassword8="ningmeng"/ 系統(tǒng)的真實(shí)登錄密碼 voidmain()charchoice='3'/ 存儲(chǔ)判斷的選項(xiàng)dosy

20、stem("cls");/ 清屏命令/ 打印出程序歡迎界面printf("nn*歡迎進(jìn)入檸檬 5超市管理系統(tǒng)*nn");printf("n 請您選擇操作選項(xiàng): nn");prin tf("ttt1.登錄 n");printf("ttt2.關(guān)于我們 n");printf("ttt3.退出系統(tǒng) n");printf("nn*nn");/完成輸入操作printf("n 請輸入您的選項(xiàng) (1,2,3):");choice=getch();/ge

21、tch() 從鍵盤輸入一個(gè)字符/ 判斷 switch(變量)case 值 1:xxx;break;defaultxxx;switch(choice)case'1':if(login()=1)showMymenue();break;case'2':aboutUs();break;case'3':printf("nn 系統(tǒng)安全退出 nn");exit(0);break;while(1);voidaboutUs()system("cls");BreakLine;printf("tt版權(quán)所有湖南工學(xué)院網(wǎng)絡(luò)

22、1101班檸檬5nn");printf("ttt 檸檬5專屬,翻版必究nn");printf("tt 技術(shù)扶持 Tellquot;);BreakLine;pcontinue();intlogin()charupwd8;inti;system("cls");for(i=1;i<4;i+)BreakLine;printf(" 請輸入您的 8 位數(shù)密碼 :");scanf("%s",upwd); if(strcmp(upwd,realpassword)=0)return

23、1;printf(" 您好,您的密碼錯(cuò)誤,請確認(rèn)后重新輸入 n");printf("您還有%d次輸入機(jī)會(huì)",(3-i);printf("n 系統(tǒng)鄭重提示,您不是合法用戶,為系統(tǒng)安全,強(qiáng)制退出 n");exit(0);3. mymenu.c#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>#include"mymenu.h"#include"common.h"#

24、include"MyParams.h"#include"CustMan.h"#include"Goodsman.h"voidshowGoodsmenue();voidshowCustmenue();voidshowSales();voidshowSell();voidshowMymenue()charchoice='5'while(1)system("cls");BreakLine;printf("tt1. 商品管理 n");printf("tt2. 客戶管理 n&qu

25、ot;);printf("tt3. 購物預(yù)算 n");printf("tt4. 銷售預(yù)算 n");printf("tt5. 退出系統(tǒng) n");BreakLine;printf("nn 請輸入您的選擇 (1,2,3,4,5):");choice=getch();switch(choice)case'1':showGoodsmenue(); break;case'2':showCustmenue();break;case'3':showSell();break;case&

26、#39;4':showSales();break;case'5':printf("nn 系統(tǒng)安全退出 nn");exit(0);pcontinue();voidshowGoodsmenue()charchoice='5'while(1)system("cls");BreakLine;printf("tt1. 添加商品 n");printf("tt2. 查詢商品 n");printf("tt3. 更新商品 n");printf("tt4. 刪除商品

27、 n");printf("tt5. 返回上一級(jí) n");BreakLine;printf("nn 請輸入您的選擇 (1,2,3,4,5):");choice=getch();switch(choice)case'1':addgoods();break;case'2':findgoods();break;case'3':updategoods();break;case'4':delgoods();break;case'5':showMymenue();break;de

28、fault:printf("n 您的輸入有誤,請檢查后重新輸入 n");pcontinue();voidshowCustmenue()charchoice='5'while(1)system("cls");BreakLine;printf("tt1. 添加客戶 n");printf("tt2. 查找客戶 n");printf("tt3. 修改客戶 n");printf("tt4. 刪除客戶 n");printf("tt5. 返回上一級(jí) n"

29、);BreakLine;printf("nn 請輸入您的選擇 (1,2,3,4,5):");choice=getch();switch(choice)case'1':addcust();break;case'2':findall();break;case'3':updatecust();break;case'4':delcust();break;case'5':showMymenue();break;default:printf("n 您的輸入有誤,請檢查后重新輸入 n");

30、pcontinue();voidshowSales()charchoice='5'while(1)system("cls");BreakLine;printf("tt1. 顯示最具有貢獻(xiàn)精神 VIP 客戶排行榜 n");printf("tt2.顯示最具有影響力的商品排行榜 n");printf("tt3.顯示庫存商品量排行榜 n");printf("tt4.當(dāng)月生日的客戶 n");printf("tt5.返回上一級(jí) n");BreakLine;printf(&

31、quot;ntt請輸入您的選擇 (1,2,3,4,5):");choice=getch();switch(choice)case'1':showVIP();break;case'3':Goodssave();break;case'2':Goodseffect();break;case'4':Birthdayperson();break;case'5':showMymenue();break;default:printf("ntt 您的輸入有誤,請確認(rèn)重新輸入 .n"); pcontin

32、ue();/ 調(diào)用按任意鍵繼續(xù)voidshowSell()charchoice='2'while(1)system("cls");BreakLine;printf("tt1. 商品交易信息 n");printf("tt2. 返回上一級(jí) n");BreakLine;printf("ntt 請輸入您的選擇 (1,2,):");choice=getch();switch(choice)case'1':shopping();break;case'2':showMymenue(

33、);break;default:printf("ntt 您的輸入有誤,請確認(rèn)重新輸入 .n"); pcontinue();/ 調(diào)用按任意鍵繼續(xù)4.Custman.c#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h> #include"MyParams.h" #include"common.h" #include"mymenu.h" #include"CustMan.h&

34、quot; read_message();structdataintyear;intmonth;intday;structcust intno;/ 編號(hào) charname20;/ 名字 doubleexpenditure;/ 總花費(fèi) chartel20;/ 電話號(hào)碼 structdatabirthday;/ 生日cust1000;/ 最多存 1000 個(gè)客戶信息inttotal;/ 現(xiàn)在 cust.dat 文件中總的紀(jì)錄條數(shù) voidsaveAll()FILE*fp;inti;if(fp=fopen("cust.dat","wb")=NULL)print

35、f("n 無法打開文件 n");return;for(i=0;i<total;i+)fwrite(&custi,sizeof(structcust),1,fp);fclose(fp);/ 獲取現(xiàn)有文件中客戶的總?cè)藬?shù)intread_message()FILE*fp;inti=0;/ 記數(shù) / 打開文件if(fp=fopen("cust.dat","rb")=NULL)printf("n* 暫無任何可讀消息 ,按任意鍵繼續(xù) *n");getch();return0;while(!feof(fp)fread

36、(&custi,sizeof(structcust),1,fp);if(custi.no=0)break;elsei+;/ 循環(huán)讀取文件中的每一條記錄fclose(fp);returni;/ 存到 cust 結(jié)構(gòu)中voidaddcust()/ 定義增加的structcustnewcust;charchoice='y'FILE*fp;inti=0;dosystem("cls");BreakLine;printf(" 請輸入客戶的編號(hào) :");scanf("%d",&newcust.no);printf(&

37、quot;n");scanf("%s",);printf(" 請輸入客戶的名字 :");printf("n");printf(" 請輸入客戶消費(fèi) :");scanf("%lf",&newcust.expenditure);printf("n");printf(" 請輸入客戶的電話號(hào)碼 :");scanf("%s",newcust.tel);printf("n");printf

38、(" 請輸入客戶的生日 :(格式 :1999-9-9)");scanf("%d-%d-%d",&newcust.birthday.year,&newcust.birthday .month,&newcust.birthday.day);printf("n");BreakLine;if(fp=fopen("cust.dat","ab")=NULL)printf("n 對(duì)不起 ,不能打開指定的文件 n");return;fwrite(&newcus

39、t,sizeof(structcust),1,fp);fclose(fp);printf(" 您還要繼續(xù)輸入新客戶信息嗎 ?(y/n)");choice=getch();while(choice='y');voidfindall()/ 定義查詢所有的inti;structcustc;total=read_message();system("cls");printf("n*客戶信息 *n");printf("n 客戶總數(shù):%dn",total);if(total>0)printf("n

40、 *顯示所有客戶信息 *n");printf("n編號(hào)t姓名t消費(fèi)tt電話tt生日");for(i=0;i<total;i+) c=custi;printf("n%dt%st%lft%st%d-%d-%dtn",c.no,,c.expenditure,c.tel,c.birthday);printf("nnnnn");elseprintf("n* 系統(tǒng)中暫無任何客戶信息 *"); pcontinue();getch();voidupdatecust()inti;inttoupdateno

41、;/ 要更新的編號(hào)intj;system("cls");total=read_message();/ 讀出信息 printf("n 請輸入您要更新的客戶編號(hào) :"); scanf("%d",&toupdateno);/ 查找 for(i=0;i<total;i+)if(toupdateno=custi.no)break;/i 里面記錄了要更新的客戶的索引 if(i=total)printf("n 沒有找到要更新的客戶 n");printf(" 按任意鍵繼續(xù) n");getch();

42、return;printf("n*請更新用戶信息 *n");printf(" 請輸入客戶姓名 :");scanf("%s",);printf(" 請輸入客戶消費(fèi) :");scanf("%d",&custi.expenditure);printf(" 請輸客戶電話 :");scanf("%s",custi.tel);printf(" 請輸入客戶的生日 (格式: 1999-9-9):"); scanf("

43、;%d-%d-%d",&custi.birthday.year,&custi.birthday.month,&custi.birthday.day);BreakLine;saveAll();printf("n 更新客戶信息成功,按任意鍵繼續(xù) n");getch();voiddelcust()inti;inttodelno;/ 刪除客戶的編號(hào)intj;charchoice='n'/ 記錄是否真正刪除system("cls");total=read_message();/ 先讀出數(shù)據(jù) printf("

44、;n 請輸入您要?jiǎng)h除的客戶的編號(hào) :"); scanf("%d",&todelno);for(i=0;i<total;i+)if(todelno=custi.no)break;if(i=total)printf("n 沒有找到您要?jiǎng)h除的客戶 n");pcontinue();getch();return;(yorn)");printf(" 親愛的管理員,刪除后無法恢復(fù),您確定要?jiǎng)h除嗎?choice=getch();if(choice='n')printf("n 放棄刪除,返回上一級(jí) n&

45、quot;);printf("n 按任意鍵繼續(xù) n");getch();return;/ 真正刪除,實(shí)際上是覆蓋for(j=i;j<total;j+)custj=custj+1;total-=1;saveAll();printf("n 刪除客戶數(shù)據(jù)成功 n");printf("n 按任意鍵繼續(xù) n");getch();5.Goodsman.c#include<stdio.h>#include<string.h> #include<conio.h>#include<stdlib.h>

46、 #include"MyParams.h"#include"common.h"#include"mymenu.h"#include"Goodsman.h"structdateintyear;intmonth;intday;structgoodsintno;/ 編碼:charname20;/ 名稱:structdatescday;/ 生產(chǎn)期 structdate: 表示結(jié)構(gòu)體類型 date 型 scday 變量 名生日 :->structdateintexpenda;/ 原價(jià) :intexpendb;/ 單價(jià):

47、intsave;/ 庫存量intsell;/ 出售量goods100000;/ 定義一個(gè)全局的結(jié)構(gòu)體數(shù)組 100000inttotal;intread_Message()FILE*fp;inti=0;if(fp=fopen("goods.dat","rb")=NULL)printf("n* 暫無任何可讀信息,按任意鍵繼續(xù) *");getch();return0;while(feof(fp)!=1)fread(&goodsi,sizeof(structgoods),1,fp);if(goodsi.no=0)break;elsei

48、+;fclose(fp);returni;voidsaveall()FILE*fp;inti;if(fp=fopen("goods.dat","wb")=NULL)return;for(i=0;i<total;i+) fwrite(&goodsi,sizeof(structgoods),1,fp); fclose(fp);voidaddgoods()structgoodsnewgoods;/ 新加入的結(jié)構(gòu)體數(shù)組charchoice='y'/ 是否繼續(xù)錄入信息FILE*fp;/ 文件指針,用它指向一個(gè)文件inti=0;/i 是

49、一個(gè)計(jì)數(shù)器,因?yàn)槲募凶疃啻?1000 個(gè)數(shù)據(jù)dosystem("cls");printf(" 請輸入商品生產(chǎn)期 :(格式如下 :1999-9-9):");printf("n*添加商品信息 *n");printf(" 請輸入商品編碼 :");scanf("%d",&newgoods.no);/ 取地址因?yàn)樗且粋€(gè)基本類型的數(shù)據(jù)BreakLine;printf(" 請輸入商品名稱 :");scanf("%s",&);

50、BreakLine;scanf("%d-%d-%d",&newgoods.scday.year,&newgoods.scday.month,&newgoods.scday.day);printf(" 請輸入商品原價(jià) :");scanf("%d",&newgoods.expenda);printf(" 請輸入商品單價(jià) :");scanf("%d",&newgoods.expendb);printf(" 請輸入商品出售量 :");scanf

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

52、newgoods,sizeof(structgoods),1,fp);fclose(fp);/ 重新確認(rèn)是否繼續(xù)錄入printf("n 還要繼續(xù);錄入商品信息嗎 ?(y/n)");choice=getch();while(choice='y');voiddelgoods()inti,j;inttodelno;charchoice='n'system("cls");total=read_Message();printf("n 請輸入你要?jiǎng)h除的商品的編碼 :");scanf("%d",&

53、amp;todelno);for(i=0;i<total;i+)if(todelno=goodsi.no)break; / 如果,沒有找到要?jiǎng)h除的商品if(i=total)printf("n 沒有找到您想刪除的商品 n");printf("n 按任意鍵繼續(xù) n");getch();return; (y/n)");printf(" 親愛的管理員,刪除后無法恢復(fù),您確定要?jiǎng)h除嗎?choice=getch();if(choice='n')printf("n 放棄刪除,返回上一級(jí) n");printf

54、("n 按任意鍵繼續(xù) n");getch();return; for(j=i;j<total;j+)goodsj=goodsj+1 ;total-=1;saveall();printf("n 刪除商品數(shù)據(jù)成功 n"); pcontinue();getch();voidupdategoods()inti;inttodelno;structgoodsgx;charchoice='n'system("cls");total=read_Message();printf("n 請輸入你要更新的商品的編號(hào) :&qu

55、ot;); scanf("%d",&todelno);for(i=0;i<total;i+)if(todelno=goodsi.no)break; / 如果,沒有找到要?jiǎng)h除的商品 if(i=total)printf("n 沒有找到您想更新的商品 n"); pcontinue();getch();return; printf("n*更新商品信息 *n");printf("n 請輸入商品編碼 :");scanf("%d",&gx.no);/ 為什么取地址因?yàn)樗且粋€(gè)基本類型的數(shù)

56、據(jù)printf("n 請輸入商品名稱 :");scanf("%s",&);printf("n 請輸入商品生產(chǎn)期 :(格式如下 :1999-9-9):");scanf("%d-%d-%d",&gx.scday.year,&gx.scday.month,&gx.scday.da y);printf("n 請輸入商品原價(jià) :");scanf("%d",&gx.expenda);printf("n 請輸入商品單價(jià) :&q

57、uot;);scanf("%d",&gx.expendb);printf("n 請輸入商品出售量 :");scanf("%d",&gx.sell);printf("n 請輸入商品庫存量 :");scanf("%d",&gx.save);BreakLine;(y/n)");printf(" 親愛的管理員,您確定要修改嗎?choice=getch();if(choice='n')printf("n 放棄修改,返回上一級(jí) n&quo

58、t;);printf("n 按任意鍵繼續(xù) n");getch();return;goodsi=gx;total-=1;saveall();printf("n 修改商品數(shù)據(jù)成功 n");pcontinue();getch();voidfindgoods()inti;structgoodsc;total=read_Message();system("cls");printf("n*商品信息 *n");printf("n 商品總數(shù) :%d",total);if(total>0)printf(&q

59、uot;n*顯示所有商品信息 *n");printf("n編號(hào)t名稱t生產(chǎn)期tt原價(jià)t單價(jià)t出售量t庫存量n");for(i=0;i<total;i+)c=goodsi;printf("n%dt%st%d-%d-%dt%dt%dt%dt%dn",c.no,,c.scday.year,c.scday.month,c.scday.day,c.expenda,c.expendb,c.sell,c.save);BreakLine;elseprintf("n* 系統(tǒng)中暫無任何商品信息 *n"); printf(&qu

60、ot;n 按任意鍵繼續(xù) n");getch();6.Save.c#include<stdlib.h> #include<math.h>#include"Save.h"#include"common.h"#include"MyParams.h"#include"mymenu.h"intread_message();intread_Message();structdataintyear;intmonth;intday;structcustintno;/ 編號(hào)charname20;/ 名字 doubleexpenditure;/ 總花費(fèi) c

溫馨提示

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

評(píng)論

0/150

提交評(píng)論