C语言 小区物业管理 实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一. 设计目的

1.熟悉结构体类型的定义;

2.练习对数据的储存和读写:对文件的操作;

3.实现函数的定义及对函数的调用;

4.学习链表的建立,使用链表实现对数据的改动;

5.掌握调试程序的方法,熟练单步跟踪等。

二. 设计内容

主要实现以下几个功能:

1.管理员及业主账号的创建及核对,管理员密码的修改;2.录入业主信息;

3.修改,增加,删除信息;

4.信息的查询,打印,统计;

5.信息的文件储存;

6.文件的读写;

7.密码的加密。

三.概要设计

1.功能模块图;

2.各个模块详细的功能描述。 1.创建住户信息:

键盘输入住户信息,有姓名,联系方式,房屋号码,房产所有,车位拥有情况,收费项目,家庭人口等。并储存在文件中。 2.添加:

选择进行添加,添加住户信息。并储存进指定文件中。添加完毕后返回主界面。 3.修改:

选择进行修改,进入后可选择修改的内容(包括联系方式,住户姓名,房间号等)。根据修改的内容查找用户,继续进行修改,输入新的信息,完成后打印新信息,存入指定文件。不再修改时返回主界面。

4.删除:

选择要删除的人的信息(姓名或者房号),根据此信息查找该用户并删除相应信息,并存入指定文件中。

5.打印:

利用读文件及链表打印存入的信息。

6.查询:

打开文件,根据姓名或房间号查询此业主的全部信息。7.统计:

打开文件,每个住户的车位信息与no比较,不是则进行加

加操作,统计出已用车位总数。

8.修改密码:

核对修改的账号,输入新密码,存入文件,并进行加密。

9.查询2:

打开文件,根据姓名或房间号查询此业主的姓名,联系方式,房间号信息

四.详细设计

2.各功能函数的数据流程图;(1)添加:

(2)创建住户信息

(3).修改

(4).删除

(5).打印

(6).查询

(7).统计

(8)密码修改

3.重点设计及编码。

(1)登陆时密码存入文件及加密

开辟两个文件,一个存密码,另一个存加密文件,当void deng() //登录{

FILE *fp;

FILE *k;

char name[30],code[30]; //用户名,选择登录(注册),密码

struct mima *r,*s,*h,*s1; //密码链接的创建

int i,p,j; //控制密码重输循环次数

int m;

char a[6];

fp=fopen("mima.txt","a+");

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,"%s\t%s\n",s->z,s->m);

if(strcmp(name,s->z)==0)

break;

r->next=s;

r=s;

}

r->next=NULL;

if(strcmp(name,s->z)!=0)

{

printf("无效账号!\n\n");

printf("是否现在进行注册?(按1继续,按其它任意键退

出)\n\n");

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,"%s\n",code);

printf("\n注册成功!正在跳转登录····\n\n");

Sleep(1500);

getch();

deng(fp);

}

else

{

printf("\n\n\n\n 已成功退出!\n\n\n");

exit (0);

}

}

printf(" \n******************************请输入密码:\n");

for(j=0;j<6;j++)

{

a[j]=getch();

printf("*");

}

a[j]='\0';

for(i=0,p=3;i<3;i++,p--)

{

if(strcmp(s->m,a)!=0)

{

printf("\n密码错误!请检查!\n\n");

printf("\n您还有%d次输入密码的机会\n\n",p);

相关文档
最新文档