C语言-小区物业管理-实验报告(共15页)_第1页
C语言-小区物业管理-实验报告(共15页)_第2页
C语言-小区物业管理-实验报告(共15页)_第3页
C语言-小区物业管理-实验报告(共15页)_第4页
C语言-小区物业管理-实验报告(共15页)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、一. 设计目的1.熟悉结构体类型的定义;2.练习对数据的储存和读写:对文件的操作;3.实现函数的定义及对函数的调用;4.学习链表的建立,使用链表实现对数据的改动;5.掌握调试程序的方法,熟练单步跟踪等。二. 设计内容主要实现以下几个功能:1.管理员及业主账号的创建及核对,管理员密码的修改; 2录入业主信息;3.修改,增加,删除信息;4.信息的查询,打印,统计;5.信息的文件储存;6.文件的读写;7.密码的加密。三概要设计1功能模块图; 主函数管理员业主创建住户信息添加 修改查询打印删除统计修改密码查询22各个模块详细的功能描述。1.创建住户信息:键盘输入住户信息,有姓名,联系方式,房屋号码,房

2、产所有,车位拥有情况,收费项目,家庭人口等。并储存在文件中。2.添加: 选择进行添加,添加住户信息。并储存进指定文件中。添加完毕后返回主界面。3.修改: 选择进行修改,进入后可选择修改的内容(包括联系方式,住户姓名,房间号等)。根据修改的内容查找用户,继续进行修改,输入新的信息,完成后打印新信息,存入指定文件。不再修改时返回主界面。4.删除: 选择要删除的人的信息(姓名或者房号),根据此信息查找该用户并删除相应信息,并存入指定文件中。5.打印: 利用读文件及链表打印存入的信息。6.查询: 打开文件,根据姓名或房间号查询此业主的全部信息。7.统计: 打开文件,每个住户的车位信息与no比较,不是则

3、进行加加操作,统计出已用车位总数。8.修改密码:核对修改的账号,输入新密码,存入文件,并进行加密。9.查询2:打开文件,根据姓名或房间号查询此业主的姓名,联系方式,房间号信息四详细设计1功能函数的调用关系图; 退出退出 界 面 管理员住 户注册登录选项创 建添 加查 询打 印存文件读文件 件注册登录选项查 询2改 密修 改选删 除统 计2各功能函数的数据流程图;主 界 面是否继续管理打 开 文 件 输入添加的住户基本信息YN退出(1)添加:(2)创建住户信息创 建 住 户 信 息创 建 链 表存 入 指 定 文 件输 入 住 户 信 息打 开 指 定 文 件管 理 员 界 面 是否继续输入(3

4、).修改打 开 文 件改姓名改电话改房号输入修改的姓名是否存在是否存在是否存在打印输出修改后该人资料存入文件输入新姓名输入新电话输入新房号输入修改的电话输入修改的姓名退出YYYNNN(4).删除打 开 文 件姓 名电 话输入删除的姓名是否存在是否存在存入文件成功删除输入删除的电话退出YYN退出N (5).打印打 开 文 件查找打印的开始节点打 印(6).查询返回主界面 打 开 文 件按 姓 名按 房 号输 入 姓 名输 入 房 号比较文件中姓名与输入的姓名是否相同输出此住户信息此用户不存在是否继续查询查 询比较文件中姓名与输入的姓名是否相同此用户不存在NY(7).统计打 开 文 件对比所有用户

5、的车位是否为noSum+输出车位数第一个用户信息下个用户且下个节点不为空NY(8)密码修改 打开密码文件输入修改密码的账号是否存在此用户输入新的密码打印修改后的登录信息不存在此用户,跳出NY3重点设计及编码。(1)登陆时密码存入文件及加密 开辟两个文件,一个存密码,另一个存加密文件,当void deng() /登录FILE *fp;FILE *k;char name30,code30; /用户名,选择登录(注册),密码struct mima *r,*s,*h,*s1; /密码链接的创建int i,p,j; /控制密码重输循环次数int m;char a6;fp=fopen(mima.txt,a

6、+);k=fopen(temp.txt,a+);if(fp=NULL) printf(此文件不存在,请检查输入); getch(); exit (1);system(cls); printf(-n);printf(n*请输入账号:n);scanf(%s,name);h=(struct mima*)malloc(sizeof(struct mima);h-next=NULL;r=h;while(!feof(fp)s=(struct mima*)malloc(sizeof(struct mima);fscanf(fp,%st%sn,s-z,s-m);if(strcmp(name,s-z)=0)br

7、eak;r-next=s;r=s;r-next=NULL;if(strcmp(name,s-z)!=0)printf(无效账号!nn);printf(是否现在进行注册?(按1继续,按其它任意键退出)nn);scanf(%d,&m);system(cls);if(m=1)printf(n-n);printf(n*用户名:n);scanf(%s,name);fprintf(fp,%s ,name);printf(n*密码:n);scanf(%s,code);fprintf(fp,%sn,code);printf(n注册成功!正在跳转登录nn);Sleep(1500);getch();deng(fp

8、);elseprintf(nnnn 已成功退出!nnn);exit (0);printf( n*请输入密码:n);for(j=0;j6;j+)aj=getch();printf(*);aj=0; for(i=0,p=3;im,a)!=0)printf(n密码错误!请检查!nn);printf(n您还有%d次输入密码的机会nn,p);printf(n*请重新输入密码!*n);for(j=0;jm,code)!=0)printf(密码错误!nn);printf(对不起,你无权访问!n);exit(0);if(k=NULL)return;while(ai!=0)s1=ai1234;fputc(s1,

9、k);i+;fclose(k);if(k=fopen(temp.txt,a+)=NULL)return; rewind(k); flushall;fclose(fp);printf(n);printf(n 恭喜您,您已成功登录!n);printf(n-n);getch();(2)文件的打开及写入struct people *fileopen()struct people *head,*s,*r;FILE *fp;long fsize,fno; s=head=(struct people *)malloc(sizeof(struct people);fp=fopen(zhuhu.txt,rt);

10、if(fp=NULL)printf(n打开该管理文件失败!n也可能不存在,请检查输入!n);exit(1);fno=fileno(fp);fsize=filelength(fno);printf(n此文件成功打开!n);printf(该文件的大小为:%ld bytesn,fsize);while(!feof(fp)r=(struct people*)malloc(sizeof(struct people);fscanf(fp,%st%st%st%st%st%st%dnn,r-name,r-pho,r-house,r-blong,r-car,r-money,&r-pop);s-next=r;s=

11、r;s-next=NULL;fclose(fp);return head;printf(_n);struct people *filewrite(struct people *head) /写入文件函数FILE *fp;char filename30;struct people *q; printf(请输入现有信息要储存到de管理文件中:); scanf(%s,filename); fp=fopen(filename,wt);if(fp=NULL)printf(该文件无法找到,请检查输入n);exit(1);q=(struct people*)malloc(sizeof(struct peop

12、le);q=head-next;while(q!=NULL) fprintf(fp,%st%st%st%st%st%st%dnn,q-name,q-pho,q-house,q-blong,q-car,q-money,q-pop);/*改q=q-next;fclose(fp);return head;(3)链表的创立struct people *createlist() FILE *fp; char filename40; struct people *head1,*p1,*p2;int flag;printf(n请输入要保存的库存资料管理文件名(以.txt结尾):);scanf(%s,file

13、name); if(fp=fopen(filename,wt)=NULL) /*判断文件是否存在*/printf(nn*写文件出错,请检查输入*n);getch();exit(1);head1=(struct people *)malloc(sizeof(struct people); /*申请头结点空间*/p1=head1;p2=head1;system(cls); printf(nn *(*_*) 成功创建管理文件包!*n);printf(请输入基本信息:n 姓名 联系电话 门牌号 房产所有 车位 收费 人口 n);printf(_n); scanf(%s%s%s%s%s%s%d,p1-n

14、ame,p1-pho,p1-house,p1-blong,p1-car,p1-money,&p1-pop);printf(_n);p1-next=NULL;fprintf(fp,%st%st%st%st%st%st%dnn,p1-name,p1-pho,p1-house,p1-blong,p1-car,p1-money,p1-pop); /*将信息存入文件*/while(1)p1=(struct people *)malloc(sizeof(struct people);printf(是否继续输入基本信息?(按0结束,任意其他键继续)n);scanf(%d,&p1-flag); if(p1-flag=0) /*控制空间申请条件*/fclose(fp);return head1;printf(_n); printf(请输入基本信息:nn 姓名 联系电话

温馨提示

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

最新文档

评论

0/150

提交评论