商場招商軟件實習報告_第1頁
商場招商軟件實習報告_第2頁
商場招商軟件實習報告_第3頁
商場招商軟件實習報告_第4頁
商場招商軟件實習報告_第5頁
已閱讀5頁,還剩122頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 信 息 科 學 與 技 術 學 院本 科 一 年 級軟件開發實習報告專 業: 物聯網工程 班 級: 一班 開發小組成員姓名: 顏俊超、胡婕、趙青荷 開發小組成員學號: 20122734、20122736、20122731 實習單位:軟件工程實驗中心2013 年 7 月 27 目 錄目 錄2誠信承諾書3一、軟件開發設計題目4二、軟件開發設實習項目分工4三、系統需求分析5四、總體設計61.系統功能分析:62.類的描述74.系統功能模塊的劃分與設計,各功能函數的說明25五、詳細設計與實現56六、運行結果58七、程序清單631、頭文件的實現632、源文件的實現101八、主要知識點121九、軟件開發實

2、習收獲、體會及建議126誠信承諾書本小組成員_ 顏俊超 、胡婕、_趙青荷_保證本次軟件開發實習報告為自己獨立總結、寫作完成,報告內容和源程序不會有三分之一以上的內容與其他同學雷同,如果出現以上情況,本次軟件開發實習成績自愿記為零分。承諾人簽名: _顏俊超_、胡婕、_趙青荷_日期:_2013_年_7_月_24_日一、軟件開發設計題目商場招商管理系統二、軟件開發設實習項目分工姓名(負責內容)知識點和小內容胡婕(區塊類)趙青荷(商家類)顏俊超20122734(協議類和菜單)鏈表的建立、讀取、刪除文件的讀取(三個文件)(兩個文件)(三個文件)類的定義、繼承和派生一個基類、三個派生類一個基類、兩個派生類

3、一個基類、一個派生類系統調試文檔整理(33%)(39%)(28%)所編程序行數757453889工作量百分比333%333%33.3%三、系統需求分析為了適應現在大型商場招商時所面臨的巨大的工作量以及相關部門運轉的混亂,本套商場招商管理系統應運而生。系統明確將商場招商分成三塊模塊,能有效緩解商場在招商時因為各種情況而產生的各種不明情況,減少不必要的經濟損失以及人力資源的浪費,使得商場在招商時能夠運轉得更加順利。在招商時,大型的商場與一般專業的市場中心既存在某些相似之處,也有很大的區別。一般而言,特定的專業市場主要面向的商戶群體為某一比較專業的客戶群,而大型的商場則不同,現代的商業中心大多都是一

4、個集大型的賣場,大型各類專業柜組,現代化的市場管理為一體的多功能,現代化的購物休閑中心。現代化的商場的經營理念都融合了比較先進的市場化思想,把顧客和廠商作為其最重要的資產,一切為顧客著想,為顧客做好一切,真誠與廠商合作。在運行上,實行大規模的經營,低成本運行,高速度運轉,科學化管理,不斷超越自我,向更優更好邁進。大型商場招商的需求有三點:a:為了積聚人氣同時為了提升商場中心的形象,如何吸引一流品牌和商家入駐,以滿足消費者的各種購物需求。b:為了提高經濟效益,如何最優并動態的進行市場中心各功能區域的設定及調整。c:為了留住廠商和消費者,與此同時又能繼續吸引一批優秀的廠商,提供一流的服務和規范化的

5、操作標準也是非常有必要的。為了適應以上的需求,招商系統也需滿足三個需求:a:通過市場分析,項目定位,招商策略,建立一套行之有效的招商管理系統,以幫助市場中心吸引一流商業品牌的入駐。b:通過各種統計,分析,輔助決策等手段,幫助市場中心決策者在不斷變化的市場情況下,不斷動態變化和調整,以適應日新月異的市場需求。c:帶有監督,管理,評估,反饋的機制為線索的誠信系統建立,以規范市場中心商戶的經營,為消費者提供一個稱心滿意的消費場所。因此在我們三個人在做這套商場招商管理系統時,將廠商的個人信息,商場區域的分配以及調整,與商家的協議各成一個類,各自管理,這樣可以使得在招商管理時有條不紊,也就能功半事倍。四

6、、總體設計1.系統功能分析:功能概括l 根據用戶身份不同進入不同操作界面。l 能實現用戶根據賬號和密碼登錄系統,且可以實現用戶注冊。l 管理員可以對已簽協議,區塊,商家信息進行錄入,保存,查詢,修改和刪除,商家可以查詢未出租區塊信息和已簽協議。詳細說明信息錄入: 對區塊的信息錄入 對商家的信息錄入 對協議的信息錄入 信息查詢:管理員: 根據區塊編號查詢區塊信息 根據商家姓名查詢商家信息 根據區塊編號或商家信息查詢對應協議 商家: 查詢各種區塊類型剩余所有未出租的區塊信息 查詢自己已簽訂的協議信息刪除: 根據區塊編號刪除文件中區塊信息 根據商家姓名刪除文件中商家信息 根據區塊編號或商家姓名刪除協

7、議內容信息修改: 修改食品區塊的清潔力度 修改奢侈品區塊的保安個數 修改大型市場中區塊附近其他區塊的主營項目 修改各類區塊的出租狀態和價格 修改商家姓名 修改商家編號修改商家聯系人電話,Email,網址信息保存: 根據用戶選擇確定是否保存數據到文件 2.類的描述:區塊類: Block(區塊類)double area; /面積double price; /價格char address20;/地址char Bnumber20;/編號char state20; /區塊狀態Block(); void changeprice(); /修改價格void changestate(); /修改狀態void f

8、ind(Block &p); /查詢區塊信息void searchno(Block &p); /查找未出租的區塊信息void virtual show();/顯示區塊所有信息 LuxuryBlock奢侈品區類int guard; /保安個數LuxuryBlock();void show();void changeguard(); /修改保安個數public public publicFoodBlock食品區類char clean20; /清潔力度FoodBlock();void show();/信息顯示void changeclean();/清潔力度修改MarketBlock大

9、型市場區類char Mmanagement20; / 該大型市場中附近其他區主營的詳細主營MarketBlock();void show();void changeMmanagement();/修改保安個數商家類: Seller(基類) char snumberN;/商家編號char nameN;/商家負責人姓名char phoneN;/聯系電話char managementN;/經營內容 char emailN;/電子郵箱Seller()/構造函數Void changename()/修改商家姓名Void changephone()/修改商家電話Void changemanage()/修改商家

10、經營內容Void changemail()/修改商家郵箱Person數據成員:float loan ;/個體戶在銀行貸款額float profit;/個體戶一年的大致盈利額函數成員:person();/構造函數以實現對個體戶特有的屬性的錄入void judge();/商場對個體戶的判斷void changeloan();/修改個體戶的銀行貸款額void changeprofit();/修改個體戶的年盈利額void scanp();/瀏覽個體戶的所有信息Company數據成員:char siteN;/網址char otherN;/該企業在商場經營的其他商品char creditN;/企業信用等級

11、函數成員:company();/構造函數以錄入企業特有的信息void changesite();/修改企業的網址void changeother();/修改企業在商場經營的其他商品void changecredit();/修改企業的信用等級void scanc();/瀏覽企業的全部信息時間類: 時間類數據成員:年(year),月(month),日(day)函數成員:Date_in(讀入現在的日期),showtime(顯示日期)協議類: 時間類協議類派生數據成員:商家編號(Snumber)、區塊編號(Bnumber)租期(年)(renttime)租金(元/年)(rentmoney)付款方式(pw

12、ay)收費方式(gway)日期(年月日)(year,month,day)函數成員:agreement_in(初始化協議數據)、showagreement(顯示協議內容)、operator=(agreement a)(重載運算符)、date_in(讀入日期的函數)settime(修改日期)showtime(顯示日期)3.各功能菜單介紹:struct manager char name10; char code7;/建立一個管理員結構體/struct accountchar name10;/用戶名char idcard10;/身份證號char accnumber12;/賬戶char code7;/

13、密碼struct account *next;/結構體自應用指針;/建立一個用戶的結構體struct account *readacc()FILE *fp;struct account *head;struct account *last,*p;if(fp=fopen("account_list","rb")=NULL)/判斷文件是否存在,如果不存在就結束讀取fp=fopen("account_list","wb");/如果文件無法打開,就以寫讀的方式打開,文件不存在就新建文件,文件存在則截取長度為0.return

14、 (NULL);last=(struct account *)malloc(sizeof(struct account);/動態分配一個struct account的指針空間last. if(!feof(fp)/判斷是否讀到文件末尾了 head=last;/設定好頭的位置。fread(head,sizeof(struct account),1,fp);/從文件里面讀取struct account長度的字節到head中。 else return (NULL); while(!feof(fp)/當文件沒有結束繼續讀取數據入鏈表 p=(struct account *)malloc(sizeof(s

15、truct account);/動態分配一個struct account的指針空間p. fread(p,sizeof(struct account),1,fp);/從文件里面讀取struct account長度的字節到p中. last->next=p; last=p;/指針跳轉實現結構體的連接成表。 p->next=NULL;/讀完數據后最后的結構體中的指針為空。 fclose(fp);/關閉文件 return(head);/返回頭指針/以下是輸入密碼void inputcode(char *mm)int i,j=0;char a7;for(i=0;i<7;i+) ai=ge

16、tch();/用getch函數可以實現從鍵盤讀入字符并且不在頻幕上顯示if(ai>='0'&&ai<='9'&&i!=6)printf("*");/輸入一個字符頻幕上就打印一個* elseif(i!=6&&ai!=8)|ai=8&&i=0|(i=6&&ai!='r'&&ai!=8)ai='0'i=i-1;continue;if(ai=8&&i!=0) ai='0'ai-1=

17、'0'i=i-2;printf("b b");continue;ai-1='0'strcpy(mm,a);/以下是創建一個賬戶void creataccount()FILE *fp;/文件指針int flag;/設置標識char mm6;/密碼的臨時存放空間struct account kaihu;/一個賬戶的結構體struct account *head,*p1,*p;/幾個結構體指針head=readacc();/讀取到文件的頭指針p=head;/p指針指向頭指針p1=&kaihu;cout<<"請輸入您的姓

18、名:"cin>>;cout<<"*【開戶】*"<<endl;loopacc1:cout<<"請輸入身份證號碼:" cin>>kaihu.idcard;/讀入身份證號碼 flag=0; while(flag!=1&&p!=NULL)/當標志flag不為1時并且p不是空的進行以下步驟if(strcmp(kaihu.idcard,p->idcard)!=0)/判斷輸入的身份證和已經注冊了得用戶的身份證是否有相同的p=p->next;elsefl

19、ag=1;/如果有相同的,就把標志flag設為1if(flag=1)cout<<"對不起,您輸入的身份證號已注冊"<<endl;/等所有的文件里面的賬戶都判定完之后,如果flag為1就提示上述內容goto loopacc1;loopacc2: p=head;flag=0;cout<<"請輸入賬號"<<endl;cin>>kaihu.accnumber; while(flag!=1&&p!=NULL)if(strcmp(kaihu.accnumber,p->accnumber

20、)!=0)/判斷輸入的賬號和已經注冊了得用戶的賬號是否有相同的p=p->next;elseflag=1;if(flag=1)cout<<"對不起,您輸入的賬號已注冊!"<<endl;goto loopacc2;/輸入注冊賬號docout<<"請輸入一個六位數的密碼:"inputcode(mm);/輸入密碼 cout<<"請再次輸入一個密碼:"inputcode(kaihu.code);/再次輸入密碼if(strcmp(kaihu.code,mm)!=0)/判斷兩次輸入密碼是否相同c

21、out<<"兩次輸入密碼不一致,請重新輸入!"<<endl;Sleep(500);system("cls");/清屏while(strcmp(mm,kaihu.code)!=0);/以上是設置密碼 if(fp=fopen("account_list","ab")=NULL)/打開文件cout<<"cannot open filen"if(p1!=NULL)fwrite(p1,sizeof(struct account),1,fp); fclose(fp); c

22、out<<"nntt開戶成功!n" Sleep(2000); system("cls");struct account *login(struct account *head)struct account *p;char zh20,mm7;int flag=0;if(head=NULL)printf("n請先開戶!n");Sleep(1000);exit(0);re_input:system("cls");printf("nntttt【登錄】nnn");p=head;printf(&

23、quot;ntt請輸入賬號: ");scanf("%s",zh);while(flag!=1&&p!=NULL)if(strcmp(zh,p->accnumber)!=0)p=p->next;else flag=1;if(flag=1)int i=0;re_input_2:system("cls");printf("nntttt【登錄】nnn");printf("ntt請輸入賬號: %s",zh);printf("ntt請輸入密碼: ");char mm7;

24、inputcode(mm);if(strcmp(mm,p->code)!=0)i+;if(i=3)printf("nnnt【對不起,您已經連續輸錯三次,為保障安全,請二十四小時后再試!】nnnntt");system("pause");return NULL;printf("ntt密碼輸入錯誤,請重新輸入!n");Sleep(1000);goto re_input_2;else printf("nttt登錄成功!n");elseprintf("nnttt賬號不存在!n");printf(&

25、quot;ntt是否繼續(y/n)? ");if(getch()!='y')return(NULL);Sleep(100);goto re_input;Sleep(1000);return(p);/菜單的設置/void menu0() cout<<"*"<<endl; cout<<"* 1 管理員登陸 *"<<endl; cout<<"* 2 商家登陸 *"<<endl; cout<<"* 3 商家注冊 *"

26、;<<endl; cout<<"* 4 退出程序 *"<<endl; cout<<"*"<<endl; cout<<" 請輸入選擇"<<endl;void menu1()cout<<"*"<<endl;cout<<" 1 信息錄入"<<endl;cout<<" 2 信息查詢"<<endl;cout<<"

27、; 3 信息修改和刪除"<<endl;cout<<" 4 用戶信息反饋"<<endl;cout<<" 5 返回上一級目錄"<<endl;cout<<" 其他 退出程序"<<endl;cout<<"*"<<endl;cout<<" 請輸入選擇"<<endl;/管理員登陸后的頁面。/void menu1_1()cout<<"*"

28、<<endl;cout<<"1 商家,區塊,協議信息錄入"<<endl;cout<<"2 返回上一級目錄"<<endl;cout<<"*"<<endl;cout<<" 請輸入選擇"<<endl;void menu1_2()cout<<"*"<<endl;cout<<"1 商家信息查詢"<<endl;cout<<

29、"2 區塊信息查詢"<<endl;cout<<"3 協議信息查詢"<<endl;cout<<"其他 返回上一目錄"<<endl;cout<<"*"<<endl; cout<<" 請輸入選擇"<<endl;void menu1_3()cout<<"*"<<endl;cout<<"1 刪除奢侈品區信息"<<

30、endl;cout<<"2 刪除生活區信息"<<endl;cout<<"3 刪除食品區信息"<<endl;cout<<"其他 返回上一目錄"<<endl;cout<<"*"<<endl; cout<<" 請輸入選擇"<<endl;void menu2()cout<<"*"<<endl;cout<<" 1 信息查詢

31、"<<endl;cout<<" 2 商場服務評價"<<endl;cout<<"*"<<endl; cout<<" 請輸入選擇"<<endl;void menu2_1()cout<<"*"<<endl;cout<<"1 查詢未出租的食品區信息"<<endl; cout<<"2 查詢未出租的奢侈品區信息"<<endl

32、;cout<<"3 查詢未出租的生活區信息"<<endl; cout<<"其他 返回"<<endl; cout<<"*"<<endl;cout<<" 請輸入選擇"<<endl;/用戶的信息查詢/商場服務評價/商家注冊界面/int mainmenu()struct agreementnode *heada;struct MBlock *headM;struct LBlock *headL;struct FBlock *he

33、adF;struct person1 *headp;struct company1 *headc;heada=readagreement();headM=readM();headF=readF();headL=readL();headp=readp();headc=readc();/讀檔int choice,count;manager man;char a7;FILE *fp;if(fp=fopen("manager.txt","rb")!=NULL)if(!feof(fp) fread(&man,sizeof(struct manager),1

34、,fp);else cout<<"丟失文件數據!"<<endl;/讀出文件里面存入的數據loop: menu0(); cin>>choice;/choice為1時 if(choice=1) int temp=0;/記錄輸入密碼的次數,如果超過三次則自動關閉系統。 loopm1: cout<<"請輸入六位的密碼"<<endl; for(count=0;count<6;count+) acount=getch();/輸入密碼 cout<<"*" a6='

35、0' cout<<endl; if(!strcmp(man.code,a) /如果密碼正確,就進入管理員權限可以看到的界面 。 loopm2: menu1(); int temp; cin>>temp; switch(temp) case 1: cout<<"*"<<endl; cout<<"1 錄入企業信息"<<endl; cout<<"2 錄入個人信息"<<endl; cout<<"3 錄入協議信息&quo

36、t;<<endl; cout<<"4 錄入食品區塊信息"<<endl; cout<<"5 錄入奢侈品信息"<<endl; cout<<"6 錄入大型市場區塊信息"<<endl; cout<<"其他 返回"<<endl; cout<<"*"<<endl; cout<<" 請輸入選擇"<<endl; Sleep(3000);

37、switch(getch() case '1':recordmessagec();break; case '2':recordmessagep();break; case '3': agree.agreement_in();agree.date_in();savea(agree);break; case '4':recordmessageF();break; case '5':recordmessageL();break; case '6':recordmessageM();break; defau

38、lt:goto loopm2; /信息錄入 case 2: menu1_2(); loopm3: cout<<"*"<<endl; cout<<"1 商家"<<endl; cout<<"2 區塊"<<endl; cout<<"3 協議信息"<<endl; cout<<"其他 返回"<<endl; cout<<"*"<<endl; co

39、ut<<" 請輸入選擇"<<endl; switch(getch() case '1': cout<<"*"<<endl; cout<<"1 查詢個體戶信息"<<endl; cout<<"2 企業信息"<<endl; cout<<"其他 返回"<<endl; cout<<"*"<<endl; Sleep(1000);

40、switch(getch() case '1':findp();break;case '2':findc();break;default:goto loopm2; /商家信息查詢 case '2': cout<<"*"<<endl; cout<<"1 查詢未出租的食品區信息"<<endl; cout<<"2 查詢未出租的奢侈品區信息"<<endl; cout<<"3 查詢未出租的生活區信息&qu

41、ot;<<endl; cout<<"其他 返回"<<endl; cout<<"*"<<endl; cout<<" 請輸入選擇"<<endl; switch(getch() case '1':findF();break; case '2':findL();break; case '3':findM();break; default:goto loopm3; /區塊信息查詢 case '3':

42、 showa(agree); /協議信息查詢 default:goto loopm2; /信息查詢 case 3: menu1_3(); switch(getch() case '1': deleteL();break; case '2': deleteM();break; case '3': deleteF();break; default:goto loopm3; break; /信息修改和刪除 case 4: char temp1000; FILE *fu; fu=fopen("usercomment.txt",&quo

43、t;r");fread(temp,sizeof(temp),1,fu); fprintf(stdout,temp); Sleep(2000);system("cls");goto loopm2; case 5:goto loop; default:return 0; /匹配上面密碼正確的if else temp+; cout<<"密碼錯誤,請重新輸入"<<endl; if(temp=3) cout<<"您已經輸錯三次密碼"<<endl; return 0; goto loopm

44、1;/密碼錯誤返回重新輸入密碼 /choice為2時 else if(choice=2) /用戶進入顯示界面 login(readacc(); menu2();/用戶進入信息查詢和評價的界面Sleep(2000); switch(getch() case '1': menu2_1(); switch(getch() case '1':searchnoF();break; case '2':searchnoL();break; case '3':searchnoM();break; default:goto loopm3; brea

45、k; /空余區塊查詢 case '2': cout<<"請輸入您的意見,不超過1000字!"<<endl; char temp1000; cin>>temp; FILE *fu; fu=fopen("usercomment.txt","w"); fwrite(temp,sizeof(temp),1,fu); goto loopm3; default:goto loop; /返回 /從鍵盤讀入選擇,進入不同界面 /choice為3時 else if(choice=3) /商家注冊 int choice3; cout<<"*"<<endl; cout<<" 1 注冊賬號"<<endl; cout<<" 2 返回"<

溫馨提示

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

評論

0/150

提交評論