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

下载本文档

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

文档简介

1、202/202信 息 科 学 与 技 术 学 院本 科 一 年 级软件开发实习报告专 业: 物联网工程 班 级: 一班 开发小组成员姓名: 颜俊超、胡婕、赵青荷 开发小组成员学号: 20122734、20122736、20122731 实习单位:软件工程实验中心2013 年 7 月 27 目 录 TOC o 1-2 h z u HYPERLINK l _Toc362591326 目 录 PAGEREF _Toc362591326 h 2 HYPERLINK l _Toc362591327 诚信承诺书 PAGEREF _Toc362591327 h 3 HYPERLINK l _Toc36259

2、1328 一、软件开发设计题目 PAGEREF _Toc362591328 h 4 HYPERLINK l _Toc362591329 二、软件开发设实习项目分工 PAGEREF _Toc362591329 h 4 HYPERLINK l _Toc362591330 三、系统需求分析 PAGEREF _Toc362591330 h 5 HYPERLINK l _Toc362591331 四、总体设计 PAGEREF _Toc362591331 h 6 HYPERLINK l _Toc362591332 1.系统功能分析: PAGEREF _Toc362591332 h 6 HYPERLINK

3、l _Toc362591333 2.类的描述 PAGEREF _Toc362591333 h 7 HYPERLINK l _Toc362591334 4.系统功能模块的划分与设计,各功能函数的讲明 PAGEREF _Toc362591334 h 25 HYPERLINK l _Toc362591335 五、详细设计与实现 PAGEREF _Toc362591335 h 56 HYPERLINK l _Toc362591336 六、运行结果 PAGEREF _Toc362591336 h 58 HYPERLINK l _Toc362591337 七、程序清单 PAGEREF _Toc362591

4、337 h 63 HYPERLINK l _Toc362591338 1、头文件的实现 PAGEREF _Toc362591338 h 63 HYPERLINK l _Toc362591339 2、源文件的实现 PAGEREF _Toc362591339 h 101 HYPERLINK l _Toc362591340 八、要紧知识点 PAGEREF _Toc362591340 h 121 HYPERLINK l _Toc362591341 九、软件开发实习收获、体会及建议 PAGEREF _Toc362591341 h 126诚信承诺书本小组成员_ 颜俊超 、胡婕、_赵青荷_保证本次软件开发实

5、习报告为自己独立总结、写作完成,报告内容和源程序可不能有三分之一以上的内容与其他同学雷同,假如出现以上情况,本次软件开发实习成绩自愿记为零分。承诺人签名: _颜俊超_、胡婕、_赵青荷_日期:_2013_年_7_月_24_日一、软件开发设计题目商场招商治理系统二、软件开发设实习项目分工姓名(负责内容)知识点和小内容胡婕(区块类)赵青荷(商家类)颜俊超20122734(协议类和菜单)链表的建立、读取、删除文件的读取(三个文件)(两个文件)(三个文件)类的定义、继承和派生一个基类、三个派生类一个基类、两个派生类一个基类、一个派生类系统调试文档整理(33%)(39%)(28%)所编程序行数757453

6、889工作量百分比333%333%33.3%三、系统需求分析为了适应现在大型商场招商时所面临的巨大的工作量以及相关部门运转的混乱,本套商场招商治理系统应运而生。系统明确将商场招商分成三块模块,能有效缓解商场在招商时因为各种情况而产生的各种不明情况,减少不必要的经济损失以及人力资源的白费,使得商场在招商时能够运转得更加顺利。在招商时,大型的商场与一般专业的市场中心既存在某些相似之处,也有专门大的区不。一般而言,特定的专业市场要紧面向的商户群体为某一比较专业的客户群,而大型的商场则不同,现代的商业中心大多差不多上一个集大型的卖场,大型各类专业柜组,现代化的市场治理为一体的多功能,现代化的购物休闲中

7、心。现代化的商场的经营理念都融合了比较先进的市场化思想,把顾客和厂商作为其最重要的资产,一切为顾客着想,为顾客做好一切,真诚与厂商合作。在运行上,实行大规模的经营,低成本运行,高速度运转,科学化治理,不断超越自我,向更优更好迈进。大型商场招商的需求有三点:a:为了积聚人气同时为了提升商场中心的形象,如何吸引一流品牌和商家入驻,以满足消费者的各种购物需求。b:为了提高经济效益,如何最优并动态的进行市场中心各功能区域的设定及调整。c:为了留住厂商和消费者,与此同时又能接着吸引一批优秀的厂商,提供一流的服务和规范化的操作标准也是特不有必要的。为了适应以上的需求,招商系统也需满足三个需求:a:通过市场

8、分析,项目定位,招商策略,建立一套行之有效的招商治理系统,以关心市场中心吸引一流商业品牌的入驻。b:通过各种统计,分析,辅助决策等手段,关心市场中心决策者在不断变化的市场情况下,不断动态变化和调整,以适应日新月异的市场需求。c:带有监督,治理,评估,反馈的机制为线索的诚信系统建立,以规范市场中心商户的经营,为消费者提供一个称心中意的消费场所。因此在我们三个人在做这套商场招商治理系统时,将厂商的个人信息,商场区域的分配以及调整,与商家的协议各成一个类,各自治理,如此能够使得在招商治理时有条不紊,也就能功半事倍。四、总体设计1.系统功能分析:功能概括依照用户身份不同进入不同操作界面。能实现用户依照

9、账号和密码登录系统,且能够实现用户注册。治理员能够对已签协议,区块,商家信息进行录入,保存,查询,修改和删除,商家能够查询未出租区块信息和已签协议。详细讲明信息录入: 对区块的信息录入 对商家的信息录入 对协议的信息录入 信息查询:治理员: 依照区块编号查询区块信息 依照商家姓名查询商家信息 依照区块编号或商家信息查询对应协议 商家: 查询各种区块类型剩余所有未出租的区块信息 查询自己已签订的协议信息删除: 依照区块编号删除文件中区块信息 依照商家姓名删除文件中商家信息 依照区块编号或商家姓名删除协议内容信息修改: 修改食品区块的清洁力度 修改奢侈品区块的保安个数 修改大型市场中区块附近其他区

10、块的主营项目 修改各类区块的出租状态和价格 修改商家姓名 修改商家编号修改商家联系人电话,Email,网址信息保存: 依照用户选择确定是否保存数据到文件 2.类的描述:区块类: Block(区块类)double area; /面积double price; /价格char address20;/地址char Bnumber20;/编号char state20; /区块状态Block(); void changeprice(); /修改价格void changestate(); /修改状态void find(Block &p); /查询区块信息void searchno(Block &p); /

11、查找未出租的区块信息void virtual show();/显示区块所有信息 LuxuryBlock奢侈品区类int guard; /保安个数LuxuryBlock();void show();void changeguard(); /修改保安个数public public publicFoodBlock食品区类char clean20; /清洁力度FoodBlock();void show();/信息显示void changeclean();/清洁力度修改MarketBlock大型市场区类char Mmanagement20; / 该大型市场中附近其他区主营的详细主营MarketBlock

12、();void show();void changeMmanagement();/修改保安个数商家类: Seller(基类) char snumberN;/商家编号char nameN;/商家负责人姓名char phoneN;/联系电话char managementN;/经营内容 char emailN;/电子邮箱Seller()/构造函数Void changename()/修改商家姓名Void changephone()/修改商家电话Void changemanage()/修改商家经营内容Void changemail()/修改商家邮箱Person数据成员:float loan ;/个体户在

13、银行贷款额float profit;/个体户一年的大致盈利额函数成员:person();/构造函数以实现对个体户特有的属性的录入void judge();/商场对个体户的推断void changeloan();/修改个体户的银行贷款额void changeprofit();/修改个体户的年盈利额void scanp();/扫瞄个体户的所有信息Company数据成员:char siteN;/网址char otherN;/该企业在商场经营的其他商品char creditN;/企业信用等级函数成员:company();/构造函数以录入企业特有的信息void changesite();/修改企业的网址

14、void changeother();/修改企业在商场经营的其他商品void changecredit();/修改企业的信用等级void scanc();/扫瞄企业的全部信息时刻类: 时刻类时刻类数据成员:年(year),月(month),日(day)函数成员:Date_in(读入现在的日期),showtime(显示日期)协议类: 时刻类协议类派生时刻类协议类派生数据成员:商家编号(Snumber)、区块编号(Bnumber)租期(年)(renttime)租金(元/年)(rentmoney)付款方式(pway)收费方式(gway)日期(年月日)(year,month,day)函数成员:agre

15、ement_in(初始化协议数据)、showagreement(显示协议内容)、operator=(agreement a)(重载运算符)、date_in(读入日期的函数)settime(修改日期)showtime(显示日期)struct manager char name10; char code7;/建立一个治理员结构体/struct accountchar name10;/用户名char idcard10;/身份证号char accnumber12;/账户char code7;/密码struct account *next;/结构体自应用指针;/建立一个用户的结构体struct acco

16、unt *readacc()FILE *fp;struct account *head;struct account *last,*p;if(fp=fopen(account_list,rb)=NULL)/推断文件是否存在,假如不存在就结束读取fp=fopen(account_list,wb);/假如文件无法打开,就以写读的方式打开,文件不存在就新建文件,文件存在则截取长度为0.return (NULL);last=(struct account *)malloc(sizeof(struct account);/动态分配一个struct account的指针空间last. if(!feof(f

17、p)/推断是否读到文件末尾了 head=last;/设定好头的位置。fread(head,sizeof(struct account),1,fp);/从文件里面读取struct account长度的字节到head中。 else return (NULL); while(!feof(fp)/当文件没有结束接着读取数据入链表 p=(struct account *)malloc(sizeof(struct account);/动态分配一个struct account的指针空间p. fread(p,sizeof(struct account),1,fp);/从文件里面读取struct account

18、长度的字节到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=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

19、-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;cout*【开户】*endl;loopacc1:coutkaihu.idcard;/读入身份证号码

20、flag=0; while(flag!=1&p!=NULL)/当标志flag不为1时同时p不是空的进行以下步骤if(strcmp(kaihu.idcard,p-idcard)!=0)/推断输入的身份证和差不多注册了得用户的身份证是否有相同的p=p-next;elseflag=1;/假如有相同的,就把标志flag设为1if(flag=1)cout对不起,您输入的身份证号已注册endl;/等所有的文件里面的账户都判定完之后,假如flag为1就提示上述内容goto loopacc1;loopacc2: p=head;flag=0;cout请输入账号kaihu.accnumber; while(fla

21、g!=1&p!=NULL)if(strcmp(kaihu.accnumber,p-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)/推断两次输入密码是否相同cout两次输入密码不一致,请重新输入!

22、endl;Sleep(500);system(cls);/清屏while(strcmp(mm,kaihu.code)!=0);/以上是设置密码 if(fp=fopen(account_list,ab)=NULL)/打开文件coutcannot open filen;if(p1!=NULL)fwrite(p1,sizeof(struct account),1,fp); fclose(fp); coutaccnumber)!=0)p=p-next;else flag=1;if(flag=1)int i=0;re_input_2:system(cls);printf(nntttt【登录】nnn);p

23、rintf(ntt请输入账号: %s,zh);printf(ntt请输入密码: );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);printf(ntt是否接着(y/n)?

24、 );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 商家注册 *endl; cout* 4 退出程序 *endl; cout*endl; cout 请输入选择endl;void menu1()cout*endl;cout 1 信息录入endl;cout 2 信息查询endl;cout 3 信息修改和删除endl;cout 4 用户信息反

25、馈endl;cout 5 返回上一级目录endl;cout 其他 退出程序endl;cout*endl;cout 请输入选择endl;/治理员登陆后的页面。/void menu1_1()cout*endl;cout1 商家,区块,协议信息录入endl;cout2 返回上一级目录endl;cout*endl;cout 请输入选择endl;void menu1_2()cout*endl;cout1 商家信息查询endl;cout2 区块信息查询endl;cout3 协议信息查询endl;cout其他 返回上一目录endl;cout*endl; cout 请输入选择endl;void menu1_3

26、()cout*endl;cout1 删除奢侈品区信息endl;cout2 删除生活区信息endl;cout3 删除食品区信息endl;cout其他 返回上一目录endl;cout*endl; cout 请输入选择endl;void menu2()cout*endl;cout 1 信息查询endl;cout 2 商场服务评价endl;cout*endl; cout 请输入选择endl;void menu2_1()cout*endl;cout1 查询未出租的食品区信息endl; cout2 查询未出租的奢侈品区信息endl;cout3 查询未出租的生活区信息endl; cout其他 返回endl;

27、 cout*endl;cout 请输入选择endl;/用户的信息查询/商场服务评价/商家注册界面/int mainmenu()struct agreementnode *heada;struct MBlock *headM;struct LBlock *headL;struct FBlock *headF;struct person1 *headp;struct company1 *headc;heada=readagreement();headM=readM();headF=readF();headL=readL();headp=readp();headc=readc();/读档int ch

28、oice,count;manager man;char a7;FILE *fp;if(fp=fopen(manager.txt,rb)!=NULL)if(!feof(fp) fread(&man,sizeof(struct manager),1,fp);else cout丢失文件数据!choice;/choice为1时 if(choice=1) int temp=0;/记录输入密码的次数,假如超过三次则自动关闭系统。 loopm1: cout请输入六位的密码endl; for(count=0;count6;count+) acount=getch();/输入密码 cout*; a6=0; co

29、uttemp; switch(temp) case 1: cout*endl; cout1 录入企业信息endl; cout2 录入个人信息endl; cout3 录入协议信息endl; cout4 录入食品区块信息endl; cout5 录入奢侈品信息endl; cout6 录入大型市场区块信息endl; cout其他 返回endl; cout*endl; cout 请输入选择endl; Sleep(3000); switch(getch() case 1:recordmessagec();break; case 2:recordmessagep();break; case 3: agree

30、.agreement_in();agree.date_in();savea(agree);break; case 4:recordmessageF();break; case 5:recordmessageL();break; case 6:recordmessageM();break; default:goto loopm2; /信息录入 case 2: menu1_2(); loopm3: cout*endl; cout1 商家endl; cout2 区块endl; cout3 协议信息endl; cout其他 返回endl; cout*endl; cout 请输入选择endl; swit

31、ch(getch() case 1: cout*endl; cout1 查询个体户信息endl; cout2 企业信息endl; cout其他 返回endl; cout*endl; Sleep(1000); switch(getch() case 1:findp();break;case 2:findc();break;default:goto loopm2; /商家信息查询 case 2: cout*endl; cout1 查询未出租的食品区信息endl; cout2 查询未出租的奢侈品区信息endl; cout3 查询未出租的生活区信息endl; cout其他 返回endl; cout*e

32、ndl; cout 请输入选择endl; switch(getch() case 1:findF();break; case 2:findL();break; case 3:findM();break; default:goto loopm3; /区块信息查询 case 3: showa(agree); /协议信息查询 default:goto loopm2; /信息查询 case 3: menu1_3(); switch(getch() case 1: deleteL();break; case 2: deleteM();break; case 3: deleteF();break; def

33、ault:goto loopm3; break; /信息修改和删除 case 4: char temp1000; FILE *fu; fu=fopen(usercomment.txt,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; ret

34、urn 0; 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 loopm3; break; /空余区块查询 case 2: cout

35、请输入您的意见,不超过1000字!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 返回endl; cout*choice3; switch(choice3) case 1: creataccount();goto loop;

36、 case 2: goto loop; else if(choice=4) /退出首菜单 return 0; else cout操作错误,请按照提示操作!next=p1;p2-next=NULL;fclose(fp);return(head);/从文件中将信息读到链表里,以方便后面的查询和修改以及删除int findp() char name1N; cout请输入要查找个体户的姓名name1; if(readp()=NULL) cout读取文件失败!endl; else person1 *p=readp(); while(1) if(p=NULL) cout已读到文件末尾) cout要查找的个

37、体户信息如下endl;cout个体户的编号:a.snumberendl;cout个体户的姓名:endl;cout个体户的联系电话:a.phoneendl;cout个体户的经验内容:a.managementendl;cout个体户的电子邮箱:a.emailendl;cout个体户的银行贷款额:a.loanendl;cout个体户一年大致盈利额:fitnext; /让用户输入姓名查找信息return 0;void recordmessagep() /输入信息 person1 C; C.a.person_in(); FILE *fp; fp=fopen(个体户商家信息.txt,rb+); cout是

38、否保存?a;if(!strcmp(yes,a) fseek(fp,0L,SEEK_END); fwrite(&C.a,LEN4,1,fp); cout数据保存成功!endl;else cout数据已放弃!next=p1;p2-next=NULL;fclose(fc);return(head);int findc() char name1N; cout请输入要查找企业负责人的姓名name1; if(readc()=NULL) cout读取文件失败!endl; else company1 *p=readc(); while(1) if(p=NULL) cout已读到文件末尾) cout要查找的企业

39、的信息如下endl; cout企业的编号:b.snumberendl; cout企业的姓名:endl; cout企业的联系电话:b.phoneendl; cout企业的经验内容:b.managementendl; cout企业的电子邮箱:b.emailendl; cout企业的网址:b.siteendl; cout企业在商场另外经营的内容:b.otherendl; cout企业的信用:b.creditnext; return 0;void recordmessagec() /输入信息company1 C;C.pany_in(); FILE *fc; fc=fopen(企业商家信息.txt,rb

40、+); cout是否保存?a;if(!strcmp(yes,a)fseek(fc,0L,SEEK_END);fwrite(&C.b,LEN5,1,fc); cout数据保存成功!endl;else cout数据已放弃!endl; fclose(fc);区块类(基类)void changeprice(); /修改价格void changestate(); /修改状态void find(Block &p); /查询区块信息voidsearchno(Block &p); /查找未出租的区块信息void virtual show();/显示区块所有信息 第一个派生类(public)void FoodB

41、lock_in();/输入信息void show();/显示所有信息void changeclean();/修改清洁力度int findF();/在链表里查找信息void recordmessageF();/往文件里存入信息 第二个派生类(public)void MarketBlock_in();/输入信息void show();/显示所有信息Void changeMmanagement();int findM();/在链表里查找信息void recordmessageM();/往文件里存入信息第三个派生类(public)void LuxuryBlock_in();/输入信息void show

42、();/显示所有信息void changeguard(); /修改保安个数int findM();/在链表里查找信息void recordmessageM();/往文件里存入信息int searchnoL();/查找未出租的区块Block: void changeprice(); /修改价格 void changestate(); /修改状态 void find(Block &p); /查询区块信息 void searchno(Block &p); /查找未出租的区块信息 void virtual show();/显示区块所有信息void Block:changeprice() cout请输入

43、修改后的价格:price; void Block:changestate() cout请输入修改后的区块是否出租(yes or no):state;void Block:show() cout区块编号为:Bnumberendl; cout区块位置:addressendl; cout区块面积:areaendl; cout区块价格:priceendl; cout区块状是否出租:stateendl;void Block:searchno(Block &p) /查找未出租的区块的信息if(!strcmp(no,p.state)cout以下是未出租的区块的信息:endl; p.show(); /加上链表

44、后,不断往后循环,输出所有未出租的区块的信息FoodBlock:void FoodBlock_in(); void show(); void changeclean();/修改清洁力度void FoodBlock:show() cout该生活区区块的信息如下:endl; Block:show(); cout区块清洁力度:cleanendl;void FoodBlock:FoodBlock_in() cout请输入区块编号:Bnumber;cout请输入区块地址:address;cout请输入区块面积(单位:平方米):area; cout请输入区块每平方米价格:price; cout请输入区块是

45、否已出租(请输入yes或no):state; cout请输入清洁力度:clean;void FoodBlock:changeclean() cout请输入修改后的清洁力度:clean;struct FBlock /大市场区块FoodBlock c; FBlock * next;struct MBlock /大市场区块MarketBlock c; MBlock * next;struct LBlock /奢侈品区块 LuxuryBlock c; LBlock * next;/*结构体*struct FBlock *readF()FILE *fp;struct FBlock *head;struc

46、t FBlock *p1,*p2;if(fp=fopen(食品区块信息.dat,r)=NULL)fp=fopen(食品区块信息.dat,w);return(NULL); p1=p2=(struct FBlock *)malloc(LEN1);if(!feof(fp)head=p1;fread(head,sizeof(struct FBlock),1,fp);elsereturn(NULL);while(!feof(fp)p2=p1;p1=(struct FBlock *)malloc(LEN1);fread(p1,sizeof(struct FBlock),1,fp);p2-next=p1;p

47、2-next=NULL;fclose(fp);return(head);/数据读入链表中结构体LuxuryBlock: void LuxuryBlock_in(); void show(); void changeguard(); /修改保安个数 void LuxuryBlock:LuxuryBlock_in() cout请输入区块编号:Bnumber;cout请输入区块地址:address;cout请输入区块面积(单位:平方米):area; cout请输入区块每平方米价格:price; cout请输入区块是否已出租(请输入yes或no):state; cout请输入保安个数:guard;vo

48、id LuxuryBlock:show() cout该奢侈品区区块的信息如下:endl; Block:show(); cout区块保安个数:guardendl;void LuxuryBlock:changeguard()cout请输入修改后保安个数:guard;struct LBlock /奢侈品区块 LuxuryBlock c; LBlock * next;struct LBlock *readL()FILE *fp;struct LBlock *head;struct LBlock *p1,*p2;if(fp=fopen(奢侈品区块信息.dat,rb)=NULL)fp=fopen(奢侈品区

49、块信息.dat,wb);return(NULL); p1=p2=(struct LBlock *)malloc(LEN2);if(!feof(fp)head=p1;fread(head,sizeof(struct LBlock),1,fp);elsereturn(NULL);while(!feof(fp)p2=p1;p1=(struct LBlock *)malloc(LEN2);fread(p1,sizeof(struct LBlock),1,fp);p2-next=p1;p2-next=NULL;fclose(fp);return(head);struct MBlock *readM()F

50、ILE *fp;struct MBlock *head;struct MBlock *p1,*p2;if(fp=fopen(大型市场区块信息.dat,r)=NULL)fp=fopen(大型市场区块信息.dat,w);return(NULL); p1=p2=(struct MBlock *)malloc(LEN3);if(!feof(fp)head=p1;fread(head,sizeof(struct MBlock),1,fp);elsereturn(NULL);while(!feof(fp)p2=p1;p1=(struct MBlock *)malloc(LEN3);fread(p1,siz

51、eof(struct MBlock),1,fp);p2-next=p1;p2-next=NULL;fclose(fp);return(head);int findL() char bnumber20; cout请输入要查找奢侈品区的编号bnumber; if(readL()=NULL) cout读取文件失败!endl; else LBlock *p; p=readL(); while(1) if(p=NULL) cout已读到文件末尾c.Bnumber)=0) cout要查找的区块信息如下:endl; cout区块编号为:c.Bnumberendl; cout区块位置:c.addressend

52、l; cout区块面积:c.areaendl; cout区块价格:c.priceendl; cout区块状是否出租:c.stateendl; cout区块保安个数:c.guardnext; return 0;MarketBlock: void MarketBlock_in(); void show(); void changeMmanagement();void MarketBlock:MarketBlock_in() cout请输入区块编号:Bnumber;cout请输入区块地址:address;cout请输入区块面积(单位:平方米):area; cout请输入区块每平方米价格:price;

53、 cout请输入区块是否已出租(请输入yes或no):state; cout请输入附近其他区块的详细主营 Mmanagement;void MarketBlock:show()cout该大型商场中区块的信息如下:endl; Block:show(); cout附近其他区块的详细主营Mmanagementnext=p1;p2-next=NULL;fclose(fp);return(head);int findM() char bnumber20; cout请输入要查找大型市场区块的编号bnumber; if(readM()=NULL) cout读取文件失败!endl; else MBlock *

54、p; p=readM(); while(1) if(p=NULL) cout已读到文件末尾c.Bnumber)=0) cout要查找的区块信息如下:endl; cout区块编号为:c.Bnumberendl; cout区块位置:c.addressendl; cout区块面积:c.areaendl; cout区块价格:c.priceendl; cout区块状是否出租:c.stateendl; cout附近其他区块的详细主营c.Mmanagementnext; return 0;int deleteL() char bnumber20; cout请输入要删除的奢侈品区的编号bnumber; if(

55、readL()=NULL) cout读取文件失败!或文件为空c.Bnumber) pr-next=p-next; cout链表中数据删除endl; break; if(p=NULL) cout已读到文件末尾next; /接下来将数据写入文件,覆盖原有数据。 p=p0; if(p=NULL) cout链表返回头指针失败endl; FILE *fp; fp=fopen(奢侈品区块信息.dat,wb); while(1) if(p=NULL) cout全部写入文件,文件中数据已删除next; fclose(fp);return 0; int deleteM() char bnumber20; cou

56、t请输入要删除的大型市场区块的编号bnumber; if(readM()=NULL) cout读取文件失败!或文件为空c.Bnumber) pr-next=p-next; cout链表中数据删除endl; break; if(p=NULL) cout已读到文件末尾next; /接下来将数据写入文件,覆盖原有数据。 p=p0; if(p=NULL) cout链表返回头指针失败endl; FILE *fp; fp=fopen(大型市场区块信息.dat,wb); while(1) if(p=NULL) cout全部写入文件,文件中数据已删除next; fclose(fp);return 0; int

57、 deleteF() char bnumber20; cout请输入要删除的食品区区块的编号bnumber; if(readF()=NULL) cout读取文件失败!或文件为空c.Bnumber) pr-next=p-next; cout链表中数据删除endl; break; if(p=NULL) cout已读到文件末尾next; /接下来将数据写入文件,覆盖原有数据。 p=p0; if(p=NULL) cout链表返回头指针失败endl; FILE *fp; fp=fopen(食品区块信息.dat,wb); while(1) if(p=NULL) cout全部写入文件,文件中数据已删除nex

58、t; fclose(fp);return 0; /*文件通过链表的读写*void recordmessageL() /输入信息LBlock b;b.c.LuxuryBlock_in();FILE *fp;fp=fopen(奢侈品区块信息.dat,rb+);cout是否保存?a;if(!strcmp(yes,a)fseek(fp,0L,SEEK_END); fwrite(&b.c,sizeof(LBlock),1,fp); cout数据保存成功!endl;else cout数据已放弃!endl; fclose(fp);int searchnoL() /查找未出租的区块的信息 if(readL()

59、=NULL) cout读取文件失败!endl; else LBlock *p=readL(); while(1) if(p=NULL) cout已读到文件末尾c.state) cout未出租的奢侈品区块信息如下endl; cout要查找的区块信息如下:endl; cout区块编号为:c.Bnumberendl; cout区块位置:c.addressendl; cout区块面积:c.areaendl; cout区块价格:c.priceendl; cout区块状是否出租:c.stateendl; cout区块保安个数:c.guardnext; else p=p-next; return 0;voi

60、d recordmessageF() /输入信息FBlock b;b.c.FoodBlock_in();FILE *fp;fp=fopen(食品区块信息.dat,rb+);cout是否保存?a;if(!strcmp(yes,a)fseek(fp,0L,SEEK_END); fwrite(&b.c,sizeof(FBlock),1,fp); cout数据保存成功!endl;else cout数据已放弃!endl; fclose(fp);int searchnoF() /查找未出租的区块的信息 if(readF()=NULL) cout读取文件失败!endl; else FBlock *p=rea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论