商场招商软件实习报告_第1页
商场招商软件实习报告_第2页
商场招商软件实习报告_第3页
商场招商软件实习报告_第4页
商场招商软件实习报告_第5页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件开发实习报告 信 息 科 学 与 技 术 学 院本 科 一 年 级软件开发实习报告专 业: 物联网工程 班 级: 一班 开发小组成员姓名: 颜俊超、胡婕、赵青荷 开发小组成员学号: 20122734、20122736、20122731 实习单位:软件工程实验中心2013 年 7 月 27 127目 录目 录2诚信承诺书3一、软件开发设计题目4二、软件开发设实习项目分工4三、系统需求分析5四、总体设计61.系统功能分析:62.类的描述74.系统功能模块的划分与设计,各功能函数的说明25五、详细设计与实现56六、运行结果58七、程序清单631、头文件的实现632、源文件的实现101八、主要知识

2、点121九、软件开发实习收获、体会及建议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();

8、/修改状态void find(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();/清洁力度修改M

9、arketBlock大型市场区类char Mmanagement20; / 该大型市场中附近其他区主营的详细主营MarketBlock();void show();void changeMmanagement();/修改保安个数商家类: Seller(基类) char snumberN;/商家编号char nameN;/商家负责人姓名char phoneN;/联系电话char managementN;/经营内容 char emailN;/电子邮箱Seller()/构造函数Void changename()/修改商家姓名Void changephone()/修改商家电话Void changema

10、nage()/修改商家经营内容Void changemail()/修改商家邮箱Person数据成员:float loan ;/个体户在银行贷款额float profit;/个体户一年的大致盈利额函数成员:person();/构造函数以实现对个体户特有的属性的录入void judge();/商场对个体户的判断void changeloan();/修改个体户的银行贷款额void changeprofit();/修改个体户的年盈利额void scanp();/浏览个体户的所有信息Company数据成员:char siteN;/网址char otherN;/该企业在商场经营的其他商品char cred

11、itN;/企业信用等级函数成员:company();/构造函数以录入企业特有的信息void changesite();/修改企业的网址void changeother();/修改企业在商场经营的其他商品void changecredit();/修改企业的信用等级void scanc();/浏览企业的全部信息时间类: 时间类数据成员:年(year),月(month),日(day)函数成员:Date_in(读入现在的日期),showtime(显示日期)协议类: 时间类协议类派生数据成员:商家编号(Snumber)、区块编号(Bnumber)租期(年)(renttime)租金(元/年)(rentmo

12、ney)付款方式(pway)收费方式(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;/账户c

13、har code7;/密码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");/如果文件无法打开,就以写读的方式打开,文件不存在就新建文件,文件存在则截取

14、长度为0.return (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 *)mall

15、oc(sizeof(struct 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<

16、7;i+) ai=getch();/用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='

17、0'ai-1='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、quot;请输入您的姓名:"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->

19、next;elseflag=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-&g

20、t;accnumber)!=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)/判断

21、两次输入密码是否相同cout<<"两次输入密码不一致,请重新输入!"<<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); fc

22、lose(fp); cout<<"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=he

23、ad;printf("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请输入密码: "

24、);char mm7;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"

25、;);printf("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&l

27、t;<" 3 信息修改和删除"<<endl;cout<<" 4 用户信息反馈"<<endl;cout<<" 5 返回上一级目录"<<endl;cout<<" 其他 退出程序"<<endl;cout<<"*"<<endl;cout<<" 请输入选择"<<endl;/管理员登陆后的页面。/void menu1_1()cout<<&q

28、uot;*"<<endl;cout<<"1 商家,区块,协议信息录入"<<endl;cout<<"2 返回上一级目录"<<endl;cout<<"*"<<endl;cout<<" 请输入选择"<<endl;void menu1_2()cout<<"*"<<endl;cout<<"1 商家信息查询"<<endl;c

29、out<<"2 区块信息查询"<<endl;cout<<"3 协议信息查询"<<endl;cout<<"其他 返回上一目录"<<endl;cout<<"*"<<endl; cout<<" 请输入选择"<<endl;void menu1_3()cout<<"*"<<endl;cout<<"1 删除奢侈品区信息&qu

30、ot;<<endl;cout<<"2 删除生活区信息"<<endl;cout<<"3 删除食品区信息"<<endl;cout<<"其他 返回上一目录"<<endl;cout<<"*"<<endl; cout<<" 请输入选择"<<endl;void menu2()cout<<"*"<<endl;cout<<&q

31、uot; 1 信息查询"<<endl;cout<<" 2 商场服务评价"<<endl;cout<<"*"<<endl; cout<<" 请输入选择"<<endl;void menu2_1()cout<<"*"<<endl;cout<<"1 查询未出租的食品区信息"<<endl; cout<<"2 查询未出租的奢侈品区信息"&

32、lt;<endl;cout<<"3 查询未出租的生活区信息"<<endl; cout<<"其他 返回"<<endl; cout<<"*"<<endl;cout<<" 请输入选择"<<endl;/用户的信息查询/商场服务评价/商家注册界面/int mainmenu()struct agreementnode *heada;struct MBlock *headM;struct LBlock *headL;struct

33、 FBlock *headF;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

34、 manager),1,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<<"*&quo

35、t; a6='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

36、 录入协议信息"<<endl; cout<<"4 录入食品区块信息"<<endl; cout<<"5 录入奢侈品信息"<<endl; cout<<"6 录入大型市场区块信息"<<endl; cout<<"其他 返回"<<endl; cout<<"*"<<endl; cout<<" 请输入选择"<<endl; Sl

37、eep(3000); 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();b

38、reak; default:goto loopm2; /信息录入 case 2: menu1_2(); loopm3: cout<<"*"<<endl; cout<<"1 商家"<<endl; cout<<"2 区块"<<endl; cout<<"3 协议信息"<<endl; cout<<"其他 返回"<<endl; cout<<"*"<&

39、lt;endl; cout<<" 请输入选择"<<endl; switch(getch() case '1': cout<<"*"<<endl; cout<<"1 查询个体户信息"<<endl; cout<<"2 企业信息"<<endl; cout<<"其他 返回"<<endl; cout<<"*"<<endl; Sl

40、eep(1000); 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 查询未

41、出租的生活区信息"<<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 &

42、#39;3': 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

43、","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;

44、 goto loopm1;/密码错误返回重新输入密码 /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 l

45、oopm3; break; /空余区块查询 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

提交评论