超市管理系統(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è),還剩33頁(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)目 錄第1章 課程設(shè)計(jì)目的要求 1.1設(shè)計(jì)目的 .3 1.2 設(shè)計(jì)要求 .3 1.3設(shè)計(jì)思路 .3第2章 課程設(shè)計(jì)任務(wù)內(nèi)容 2.1課程設(shè)計(jì)題目 .3 2.2課程設(shè)計(jì)任務(wù) .4 2.2.1 設(shè)計(jì)內(nèi)容 .4 2.2.2 各組員任務(wù) .4第3章 詳細(xì)設(shè)計(jì)說(shuō)明 3.1 系統(tǒng)模塊圖.4 3.2 主要函數(shù)定義 .53.2.1主函數(shù) .53.2.2其他函數(shù).7 3.3結(jié)構(gòu)體的建立和文件的使用 .8 3.3.1 結(jié)構(gòu)體的建立.8 3.3.2文件的使用.9 第四章 課程設(shè)計(jì)心得與體會(huì).10附錄·程序源代碼 參考文獻(xiàn)第一章 課程設(shè)計(jì)目的要求設(shè)計(jì)“

2、超市管理系統(tǒng)”的主要目的是鍛煉學(xué)生綜合運(yùn)用所學(xué)的 C 語(yǔ)言程序設(shè)計(jì)知識(shí)的能力,獨(dú)自利用 C 語(yǔ)言知識(shí)編寫(xiě)承訓(xùn)解決實(shí)際問(wèn)題的能力,培養(yǎng)同學(xué)嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和良好的程序設(shè)計(jì)習(xí)慣,讓同學(xué)們認(rèn)識(shí)到必須重視實(shí)踐環(huán)節(jié),多讀程序,多編寫(xiě)程序,多上機(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ò)程,掌握編寫(xiě)、調(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、字符型變量的定義方式及如何給它們賦值。3. 掌握if語(yǔ)句及switch語(yǔ)句的運(yùn)用方法及嵌套應(yīng)用方法。4. 掌握實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的三種語(yǔ)句while、 do-while.、for 的使用。5. 掌握函數(shù)的定義方法和調(diào)用方法。6. 能夠采用模塊化思想調(diào)試程序。7. 指針和文件的使用,結(jié)構(gòu)體的使用1.2 設(shè)計(jì)要求: 1. 源程序要有適當(dāng)?shù)淖⑨專钩绦蛉菀组喿x。 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)中需要用到許多

4、函數(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ǔ)言知識(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)等。2.2.2各組員任務(wù) 為保證設(shè)計(jì)在規(guī)定時(shí)間內(nèi)完成,我們將各模塊分工到個(gè)人。確保任務(wù)有質(zhì)量有效

5、率的同時(shí)鍛煉團(tuán)隊(duì)的團(tuán)結(jié)協(xié)作能力。第三章 詳細(xì)設(shè)計(jì)說(shuō)明3.1 系統(tǒng)模塊圖(未完)添加用戶修改用戶刪除用戶查詢用戶進(jìn)入超市管理系統(tǒng)主界面銷售結(jié)算商品管理購(gòu)物結(jié)算客戶管理 3.2 主要函數(shù)定義3.2.1主函數(shù)主函數(shù)主要包含的是登陸界面并且設(shè)置登陸界面其中包含: 1. 登錄 2. 關(guān)于我們 3. 退出系統(tǒng)實(shí)現(xiàn)其功能主要用到如下知識(shí):一其中使用了多種系統(tǒng)自定義的頭文件以及用戶自定義的頭文件如下: #include <stdio.h> #include <string.h> #include <conio.h> #include <stdlib.h>#inc

6、lude <math.h> #include “MyParams.h” #include “Mymenu.h” #include “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

7、("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(); void aboutUs()system("cls");BreakLine;printf("tt版權(quán)所有湖南工學(xué)院網(wǎng)絡(luò)1101班檸檬·5nn");

8、printf("ttt檸檬·5專屬,翻版必究nn");printf("tt技術(shù)扶持 Tellquot;);BreakLine;pcontinue(); int login() char upwd8; int i; system("cls"); for(i=1;i<4;i+) BreakLine; printf("請(qǐng)輸入您的8位數(shù)密碼"); scanf("%s",upwd); if(strcmp (upwd,realpassword)=0)return 1;prin

9、tf("您好,您的密碼錯(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()printf("t按任意鍵繼續(xù)n");getch();三清屏語(yǔ)句,Do while,宏定義等的使用清屏語(yǔ)句:system("cls");使用了Do While 循環(huán)實(shí)現(xiàn)了在進(jìn)入關(guān)于我們部分時(shí)可以再次

10、返回登陸界面。使用了宏定義。在頭文件MyParam.h中定義BreakLine #define BreakLine printf("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;在輸入密碼部分使

11、用了For循環(huán),實(shí)現(xiàn)了在登陸三次密碼不正確的情況下強(qiáng)制退出系統(tǒng): for(i=1;i<4;i+) BreakLine; printf("請(qǐng)輸入您的8位密碼:"); scanf("%s",upwd); /數(shù)組名代表數(shù)組的首地址,所以不要& if(strcmp(upwd,realpassword)=0) return(1); /1表示登錄成功 printf("n您好,您的密碼錯(cuò)誤,請(qǐng)確認(rèn)后重新輸入··n"); printf("n您還有第%d次輸入機(jī)會(huì)",(3-i); printf(&q

12、uot;n系統(tǒng)鄭重提示,您不是合法用戶,強(qiáng)制退出···n"); pcontinue(); exit(0);3.2.2其他函數(shù)部分 void showMainMenu();再在 void showMainMenu();其中嵌套 void showGoodsMenu(); void showCustMenu(); void showShopMenu(); void showSaleMenu();在這些函數(shù)中也就是商品管理,客戶信息管理,購(gòu)物結(jié)算, 和銷售結(jié)算四大功能模塊。依照前面的嵌套方法一一實(shí)現(xiàn)他的功能。在四大模塊菜單中有void addGoods();

13、void findGoodsAll(); void updateGoods();void delGoods();void addcust();void delcust();void updatecust();void findall();void saveAll();void saveall();實(shí)現(xiàn)了客戶管理中:添加客戶、查詢客戶、刪除客戶、修改客戶、返回上一級(jí)商品管理中:添加商品、查詢商品、刪除商品、修改商品、返回上一級(jí)等部分的功能。在四大模塊菜單中有void showVIP(); void Goodseffect(); void Goodssave(); void Birthdayper

14、son(); 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)容。3.3.1結(jié)構(gòu)體語(yǔ)句的使用 我們會(huì)在程序中用到如下結(jié)構(gòu)體語(yǔ)句:Struct date/日期int year/年int month/月int day/日Struct cust/客戶信息int no/編號(hào)char name20姓名char se

15、x/性別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 no;char name20;char sex;int age;struct date birthday;double expendituer;char tel20;cust1000;33.2

16、文件的使用 客戶信息管理和商品管理都有用到文件,它于我們是重點(diǎn)也是難點(diǎn)1 定義文件FILE*fp; int i; if(fp=fopen("cust.dat","wb")=NULL) printf("n無(wú)法打開(kāi)文件n"); return; for(i=0;i<total;i+) fwrite(&custi,sizeof(struct cust),1,fp); fclose(fp); 定義函數(shù)read_message()打開(kāi)文件int read_message() FILE*fp; int i=0;/記數(shù) /打開(kāi)文件 if

17、(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í)了課本上所學(xué)知識(shí),還通過(guò)查閱資料、詢

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

19、代碼Source Files1. common.c void pcontinue();void pcontinue()printf("t按任意鍵繼續(xù)n");getch();2. Main.c#include <stdio.h>#include <string.h> /字符串 <先到系統(tǒng)的庫(kù)找,再到用戶庫(kù) #include <conio.h>#include <stdlib.h>#include "MyParams.h"#include "common.h"#include &quo

20、t;mymenu.h"void aboutUs();int login();char realpassword8="ningmeng" /系統(tǒng)的真實(shí)登錄密碼void main() char choice='3' /存儲(chǔ)判斷的選項(xiàng) do system("cls"); /清屏命令 /打印出程序歡迎界面 printf("nn*歡迎進(jìn)入檸檬·5超市管理系統(tǒng)*nn"); printf("n請(qǐng)您選擇操作選項(xiàng):nn"); printf("ttt1. 登錄 n"); prin

21、tf("ttt2. 關(guān)于我們n"); printf("ttt3. 退出系統(tǒng)n");printf("nn*nn"); /完成輸入操作 printf("n 請(qǐng)輸入您的選項(xiàng)(1,2,3):"); choice=getch(); /getch()從鍵盤(pán)輸入一個(gè)字符 /判斷 switch(變量) case 值1: xxx; break; default xxx; switch(choice) case '1': if(login()=1) showMymenue(); break; case '2&#

22、39;: aboutUs(); break; case '3': printf("nn系統(tǒng)安全退出nn"); exit(0); break; while(1);void aboutUs() system("cls"); BreakLine;printf("tt版權(quán)所有湖南工學(xué)院網(wǎng)絡(luò)1101班檸檬·5nn"); printf("ttt檸檬·5專屬,翻版必究nn"); printf("tt技術(shù)扶持 Tellquot;); BreakLine; pc

23、ontinue();int login() char upwd8; int i; system("cls"); for(i=1;i<4;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)鄭重提示,您不是合

24、法用戶,為系統(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"#include "MyParams.h"#include "CustMan.h"#include "Goodsman.h"void sho

25、wGoodsmenue();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.

26、 退出系統(tǒng)n"); BreakLine; printf("nn請(qǐng)輸入您的選擇(1,2,3,4,5):"); choice=getch();switch (choice) case'1': showGoodsmenue(); break; case'2': showCustmenue(); break;case'3': showSell(); break; case'4': showSales(); break; case'5':printf("nn系統(tǒng)安全退出nn"

27、); exit(0); break; default: printf("n您的輸入有誤,請(qǐng)檢查后重新輸入n"); pcontinue(); void showGoodsmenue() char choice='5' while(1) system("cls"); BreakLine; printf("tt1. 添加商品n"); printf("tt2. 查詢商品n"); printf("tt3. 更新商品n"); printf("tt4. 刪除商品n"); p

28、rintf("tt5. 返回上一級(jí)n"); BreakLine; printf("nn請(qǐng)輸入您的選擇(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;defa

29、ult: printf("n您的輸入有誤,請(qǐng)檢查后重新輸入n");pcontinue(); void showCustmenue() char choice='5' while(1) system("cls");BreakLine; printf("tt1. 添加客戶n"); printf("tt2. 查找客戶n"); printf("tt3. 修改客戶n"); printf("tt4. 刪除客戶n"); printf("tt5. 返回上一級(jí)n&qu

30、ot;); BreakLine; printf("nn請(qǐng)輸入您的選擇(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您的輸入有誤,請(qǐng)檢查

31、后重新輸入n"); pcontinue(); void showSales()char choice='5' while(1) system("cls");BreakLine; printf("tt1.顯示最具有貢獻(xiàn)精神VIP客戶排行榜n");printf("tt2.顯示最具有影響力的商品排行榜n");printf("tt3.顯示庫(kù)存商品量排行榜n");printf("tt4.當(dāng)月生日的客戶n");printf("tt5.返回上一級(jí)n");Break

32、Line;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("ntt您

33、的輸入有誤,請(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(); br

34、eak; case '2': showMymenue(); break; default: printf("ntt您的輸入有誤,請(qǐng)確認(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 &qu

35、ot;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 birthday; /生日cust1000; /最多存1000個(gè)客戶信息int total; /現(xiàn)在cust.dat文件中總的紀(jì)錄條數(shù)void saveAll() FILE*fp; int i; if(fp=fo

36、pen("cust.dat","wb")=NULL) printf("n無(wú)法打開(kāi)文件n"); return; for(i=0;i<total;i+)fwrite(&custi,sizeof(struct cust),1,fp); fclose(fp);/ 獲取現(xiàn)有文件中客戶的總?cè)藬?shù) int read_message() FILE*fp; int i=0;/記數(shù) /打開(kāi)文件 if(fp=fopen("cust.dat","rb")=NULL)printf("n*暫無(wú)任何可讀

37、消息,按任意鍵繼續(xù)*n");getch();return 0; while(!feof(fp)fread(&custi,sizeof(struct cust), 1, fp);if(custi.no=0)break;else i+; /循環(huán)讀取文件中的每一條記錄fclose(fp);return i; /存到cust結(jié)構(gòu)中 void addcust() /定義增加的struct cust newcust;char choice='y'FILE *fp;int i=0;dosystem("cls");BreakLine;printf(&quo

38、t;請(qǐng)輸入客戶的編號(hào):");scanf("%d",&newcust.no);printf("n");printf("請(qǐng)輸入客戶的名字:");scanf("%s",);printf("n");printf("請(qǐng)輸入客戶消費(fèi):"); scanf("%lf",&newcust.expenditure);printf("n");printf("請(qǐng)輸入客戶的電話號(hào)碼:");sc

39、anf("%s",newcust.tel);printf("n");printf("請(qǐng)輸入客戶的生日:(格式: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(&

40、quot;n對(duì)不起,不能打開(kāi)指定的文件n");return ;fwrite(&newcust,sizeof(struct cust),1,fp);fclose(fp);printf("您還要繼續(xù)輸入新客戶信息嗎?(y/n)");choice=getch(); while(choice='y');void findall() /定義查詢所有的 int i; struct cust c; total= read_message(); system("cls");printf("n*客戶信息*n"); pr

41、intf("n客戶總數(shù):%dn",total); if(total>0) printf("n*顯示所有客戶信息*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"); else printf("

42、;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;i<total;i+) if(toupdateno=custi.no) break; /i里面記錄了要更新的客戶

43、的索引 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

44、("%s",custi.tel); printf("請(qǐng)輸入客戶的生日(格式:1999-9-9):");scanf("%d-%d-%d",&custi.birthday.year,&custi.birthday.month,&custi.birthday.day); BreakLine; saveAll(); printf("n更新客戶信息成功,按任意鍵繼續(xù)n"); getch();void delcust()int i;int todelno;/刪除客戶的編號(hào)int j;char choic

45、e='n' /記錄是否真正刪除system("cls");total=read_message();/先讀出數(shù)據(jù)printf("n請(qǐng)輸入您要?jiǎng)h除的客戶的編號(hào):");scanf("%d", &todelno);for(i=0;i<total;i+)if(todelno=custi.no)break;if(i=total)printf("n沒(méi)有找到您要?jiǎng)h除的客戶n");pcontinue();getch(); return;printf("親愛(ài)的管理員,刪除后無(wú)法恢復(fù),您確定要?jiǎng)h

46、除嗎?(y or n)");choice=getch();if (choice='n')printf("n放棄刪除,返回上一級(jí)n");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 <stdi

47、o.h>#include <string.h> #include <conio.h>#include <stdlib.h>#include "MyParams.h"#include "common.h"#include "mymenu.h"#include "Goodsman.h"struct dateint year;int month;int day;struct goods int no; /編碼:char name20; /名稱:struct date scday;

48、 /生產(chǎn)期 struct date:表示結(jié)構(gòu)體類型date型 scday變量名 生日:-> struct dateint expenda; /原價(jià):int expendb; /單價(jià):int save; /庫(kù)存量int sell; /出售量goods100000; /定義一個(gè)全局的結(jié)構(gòu)體數(shù)組 100000int total;int read_Message()FILE *fp;int i=0;if(fp=fopen("goods.dat","rb")=NULL)printf("n*暫無(wú)任何可讀信息,按任意鍵繼續(xù)*");getch(

49、);return 0;while(feof(fp)!=1)fread(&goodsi,sizeof(struct goods),1,fp);if(goodsi.no=0)break;elsei+;fclose(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;i<total;i+) fwrite(&goodsi,sizeof(stru

50、ct goods),1,fp); fclose(fp);void addgoods()struct goods newgoods; /新加入的結(jié)構(gòu)體數(shù)組char choice='y' /是否繼續(xù)錄入信息FILE *fp; /文件指針,用它指向一個(gè)文件int i=0; /i是一個(gè)計(jì)數(shù)器,因?yàn)槲募凶疃啻?000個(gè)數(shù)據(jù) dosystem("cls");printf("n*添加商品信息*n");printf("請(qǐng)輸入商品編碼:");scanf("%d",&newgoods.no); /取地址因?yàn)樗?/p>

51、是一個(gè)基本類型的數(shù)據(jù)BreakLine;printf("請(qǐng)輸入商品名稱:");scanf("%s",&); BreakLine; printf("請(qǐng)輸入商品生產(chǎn)期:(格式如下:1999-9-9):");scanf("%d-%d-%d",&newgoods.scday.year,&newgoods.scday.month,&newgoods.scday.day); printf("請(qǐng)輸入商品原價(jià):");scanf("%d"

52、;,&newgoods.expenda); printf("請(qǐng)輸入商品單價(jià):");scanf("%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è)磁盤(pán)文件中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, fp);fclose(fp); /

溫馨提示

  • 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)論