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

下載本文檔

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

文檔簡介

/C語言程序設(shè)計超市管理系統(tǒng)目錄課程設(shè)計目的要求1.1設(shè)計目的31.2設(shè)計要求31.3設(shè)計思路3課程設(shè)計任務(wù)內(nèi)容2.1課程設(shè)計題目32.2課程設(shè)計任務(wù)42.2.1設(shè)計內(nèi)容42.2.2各組員任務(wù)4詳細(xì)設(shè)計說明3.1系統(tǒng)模塊圖43.1.143.1.253.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è)計心得與體會10附錄·程序源代碼參考文獻(xiàn)課程設(shè)計目的要求設(shè)計“超市管理系統(tǒng)”的主要目的是鍛煉學(xué)生綜合運(yùn)用所學(xué)的C語言程序設(shè)計知識的能力,獨(dú)自利用C語言知識編寫承訓(xùn)解決實際問題的能力,培養(yǎng)同學(xué)嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和良好的程序設(shè)計習(xí)慣,讓同學(xué)們認(rèn)識到必須重視實踐環(huán)節(jié),多讀程序,多編寫程序,多上機(jī)實踐。進(jìn)一步培養(yǎng)結(jié)構(gòu)化程序設(shè)計的思想,加深對高級語言要素和控制結(jié)構(gòu)的理解。通過課程設(shè)計的訓(xùn)練,學(xué)生能夠了解程序設(shè)計的基本開發(fā)過程,掌握編寫、調(diào)試和測試C語言程序的基本過程,掌握程序設(shè)計的技巧的大體流程。本次程序設(shè)計主要側(cè)重于知識的運(yùn)用,把平時學(xué)到的運(yùn)用到實踐中去。1.1設(shè)計目標(biāo):熟悉c語言的編譯連接和運(yùn)行過程。掌握c語言的數(shù)據(jù)類型,熟悉整型、實型、字符型變量的定義方式及如何給它們賦值。掌握if語句及switch語句的運(yùn)用方法及嵌套應(yīng)用方法。掌握實現(xiàn)循環(huán)結(jié)構(gòu)的三種語句while、do-while.、for的使用。掌握函數(shù)的定義方法和調(diào)用方法。能夠采用模塊化思想調(diào)試程序。指針和文件的使用,結(jié)構(gòu)體的使用 1.2設(shè)計要求:1.源程序要有適當(dāng)?shù)淖⑨?,使程序容易閱讀。2.必須用結(jié)構(gòu)體和文件等數(shù)據(jù)結(jié)構(gòu)。3.程序的運(yùn)行結(jié)果要求使用文件作備份。4.至少輸出一份報表,鼓勵自行增加新功能。課程設(shè)計任務(wù)內(nèi)容2.1課程設(shè)計題目超市管理系統(tǒng)2.2課程設(shè)計任務(wù)系統(tǒng)為超市管理系統(tǒng),在此系統(tǒng)當(dāng)中需要用到許多函數(shù),包括系統(tǒng)函數(shù)以及自定義的函數(shù),在這個系統(tǒng)當(dāng)中,總共分為五個模塊:管理員登陸、客戶信息管理、商品管理、購物結(jié)算、銷售結(jié)算。2.2.1設(shè)計內(nèi)容本次實習(xí)中,主要用到的C語言知識有結(jié)構(gòu)體、指針、文件、數(shù)組。層層鑲嵌的思路將各個模塊要實現(xiàn)的功能環(huán)環(huán)相扣。其中,在管理員登陸后,進(jìn)入的是主菜單,在這個環(huán)節(jié)當(dāng)中,我們將菜單設(shè)計為函數(shù),并將菜單函數(shù)放入一個單獨(dú)的C文件中管理,實現(xiàn)層層進(jìn)入功能。主菜單函數(shù)又分為商品管理、客戶管理、購物結(jié)算、銷售結(jié)算等函數(shù)的管理,在此當(dāng)中,主要采用結(jié)構(gòu)體定義客戶信息,文件訪問等。2.2.2各組員任務(wù)為保證設(shè)計在規(guī)定時間內(nèi)完成,我們將各模塊分工到個人。確保任務(wù)有質(zhì)量有效率的同時鍛煉團(tuán)隊的團(tuán)結(jié)協(xié)作能力。第三章詳細(xì)設(shè)計說明3.1系統(tǒng)模塊圖(未完)添加用戶修改用戶添加用戶修改用戶刪除用戶查詢用戶進(jìn)入超市管理系統(tǒng)主界面銷售結(jié)算商品管理購物結(jié)算客戶管理3.2主要函數(shù)定義3.2.1主函數(shù)主函數(shù)主要包含的是登陸界面并且設(shè)置登陸界面其中包含:1.登錄2.關(guān)于我們3.退出系統(tǒng)實現(xiàn)其功能主要用到如下知識:一.其中使用了多種系統(tǒng)自定義的頭文件以及用戶自定義的頭文件如下:#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>#include<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ù)①voidmain(){charchoice='3';//存儲判斷的選項do{system("cls");//清屏命令printf("\n\n************歡迎進(jìn)入檸檬·5超市管理系統(tǒng)**********\n\n");printf("\n請您選擇操作選項:\n\n");printf("\t\t\t1.登錄\n");printf("\t\t\t2.關(guān)于我們\n");printf("\t\t\t3.退出系統(tǒng)\n");printf("\n\n*******************************************\n\n");printf("\n請輸入您的選項(1,2,3):");choice=getch();}②voidaboutUs(){system("cls");BreakLine;printf("\t\t版權(quán)所有@湖南工學(xué)院網(wǎng)絡(luò)1101班檸檬·5\n\n");printf("\t\t\t檸檬·5專屬,翻版必究\n\n");printf("\t\t技術(shù)扶持Tell:");BreakLine;pcontinue();}③intlogin(){charupwd[8];inti;system("cls");for(i=1;i<4;i++){ BreakLine; printf("請輸入您的8位數(shù)密碼"); scanf("%s",upwd); if(strcmp(upwd,realpassword)==0) return1; printf("您好,您的密碼錯誤,請確認(rèn)后重新輸入\n"); printf("您還有%d次輸入機(jī)會",(3-i));} printf("\n系統(tǒng)鄭重提示,您不是合法用戶,強(qiáng)制退出\n"); exit(0);}④在common.c定義voidpcontinue()函數(shù)實現(xiàn)按任意鍵繼續(xù)功能voidpcontinue(){printf("\t按任意鍵繼續(xù)\n");getch();}三.清屏語句,Dowhile,宏定義等的使用⑴清屏語句:system("cls");⑵使用了DoWhile循環(huán)實現(xiàn)了在進(jìn)入關(guān)于我們部分時可以再次返回登陸界面。⑶使用了宏定義。在頭文件MyParam.h中定義BreakLine#defineBreakLineprintf("\n\n***************************************************\n\n")⑷使用了switch語句進(jìn)行了選擇并且在語句中使用了多種函數(shù)嵌套使功能完整。switch(choice){ case'1': if(login()==1){ showMainMenu(); } break; case'2':aboutUs();break; case'0':printf("\n\n系統(tǒng)安全退出\n\n"); exit(0); break;⑸在輸入密碼部分使用了For循環(huán),實現(xiàn)了在登陸三次密碼不正確的情況下強(qiáng)制退出系統(tǒng):for(i=1;i<4;i++){ BreakLine; printf("請輸入您的8位密碼:"); scanf("%s",upwd);//數(shù)組名代表數(shù)組的首地址,所以不要&if(strcmp(upwd,realpassword)==0){ return(1);//1表示登錄成功 } printf("\n您好,您的密碼錯誤,請確認(rèn)后重新輸入··\n"); printf("\n您還有第%d次輸入機(jī)會",(3-i));}printf("\n系統(tǒng)鄭重提示,您不是合法用戶,強(qiáng)制退出···\n");pcontinue();exit(0);3.2.2其他函數(shù)部分voidshowMainMenu();再在voidshowMainMenu();其中嵌套voidshowGoodsMenu();voidshowCustMenu();voidshowShopMenu();voidshowSaleMenu();在這些函數(shù)中也就是商品管理,客戶信息管理,購物結(jié)算,和銷售結(jié)算四大功能模塊。依照前面的嵌套方法一一實現(xiàn)他的功能。在四大模塊菜單中有voidaddGoods();voidfindGoodsAll();voidupdateGoods();voiddelGoods();voidaddcust();voiddelcust();voidupdatecust();voidfindall();voidsaveAll();voidsaveall();實現(xiàn)了客戶管理中:添加客戶、查詢客戶、刪除客戶、修改客戶、返回上一級商品管理中:添加商品、查詢商品、刪除商品、修改商品、返回上一級等部分的功能。在四大模塊菜單中有voidshowVIP();voidGoodseffect();voidGoodssave();voidBirthdayperson();voidshowMymenue();voidshopping();實現(xiàn)了購物結(jié)算中:商品交易信息、返回上一級銷售預(yù)算中:顯示最具有貢獻(xiàn)精神VIP客戶排行榜 顯示最具有影響力的商品排行榜 顯示庫存商品量排行榜 當(dāng)月生日的客戶以及返回上一級等功能3.3結(jié)構(gòu)體的建立和文件的使用在實現(xiàn)添加功能時使用了結(jié)構(gòu)體、指針等對現(xiàn)階段我們來說較難理解的內(nèi)容。3.3.1結(jié)構(gòu)體語句的使用我們會在程序中用到如下結(jié)構(gòu)體語句:Structdate/日期intyear/年intmonth/月intday/日Structcust/客戶信息intno/編號charname[20]姓名charsex/性別intage/年齡structdatebirthday/生日doubleexpenditure/花費(fèi)chartel/電話號碼Structgoods/商品信息ntnum/商品代碼charname[50]/商品名字intsale/商品數(shù)量floatprice/商品單價intlacation/商品位置在整個程序中我們會如下用到結(jié)構(gòu)體語句,不同的結(jié)構(gòu)體類型:structcust{intno;charname[20];charsex;intage;structdatebirthday;doubleexpendituer;chartel[20];}cust[1000];3.3.2文件的使用客戶信息管理和商品管理都有用到文件,它于我們是重點也是難點定義文件FILE*fp; inti; if((fp=fopen("cust.dat","wb"))==NULL){ printf("\n無法打開文件\n"); return; } for(i=0;i<total;i++){ fwrite(&cust[i],sizeof(structcust),1,fp); } fclose(fp);⑵定義函數(shù)read_message()打開文件intread_message(){FILE*fp;inti=0;//記數(shù)//打開文件if((fp=fopen("cust.dat","rb"))==NULL){printf("\n*****暫無任何可讀消息,按任意鍵繼續(xù)**********\n");getch();return0;}//循環(huán)讀取文件中的每一條記錄(3)結(jié)合循環(huán)語句,關(guān)閉文件while(!feof(fp)){fread(&cust[i],sizeof(structcust),1,fp); if(cust[i].no=0){ break;} else{i++; }}fclose(fp); returni;}第四章程序設(shè)計心得與體會通過為期兩周的課程設(shè)計,我們不僅復(fù)習(xí)了課本上所學(xué)知識,還通過查閱資料、詢問老師同學(xué)學(xué)到了很多課本上沒有的只是,從而啟發(fā)我們:要想寫好程序,在學(xué)好課本只是的同時還需要多閱讀和專業(yè)有關(guān)的書記,同時還需要多動腦子,要有縝密的邏輯思維能力和綜合應(yīng)用能力。簡而言之,我們要做到三心:編寫代碼要細(xì)心;檢查錯誤要耐心;完成任務(wù)要恒心。除此,在學(xué)到知識的同時鍛煉了我們的團(tuán)結(jié)合作精神,也使得我們小組成員之間有更深的交流。所以,很感謝學(xué)校和老師給我們提供這樣一個機(jī)會。在鍛煉自己的同時讓自己養(yǎng)成了良好的學(xué)習(xí)習(xí)慣。我希望自己能一直帶著這份心態(tài)和習(xí)慣大步向前。參考文獻(xiàn)[1]武愛平卜耀華孫東衛(wèi).C語言程序設(shè)計[M].長春:吉林大學(xué)出版社。附錄檸檬·5supermarket管理系統(tǒng)源代碼SourceFilescommon.cvoidpcontinue();voidpcontinue(){printf("\t按任意鍵繼續(xù)\n");getch();}Main.c#include<stdio.h>#include<string.h>//字符串<先到系統(tǒng)的庫找,再到用戶庫#include<conio.h>#include<stdlib.h>#include"MyParams.h"#include"common.h"#include"mymenu.h"voidaboutUs();intlogin();charrealpassword[8]="ningmeng";//系統(tǒng)的真實登錄密碼voidmain(){charchoice='3';//存儲判斷的選項do{system("cls");//清屏命令//打印出程序歡迎界面 printf("\n\n******歡迎進(jìn)入檸檬·5超市管理系統(tǒng)***\n\n"); printf("\n請您選擇操作選項:\n\n"); printf("\t\t\t1.登錄\n"); printf("\t\t\t2.關(guān)于我們\n"); printf("\t\t\t3.退出系統(tǒng)\n"); printf("\n\n*****************\n\n");//完成輸入操作 printf("\n請輸入您的選項(1,2,3):");choice=getch();//getch()從鍵盤輸入一個字符//判斷switch(變量){case值1:xxx;break;defaultxxx;}; switch(choice){ case'1':if(login()==1){ showMymenue();} break; case'2':aboutUs(); break; case'3':printf("\n\n系統(tǒng)安全退出\n\n"); exit(0); break;}}while(1);}voidaboutUs(){ system("cls");BreakLine;printf("\t\t版權(quán)所有@湖南工學(xué)院網(wǎng)絡(luò)1101班檸檬·5\n\n");printf("\t\t\t檸檬·5專屬,翻版必究\n\n");printf("\t\t技術(shù)扶持Tell:");BreakLine;pcontinue();}intlogin(){charupwd[8];inti;system("cls");for(i=1;i<4;i++){ BreakLine; printf("請輸入您的8位數(shù)密碼:"); scanf("%s",upwd); if(strcmp(upwd,realpassword)==0) return1; printf("您好,您的密碼錯誤,請確認(rèn)后重新輸入\n"); printf("您還有%d次輸入機(jī)會",(3-i));}printf("\n系統(tǒng)鄭重提示,您不是合法用戶,為系統(tǒng)安全,強(qiáng)制退出\n"); exit(0);}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"voidshowGoodsmenue();voidshowCustmenue();voidshowSales();voidshowSell();voidshowMymenue(){charchoice='5';while(1){ system("cls");BreakLine; printf("\t\t1.商品管理\n"); printf("\t\t2.客戶管理\n");printf("\t\t3.購物預(yù)算\n");printf("\t\t4.銷售預(yù)算\n");printf("\t\t5.退出系統(tǒng)\n"); BreakLine; printf("\n\n請輸入您的選擇(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("\n\n系統(tǒng)安全退出\n\n"); exit(0); break; default:printf("\n您的輸入有誤,請檢查后重新輸入\n"); pcontinue();}}}voidshowGoodsmenue(){charchoice='5';while(1){ system("cls"); BreakLine; printf("\t\t1.添加商品\n"); printf("\t\t2.查詢商品\n");printf("\t\t3.更新商品\n");printf("\t\t4.刪除商品\n");printf("\t\t5.返回上一級\n"); BreakLine; printf("\n\n請輸入您的選擇(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;default:printf("\n您的輸入有誤,請檢查后重新輸入\n");pcontinue();}}}voidshowCustmenue(){charchoice='5';while(1){ system("cls");BreakLine; printf("\t\t1.添加客戶\n"); printf("\t\t2.查找客戶\n");printf("\t\t3.修改客戶\n");printf("\t\t4.刪除客戶\n");printf("\t\t5.返回上一級\n"); BreakLine; printf("\n\n請輸入您的選擇(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"); pcontinue();}}}voidshowSales(){charchoice='5';while(1){ system("cls");BreakLine; printf("\t\t1.顯示最具有貢獻(xiàn)精神V

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論