版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言課程設(shè)計實(shí)驗報告一、目的(本次課程設(shè)計所涉及并要求掌握的知識點(diǎn)。)用戶與商品信息要采用文件存儲,因而要提供文件的輸入輸出操作;實(shí)現(xiàn)用戶的添加、 修改、刪除;商品信息的添加、修改、刪除、查找等功能;實(shí)現(xiàn)商品瀏覽功能的實(shí)現(xiàn),需要 實(shí)現(xiàn)顯示操作;另外還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。二、使用環(huán)境(本次上機(jī)實(shí)踐所使用的平臺和相關(guān)軟件。)Microsoft Visual C+三、內(nèi)容與設(shè)計思想(1 設(shè)計思路2 主要數(shù)據(jù)結(jié)構(gòu)3 主要代碼結(jié)構(gòu)4 主要代碼段分析。)1、設(shè)計思路2、主要數(shù)據(jù)結(jié)構(gòu)/*系統(tǒng)用戶結(jié)構(gòu)*/typedef struct SystemUser char userName20; c
2、har password20; int userType; struct SystemUser *n ext; SystemUser;/*服裝商品信息*/ typedef struct Products int productId; char productName20; char productType20; char productCompa ny 20; float productPrice; int productCo unt; char memo50; struct Products *n ext;針 Products;/*銷售記錄信息結(jié)構(gòu)*/ typedef struct Sell
3、 In foRecord int saleId;char userName20; int productId; int sellCo unt;int year;int mon th;int day; char memo50;struct SellInfoRecord *next; SellI nfoRecord;/用戶名,主鍵/用戶密碼/用戶類型(1:管理員;2:店長;3:銷售員)/指向下一個用戶的指針/商品編號,主鍵/商品名稱/商品型號/商品廠家/商品價格/商品數(shù)量/商品附加信息/指向下一個商品的指/銷售編號,主鍵/銷售商品的用戶名/銷售的商品編號/銷售數(shù)量/銷售商品年份/銷售商品月份/銷售
4、商品日期/銷售的附加信息/下一條銷售記錄3、主要代碼結(jié)構(gòu)(一)添加打開文件,從鍵盤輸入要添加的信息,若添加的信息與文件里的信息重復(fù),則調(diào)用系統(tǒng)暫停函數(shù),返回界面;若添加的信息在文件里沒有找到,則將添加的信息輸入到文件,調(diào)用系統(tǒng)暫停函數(shù),返回界面(二)查詢打開文件,從鍵盤輸入要查詢的信息,若在文件里找到要查詢的信息,則在 界面輸入信息,并調(diào)用系統(tǒng)暫停函數(shù),返回界面;若沒有找到查詢的信息,調(diào)用 系統(tǒng)暫停函數(shù),返回界面。(三)刪除打開文件,從鍵盤輸入要刪除的信息,若在文件里找到要刪除的信息存在,則把文件里要刪除的那條信息刪除掉, 并調(diào)用系統(tǒng)暫停函數(shù),返回界面;若沒有 找到刪除的信息,調(diào)用系統(tǒng)暫停函數(shù)
5、,返回界面。(四)修改打開文件,從鍵盤輸入要修改的信息,若在文件里找到要修改的信息存在,則按照提示信息依次輸入要修改的信息, 寫入文件,并調(diào)用系統(tǒng)暫停函數(shù),返回 界面;若沒有找到修改的信息,調(diào)用系統(tǒng)暫停函數(shù),返回界面。4、主要代碼段分析/*對系統(tǒng)進(jìn)行初始化,建立用戶記錄和商品記錄 */void InitSystem() FILE *fp;SystemUser adminUser,bossUser,sellUser;/ 管理員,店長,銷售員三個角色信息Products products2;/初始化兩件服裝商品信息SellInfoRecord sellInfo2;/ 初始化兩條銷售記錄/初始化管理
6、員用戶名、密碼與類型strcpy(admi nUser.userName,"admi n");strcpy(admi nUser.password,"admi n");admi nUser.userType = ADMIN_USER_TYPE;adm in User. next = NULL;/打開管理員用戶信息文件 Admin.txt ,寫入信息,并關(guān)閉文件fp = fope n("Admi n.txt", "w");fprin tf(fp, "%st%s", admi nUser.userN
7、ame, adm in User.password);fclose(fp);AddUser(&admi nUser);AddUser(&bossUser);AddUser(&sellUser);/添加第一條商品信息strcpy(ductName," 精品男裝"); strcpy(ductType,"mOO1");strcpy(productsO.productCompany,"精品服裝制造廠");productsO.productPrice = 23.5;p
8、ductCou nt = 100; strcpy(products0.memo,"精品男裝,您的第一選擇");products。, next = NULL;/添加第二條商品信息strcpy(ductName," 時尚女裝"); strcpy(ductType,"w002");strcpy(ductCompany,"時尚服裝制造廠");ductPrice = 25.5;productsl.
9、productCou nt = 150; strcpy(products1.memo,"時尚女裝,您的第一選擇");products1, next = NULL;AddProduct(&products0);AddProduct(&productsl);/添加第一條銷售報表記錄selll nfo0.day = 16;strcpy(selll nfo0.memo,"測試數(shù)據(jù) 1");selll nfo0.m on th = 7;selll nfo° .n ext = NULL;selll ductld = 1;se
10、lll nfo0.sellCou nt = 8;strcpy(selll nfo0.userName,"sell");selll nfo0.year = 2008;/添加第二條銷售報表記錄selll nfo1.day = 17;strcpy(selllnfo1.memo,"測試數(shù)據(jù) 2");selll nfo1.mo nth = 7;selll nfo1. next = NULL;selll ductld = 2;selll nfo1.sellCou nt = 5;strcpy(selll nfo1.userName,"sell
11、");selll nfo1.year = 2008;AddSelll nfo(&selll nfo0);AddSelll nfo(&selll nfo1);/添加商品信息void ln putA ndAddProduct() Products product;printf("親愛的%s朋友,你好,請依次輸入新商品的信息:n",currentUser);/輸入商品名稱、型號、制作商、價格、數(shù)量、附加信息,并把從鍵盤輸入的值賦值 給結(jié)構(gòu)體變量的商品名稱型號、制作商、價格、數(shù)量、附加信息printf("商品名稱:");sca nf(&
12、quot;%s",ductName);printf("商品型號:");sca nf("%s",ductType); printf("商品制造商:");sca nf("%s",ductCompa ny); printf("商品價格:");sca nf("%f",&ductPrice);printf("商品數(shù)量:");sca nf("%d&quo
13、t;,&ductCo un t); printf("商品附加信息:");sca nf("%s",product.memo); product .n ext = NULL;/若成功信息添加到結(jié)構(gòu)體變量product里則提示添加成功if(FUNCTION_SUCCESS = AddProduct (&product)printf("商品信息添加成功!n"); system("pause");/修改商品信息/待修改的商品編號void ModifyProduct() int produ
14、ctId;Products *tmpProduct;printf("親愛的%s朋友,你好,你現(xiàn)在進(jìn)入的商品信息修改功能:n",curre ntUser);printf("請輸入要修改的商品編號:");sca nf("%d",&productld); /將從鍵盤接收到的商品編號賦值給變量productIdtmpProduct = pProductHead;if(NULL = tmpProduct) return ;while(NULL != tmpProduct) if(productId = tmpProduct->pr
15、oductld)/若從鍵盤輸入的商品編號與文件中的一致,則修改商品信息商品名稱商品型號商品廠家商品價格商品數(shù)量、商品附加信息:sn",tmpProduct->memo); F面請對照修改該商品的相應(yīng)信息:n");%sn",tmpProduct->productName); %sn",tmpProduct->productType);%sn",tmpProduct->productCompa ny); %fn",tmpProduct->productPrice);%dn",tmpProduct-&
16、gt;productCou nt);printf("商品編號%d的商品信息如下:n",productId); printf(" printf(" printf(" printf(" printf(" printf(" printf(" printf("新的商品名稱:"); scan f("%s",tmpProduct->productName); printf("新的商品型號:"); scan f("%s",tmpPro
17、duct->productType); printf("新的商品廠家:"); scan f("%s",tmpProduct->productCompa ny); printf("新的商品價格:"); scan f("%f", &tmpProduct->productPrice); printf("新的商品數(shù)量:"); scan f("%d", &tmpProduct->productCou nt); printf("新的商品附
18、加信息:"); scan f("%s",tmpProduct->memo); printf("商品信息修改成功!n"); system("pause"); break; ;tmpProduct = tmpProduct- >n ext;/商品刪除void DeleteProduct() int productId = 0;Products *tmpProductA,*tmpProductB;printf("親愛的%s朋友,你好,你現(xiàn)在進(jìn)入的商品刪除功能:n",curre ntUser);pri
19、ntf("請輸入你要刪除的商品編號:");/tmpProductBsca nf("%d",&productld);tmpProductA = tmpProductB = pProductHead;指向要刪除的記錄,tmpProductA指向前一條記錄if(NULL = tmpProductB) return ;while(NULL != tmpProductB) if(tmpProductB->productld = productId) if(tmpProductB = pProductHead && tmpProduct
20、B->next =NULL) /如果系統(tǒng)只有一條商品信息free(pProductHead);pProductHead = nUlL;printf("商品信息刪除成功!n");system("pause");return ;tmpProductA- >n ext = tmpProductB->n ext; if(pProductHead = tmpProductB) pProductHead = tmpProductB->n ext; free(tmpProductB); printf("商品信息刪除成功! n"
21、;);system("pause");return ;else tmpProductA = tmpProductB; tmpProductB = tmpProductB->n ext;printf("對不起,不存在該商品編號的信息!");/商品查詢void ProductFi nd() Products *tmpProduct;int fin dWay,productld;char productName20;printf("親愛的%s朋友,你好,你現(xiàn)在進(jìn)入的商品查詢功 能:n",curre ntUser);printf(&qu
22、ot;請選擇查詢方式:1-按商品編號查詢2-按商品名稱查詢:");sca nf("%d", &fin dWay);tmpProduct = pProductHead;switch(fi ndWay) case 1: printf("請輸入查詢的商品編號:"); scanf("%d",&productld); /輸入要查詢的商品編號 while(NULL != tmpProduct) if(productId = tmpProduct->productld) /若輸入查詢的商品編號與文件中的一致,則輸出商
23、品信息printf(" printf(" printf(" printf(" printf(" printf(" printf("你查詢的商品編號為%d的商品信息如下:n",productId); 商品名稱:sn",tmpProduct->productName);商品型號:sn",tmpProduct->productType);商品廠家:%sn",tmpProduct->productCompany);商品價格:fn",tmpProduct->pr
24、oductPrice); 商品數(shù)量:dn",tmpProduct->productCount); 商品附加信息:sn",tmpProduct->memo);system("pause");return ;tmpProduct = tmpProduct ->n ext;printf("對不起,不存在該商品編號的商品!n");system("pause");case 2:printf("請輸入查詢的商品名稱:");scan f("%s",productName)
25、; /輸入要查詢的商品名稱while(NULL != tmpProduct) 商品名稱 商品型號 商品廠家 商品價格 商品數(shù)量%sn",tmpProduct->productName); %sn",tmpProduct->productType);%sn",tmpProduct->productCompa ny);%fn",tmpProduct->productPrice);%dn",tmpProduct->productCou nt);if(0 strcmp(tmpProduct->productName,
26、productName) /若輸入查詢的商品名稱與文件中的一致,則輸出商品信息printf("你要查詢的商品名稱為 %s的商品信息如下:n",productName);printf("printf("printf("printf("printf("printf("商品附加信息:sn",tmpProduct->memo); system("pause");return ;tmpProduct = tmpProduct ->n ext;printf("對不起,不存在該
27、商品編號的商品!n"); system("pause");default:break; 管理員:admin admin店 長:boss boss銷售員:sell sell四、調(diào)試過程(1 測試數(shù)據(jù)設(shè)計2 測試結(jié)果分析) 初始化用戶名與密碼<1><z>C3>3自總密嗎慳改(一)主界面i產(chǎn)暮Iff :御邂em出.鋼 g當(dāng)j麵示:冃嘗雷鶴辭蘇亂祚輛售報發(fā)亠*- -u - 7- rt -和密碼admin:為圭嵐譽(yù)誤;醴轟姦寵備鞘書負(fù)銷書報責(zé)(二)以管理員方式登陸系統(tǒng),輸入正確的用戶賬號adminil鎧 . 甩 一 篥 品昱 荀星 -US左翟.
28、-:I寺“耳“冃國 :如;4<品崗出倉 HQtltJRlJAJl出.'! 頤赭自退噌遇普自巻-P-T- > 5 XJ J 4- 5-曹一員<1<5<1M<5<bMcl燈燈対曽H<1<2<J<4R ft侮SJ.N 去FU - 超 B B F AH I 改建連云面 k1e$.-t;査一工筈 習(xí) 矍-=: 3=晤H.上匹tinE._亍亍 ff'-LJ .-.- XX .S :3a若登陸名或密碼錯誤,則提示用戶不存在n導(dǎo)娜沁«>|4>1H d I 1 If-1 r :-r_ £1退岀禺統(tǒng)g
29、 能需橐鉀 茂改.芮0貳I-芒謝E務(wù)川牡宮赧袤序害匚幣言嵌番卡芝戶L";襁卵進(jìn)尊理養(yǎng)醱 商詁七二 e-A+C.彰:£-*juU !f臚. ffl歸牡示汨磚報喪為龜刖騙迴塩融直叭4L<i>gI » ”.” "片V吾匡料肓衍牡下=日鋌告樂蠱,H生借玉無 心世旦主舜窗<4>nmj$3RM HMMhf MHM" f -.Ul *、r- a .出 * “a =屮i f 4n r.i:匚應(yīng)&自報表*商昂鎮(zhèn)告令很詆爭書員業(yè)績很視7 土在 IHJ 址 >豆口樂冼'M醴羽應(yīng)韻序號進(jìn)產(chǎn)兀樞選Wu' .i-uii
30、iiB .嚀2.-工閔輛密碼"nllE 蟲輩險止思缸 J XXX9tC1CX*ifl=iS輸-%f異笊慕;充違;選擇“(2)用戶信息管理”,進(jìn)行用戶的增、刪、改、查功能枱月=crln i 需虬mS:.停和衛(wèi)如 勺畑應(yīng)護(hù)珥訝 詁電V訝隊期尸海登陸成功,進(jìn)入管理員界面頭愛時巨理弓卅屯司亂噥也便月本殺給你捋自下面所電咖虹:碣魏豎籠驢辭魚溉瞰 帶聽薨薛:詠曇臂濃嘯詁告量報轄船 貝業(yè)績刪t45>遞回王畀面<G>MESs?t哨輸人:一向冷眈對段序號璉訂甘段起舉;性愛的音畦員dilnWl志,潮血更崔本蜀汝厳闘右卩面所自功能H目耳眶襄僅說«>3?1星囂翌:墮加亠蹩盤
31、亠查詢歷輕韜>門品性巳有訴俁甘碼總.棗訊丹斥3桶貝掖坯pP【.£5血口王界面-.ma < i .i tF J.+®tesxWHM-W KfcfKWMX* K *K>«WM «<«*»*«*«X*M-|*X1<-irWJi1< M*K>TW?tH1CWK>iWH »l<irMMW« KSSjA A選擇“(1 )自身密碼修改”,修改管理員密碼套愛血 _ it.: 佶息建 'i.: 門須盧腎忌査審.H戶苛免爭苗柑用r荷示破茂npfsifEf
32、“臨曰二嘆匚單訴岀圏葦纂場二血同飪牯宜擁二耳卅訐功爺犬訐:<2>選擇“用戶信息查看”,查看當(dāng)前用戶信息|請輸尺上五血能勵遍的肓弓進(jìn)行功醴戈擇:丄酩護(hù)鷺如樂如滙輕髄刪懿下!Jj),-1 石 苗 1H丿 _ _> 一 -dilii IniEh>占甘wll 請理任茗無旻續(xù) -sinlleIm#若舌 ««11用戶類花1口代養(yǎng)筲理員.zK養(yǎng)店長1 g代捕書員) ±2選擇“用戶信息添加”,添加用戶信息衆(zhòng)畫的豈甲社舫詞巴志.你目前誑入的是用戶信旦管週功能土<1>JJ戶唁證占管用亠唔三簣改話唏.X二闖罰龍對鬼為r吿迎訐:工*>r»
33、;w>ww>rMir?rrw»www 叭尸甘葉尸“常叭尸甘葉rtcwiwr*wtcjKwrtciwwiffl 誓爰的管謹(jǐn)皿血訕.請依戰(zhàn)輸入用戶佶息;用戶喀:«|«用戶毘期:"q撕礬Cl心瓚理舅山代衷店長-討氣衷龜環(huán):2血白節(jié)韻浦杓底恥fife訐烝款龍辛,+選擇“用戶信息刪除”,刪除用戶芒貴川爛一呷九山山眉忑”常目柚-:入的是毎戶倍息昔理及匏= 3用盧倉亙査番C2>J JPJn臨迄自二裁奚血 "、嗟謫缶花労請瑞入二我功能電忌的了 H遲行助皚i擇:4MjrttM3*1471)1 WMMM ; h*M N h M 押 M m N 建
34、肆黃 H N H 悅辰吋趣員 f 朋苑你孤承現(xiàn)在進(jìn)入的用戶信息刪陳 W: 育嗪X飛耳時利坤七wg 亂戶信豈出尿更功 諸鈾芒蘭纓純.返回管理員界面,選擇“(3)商品信息管理”,進(jìn)行商品的增、刪、改、查功能Li-選擇“用戶信息查看”,查看當(dāng)前商品信息。加下:i和r'2Lr口口 - -= $0 耐農(nóng)號T普工氏 桿蝙電型廠g塁 傭商商商壬i舖弓=iu)qn-±j :帖晶另 I;一精品1除制進(jìn)廠KJ.FHMflP1DHA . 商 QJ -S ?宰 :E譚,根據(jù)商品編號及商品名稱進(jìn)行查找。首先,選擇“按商“商品信息查找”品編號查詢”,若查詢的編號存在,則顯示查詢的信息一鑒T2-i F 1
35、I&tl詢下-編佶i 曇a-廨1牖 KPT i i f :尹巧品9£昂-*: H - j蘿一戲.ft嚇116精虬讐* -冷才的品皐 i啲擇入書司出川雖厲訂 壬謚耘 jg若杳詢的商品編號不存在,則提示信息“對不起,不存在該商品編號的商品”選擇“按商品名稱查詢”,輸入正確的商品名稱,顯示查詢信息mOSl精品服裝制固21.00000I伽:精品男峯,您的籌一邊擇-按商品若琲色喳:2鷺真案包蒔品特已U下亠式:L“按厘晶軸號直洶理Q】百h你可l.<7t自君FUDDUDD品匚罟間 SSQSS ":»>?>犀血詢褂空.丟養(yǎng)譴 的嘩-<古_匚甘丁丁門
36、卻崔 亠=Fr若查詢的商品名稱不存在,則提示信息“對不起,不存在該商品編號的商品”樣愛的孔dnin朋衣皿奸沏珂辺t入的目品看自幼能: 討埠查詢近式一按賈昴舊號查詢辦品希稱魚詢建 黜誕覚希的碉選擇“商品信息添加”,添加商品信息希二區(qū)諏蠶鑒.土._*嗣舉號箒廠口皆皆Fn呂呂 I的拿常®囂噸醫(yī)崗商商商I KK爭常曾商屠雷雷品密選擇“商品信息刪除”,刪除商品1rIBln信信信亠一rrLU 巴1蘭丄-.:上一. J >>>>>-> >£1H返回管理員界面,選擇“商品報表顯示”,進(jìn)行銷售報表功能靡贓楚扎的是綃住挖表琳闊陽;aQ 甲沅 in隹屋屋
37、菜環(huán).-I品愿 樂.煩日上尋S 涉有昂口崔一!回出推 .&H >>>>、> 【茫 1 Z 3 4 S 3- c c c c c C “衛(wèi)選擇“所有商品銷售情況”,顯示商品信息日W.=.嗚菁Ii ls 1I- ? z nV ft £T vr An I ILIH畐需JM頻器舀循電單號F時聲 J二-肯亍亍二匚曷 w£f片一“-百稱喟和印嚴(yán)嚴(yán)疥瑣節(jié)爭蕭.71:;|可拈,?心 An A 丁 -Jrl!E 扮 t' kF t選擇“商品日銷售報表”,查看符合條件的銷售商品-$tj eHI ffi e-Istj戶仝 呂靑 3H3S-1 1AlI
38、M.j.irL-li;'-._£ 希翦IW昭l-s若查詢的信息不符合條件,則顯示沒有符合條件的記錄曙?;亠揆T跆 K FSS 總 日 銷 “:MJy - £泮 ¥-Jy l-.Hd - 功丸月=11制- mduntt瀘i* 7入入人4i 跖薯非:技 幕網(wǎng)F.潔i? A"ww * u軒f m,當(dāng)區(qū)左巒迫F月月甘世験二一 娶鶴董前男黃曙昏附習(xí)加年需坤日凝聲錄曲師"3吒_ U!二.*k-r|W m 11邂艷倆:ae»?月站H搭隔噸:軸臺裔& iL17f;-.F-MtsSn血昂*巧:£ 產(chǎn)«畧齡時齣女裝 畫
39、吊單:鬲xSWinir選擇“銷售員銷售報表”,查看符合條件的銷售商品Ln山:婦I禰現(xiàn)f二堰人的矍t譽(yù)豈冃權(quán)功誌耶閒:FSS;當(dāng)前迎擬進(jìn)儷莒氏銷啓娠養(yǎng)顯示 算鏗鏗t, M 砸售記苯甘懇加下- 產(chǎn)盒&亠丄 產(chǎn)畑引帛哪品尸耘 百品牛,-Jt.inMiu if黜V if 可:z*« T7)ht3枱井序第2爭至是甲芳訂錄皆豈如下:產(chǎn)品畧賣嗎尚女裝 qd-ilt.'ji3.-.nmwwijBft Tn :-Off 11I稱昌時簡電月IP日整殳頁譬車 貯匚肖記錄*相營總命話-£鋼8»元(三)以店長方式登錄系統(tǒng)選擇“自身密碼修改”,修改店長密碼親爰的店咲j=巨忐”
40、純使鳧也裨4啲擁百下面所巾功能:CD自身密訶協(xié)改.省盤聽諜;熬讀呀勰聶奮售量捉花融員業(yè)績拒表 厲退出慕統(tǒng)皓輸人二自功能對應(yīng)的手號呂昔建洋:1囂雅 Min霽矗務(wù)黑itn 矗 mu髀ifR 弭!聶口 arsr醫(yī)理髯霽writ囂啊 理理!w 蠹囂f stu,弭 囂覚髀 需黑竄 理畀>!髀請動它j跆護(hù)巒西=ME趟賽輸人稱的新商駐bwz證瑪儒弋戰(zhàn)耐¥詒按二茁按冊韁* _店長其他功能(商品信息管理,銷售報表顯示)與管理員類似(四)以銷售員登陸系統(tǒng)苗債雷垃黔"勻詁密卻腺嘲|U<5 >52 3主唱瑪<6>'FiH 系游店長功育空自昂畠碼際由強(qiáng)両應(yīng)白思昏
41、隹匕橫加.陵狀啟詢.嫉口蟻觀聶顯示月蘇曽耘館售5W1S那帝<5>3壬系蔬帝告貝燮抵百飛.3.<i>ft品瀏覽晝詢,威屈銷會<a>g/引昂世窗眛星卜汨爺引賦衛(wèi)的害艱我心、逼耳壬眄面"朋出乖綣倖 |申_4 葬 土苻 CT!TirTKm(HJBXai.X;M;Ka«ai6 H KU H X UK 務(wù)入擺的善或匡戶蛍號注“_一 當(dāng)囁入傑 的秦頃申 戶療碼怕“丄牯QH怡小* 管冊726息*;1防護(hù) - 冊下呂呈加_煤 匸誦茹O.F杜上T.k一爭產(chǎn)杲彷品rn=B民 的次的的商-向商聖& 足喩©思屋屋星 親話話若銷售產(chǎn)品大于庫存,則提
42、示銷售失敗。回駭籍朝鷲骼遵好俶杠入的鋁M和功給E肓兩嚴(yán)品-§-=1.|、起畀梧1入茁1銷客數(shù)雖.2圧殍霑咎庶熱睛按任慧泌續(xù)銷售員商品瀏覽、查詢、及報表查看功能與管理員功能類似五、總結(jié)1 設(shè)計中遇到的問題及解決過程2 設(shè)計中產(chǎn)生的錯誤及原因分析3 設(shè)計體會和收獲。六、附錄1、原代碼#include <stdio.h>/標(biāo)準(zhǔn)輸入輸出函數(shù)#i nclude <win dows.h> /Win dows頭文件#include <time.h>/日期和時間頭文件#defi ne ADMIN_USER_TYPE 1#defi ne BOSS_USER_TYPE
43、 2#defi ne SELL_USER_TYPE 3#defi ne FUNCTION_FAILED -1#define FUNCTION SUCCESS 0 /女口果函數(shù)成功執(zhí)行,將返回 0/*系統(tǒng)用戶結(jié)構(gòu)*/typedef struct SystemUser char userName20;char password20;int userType;/用戶類型(1:管理員;struct SystemUser *n ext; SystemUser;/*服裝商品信息*/ typedef struct Products int productId; char productName20; cha
44、r productType20; char productCompa ny 20; float productPrice; int productCo unt; char memo50; struct Products *n ext;針 Products;/用戶名,主鍵/用戶密碼2:店長;3:銷售員)/指向下一個用戶的指針/*銷售記錄信息結(jié)構(gòu)*/ typedef struct Sell In foRecord int saleId;char userName20;int productId; int sellCo unt;int year; int mon th;int day; char m
45、emo50;struct SellInfoRecord *next;/商品編號,主鍵/商品名稱/商品型號/商品廠家/商品價格/商品數(shù)量/商品附加信息/指向下一個商品的指/銷售編號,主鍵/銷售商品的用戶名/銷售的商品編號/銷售數(shù)量/銷售商品年份/銷售商品月份/銷售商品日期/銷售的附加信息/下一條銷售記錄 SellI nfoRecord;static char currentUser20; /系統(tǒng)全局變量,保存當(dāng)前登陸用戶名;static int currentUserType;/系統(tǒng)全局變量,保存當(dāng)前登陸用戶的用戶類型static SystemUser *pSystemUserHead = NU
46、LL; /保存系統(tǒng)用戶信息記錄的頭指針static Products *pProductHead = NULL; /保存系統(tǒng)商品信息記錄的頭指針static SellInfoRecord *pSelllnfoHead = NULL;/ 保存系統(tǒng)銷售記錄的頭指 針void InitSystem();II對系統(tǒng)用戶信息和商品信息進(jìn)行初始化II系統(tǒng)歡迎菜單II系統(tǒng)登陸II系統(tǒng)管理員操作菜單II店長操作菜單II銷售員操作菜單II修改密碼II用戶信息管理II用戶信息查看II用戶信息添加II用戶信息修改int AddUser(SystemUser *);int AddProduct(Products *p
47、Pro); int AddSellI nfo(Selll nfoRecord *); void UserExit();void WelcomeMe nu();void SystemLogi n();void Adm in Operati onMenu(); void BossOperati onMenu();void SellOperati onMen u(); void Chan gePassword();void UserMa nage();void UserI nfoView(); void UserI nfoAdd(); void UserI nfoModify();II向用戶信息鏈表
48、中加入用戶信息II向商品信息鏈表中加入商品信息void Userl nfoDelete();/用戶信息刪除void ProductsMa nage();/產(chǎn)品信息管理void ProductsView();/商品查看void Product Fin d();void In putA ndAddProduct();/輸入商品信息并添加void ModifyProduct();/修改商品信息void DeleteProduct();/刪除商品信息void ProductsSell();/商品銷售void ReportPri nt();/報表顯示void ShowAIISellReport();/顯
49、示所有商品銷售情況void ShowDaySellReport();/顯示某日的銷售情況void ShowMo nthSellReport();/顯示某月的銷售情況void ShowEmployeeSellReport();/顯示某個銷售員的銷售情況void ExitSystem();/ 退出登陸系統(tǒng)float getPriceByld(int);/通過商品編號查詢商品價格int getProductNameByld(i nt,char *);/通過商品編號查詢商品名稱int getCountByld(int);/通過商品編號查詢商品庫存數(shù)量void ReduceProductCount(in
50、t,int);/通過商品編號減少商品數(shù)量/*對系統(tǒng)進(jìn)行初始化,建立用戶記錄和商品記錄*/void In itSystem() FILE *fp;SystemUser adm in User,bossUser,sellUser;/管理員,店長,銷售員三個角色信息Products products2;/初始化兩件服裝商品信息SellI nfoRecord sellI nfo2;/初始化兩條銷售記錄/管理員strcpy(admi nUser.userName,"admi n");strcpy(admi nUser.password,"admi n");admi
51、 nUser.userType = ADMIN_USER_TYPE;adm in User. next = NULL;fp = fope n("Admi n.txt", "w");fprin tf(fp, "%st%s", admi nUser.userName, adm in User.password);fclose(fp);/店長strcpy(bossUser.userName,"boss");strcpy(bossUser.password,"boss");bossUser.userTy
52、pe = BOSS_USER_TYPE;bossUser. next = NULL;fp = fope n("Shopkeeper.txt", "w");fpri ntf(fp, "%st%s", bossUser.userName, bossUser.password);fclose(fp);/銷售員strcpy(sellUser.userName,"sell");strcpy(sellUser.password,"sell");sellUser.userType = SELL_USER_TY
53、PE;sellUser. next = NULL;fp = fope n("Seller.txt", "w");fprin tf(fp, "%st%s", sellUser.userName, sellUser.password);fclose(fp);AddUser(&admi nUser);AddUser(&bossUser);AddUser(& sellUser);ductld = 1; strcpy(ductName," 精品男裝"
54、); strcpy(ductType,"m001");strcpy(ductCompany,"精品服裝制造廠");ductPrice = 23.5;ductCou nt = 100;strcpy(products0.memo," 精品男裝,您的第一選擇"); products。. next = NULL;ductld = 2; strcpy(ductName," 時尚女
55、裝"); strcpy(ductType,"w002");strcpy(ductCompany,"時尚服裝制造廠");ductPrice = 25.5;ductCou nt = 150;strcpy(products1.memo," 時尚女裝,您的第一選擇"); products1. next = NULL;AddProduct(&products0);AddProduct(&productsl);sell
56、l nfo0.day = 16;strcpy(selll nfo0.memo,"測試數(shù)據(jù) 1");selll nfo0.m on th = 7;selll nfo° .n ext = NULL;selll ductld = 1;selll nfo0.sellCou nt = 8;strcpy(selll nfo0.userName,"sell");selll nfo0.year = 2008;selll nfo1.day = 17;strcpy(selllnfo1.memo,"測試數(shù)據(jù) 2");selll n
57、fo1.mo nth = 7;selll nfo1. next = NULL;selll ductld = 2;selll nfo1.sellCou nt = 5;strcpy(selll nfo1.userName,"sell");selll nfo1.year = 2008;AddSelll nfo(&selll nfo0);AddSelll nfo(&selll nfo1);/*函數(shù)功能:向系統(tǒng)用戶信息鏈表中加入用戶信息*/int AddUser(SystemUser *pUser) SystemUser *pSystemUser,*tempSystemUser;tempSystemUser = pSystemUserHead;while(NULL != tempSystemUser) if(0 =strcmp(tempSystemUser->userName,pUser->userName)printf("對不起,你要添加的用戶已經(jīng)存在");return FUNCTION_FAILED;tempSystemUser = tempSystemUser- >n ext;pSystemUser = (SystemUser *) malloc(sizeof
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路綠化安全應(yīng)急預(yù)案
- 餐飲公司績效考核制度
- 雨水收集系統(tǒng)出水口圍堰實(shí)施方案
- 公司安全管理人員安全培訓(xùn)試題答案歷年考題
- 機(jī)場建設(shè)監(jiān)理組織方案
- 廉潔文化建設(shè)培訓(xùn)
- 小學(xué)傳統(tǒng)文化活動
- 特殊教育學(xué)校疫苗接種制度
- 車間職工安全培訓(xùn)試題及答案基礎(chǔ)題
- 農(nóng)業(yè)基地蟲害防治及消殺預(yù)案
- GB/T 20638-2023步進(jìn)電動機(jī)通用技術(shù)規(guī)范
- 四年級作文-記一次活動之有趣的搶凳子游戲(課堂PPT)
- 國企領(lǐng)導(dǎo)人員管理暫行規(guī)定
- 高校學(xué)生干部培訓(xùn)會新聞稿
- 人教版九年級物理全一冊課件【全冊】
- 顱內(nèi)動脈瘤栓塞術(shù)課件
- 《鄉(xiāng)土中國》非連續(xù)性文本閱讀試題模擬練-2023屆高考語文備考復(fù)習(xí)
- 《國畫》課程標(biāo)準(zhǔn)
- 學(xué)校傳染病控制
- 建筑工程初中級職稱考試法律法規(guī)復(fù)習(xí)題(含答案)
- 運(yùn)動鞋服領(lǐng)域:貴人鳥企業(yè)組織結(jié)構(gòu)及部門職責(zé)
評論
0/150
提交評論