c语言物业管理系统.docx

上传人:b****2 文档编号:23547941 上传时间:2023-05-18 格式:DOCX 页数:27 大小:18.65KB
下载 相关 举报
c语言物业管理系统.docx_第1页
第1页 / 共27页
c语言物业管理系统.docx_第2页
第2页 / 共27页
c语言物业管理系统.docx_第3页
第3页 / 共27页
c语言物业管理系统.docx_第4页
第4页 / 共27页
c语言物业管理系统.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

c语言物业管理系统.docx

《c语言物业管理系统.docx》由会员分享,可在线阅读,更多相关《c语言物业管理系统.docx(27页珍藏版)》请在冰豆网上搜索。

c语言物业管理系统.docx

c语言物业管理系统

#include

#include

#include

#ifdef__GNUC__

#include

#include

#defineclearclear

#defineSleep(x)usleep(x##000)

#endif

#ifdef_MSC_VER

#include

#include

#defineclearsystem("cls")

#endif

#defineTRUE1

#defineFAUSE0

typedefstructper

{

charname[20];

intsex;

charIDcard[19];

charphone[12];

intbuild_num;

intunit_num;

inthouse_num;

floatarea;

floatarea_price;

floatcharge;

charremarks[200];

structper*next;

}PERSON;

voidzhuce();

intlogin();

PERSON*Getdata(FILE*fp);

voidadd_person();

voiddel(PERSON*L);

voidchange(PERSON*L);

voidsort_All(PERSON*L);

voidpay(PERSON*L);

voidsort_B_num(PERSON*L);

voidmenu_1();

voidmenu_2();

intmain()

{

intcheck,a;

printf("\t**************************Welcome!

***********************");

printf("\n\t\t1.注册");

printf("\n\t\t2.登录");

printf("\n\t\t0.退出");

printf("\n\t--请输入--:

");

scanf("%d",&a);

clear;

switch(a)

{

case0:

{

printf("\t\t--感谢使用本系统!

--");

Sleep(2000);

exit(0);

}

case1:

{

zhuce();

clear;

check=login();

while(check==FAUSE)

{

printf("\n用户名或密码错误。

");

Sleep(2000);

clear;

check=login();

}

clear;

menu_1();

break;

}

case2:

{

check=login();

while(check==FAUSE)

{

printf("\n用户名或密码错误。

");

Sleep(2000);

clear;

check=login();

}

clear;

menu_1();

break;

}

}

return0;

}

voidmenu_1()

{

FILE*fp;

inta;

PERSON*head=NULL;

printf("\t\t*************************欢迎使用***************************");

printf("\n\t\t1.用户添加");

printf("\n\t\t2.用户修改");

printf("\n\t\t3.用户删除");

printf("\n\t\t4.用户费用信息查看");

printf("\n\t\t5.用户缴费");

printf("\n\t\t0.退出");

printf("\n\t--请输入--:

");

scanf("%d",&a);

clear;

switch(a)

{

case0:

{

printf("--感谢使用!

--");

Sleep(3000);

exit(0);

}

case1:

{

add_person();

menu_1();

break;

}

case2:

{

fp=fopen("data.dat","r");

head=Getdata(fp);

printf("%s",head->name);

if(head==NULL)

{

printf("没有任何数据");

Sleep(3000);

exit

(1);

}

else

{

change(head);

menu_1();

}

break;

}

case3:

{

if((fp=fopen("data.dat","rb"))==NULL)

{

printf("没有任何数据");

exit

(1);

}

else

{

head=Getdata(fp);

del(head);

menu_1();

}

break;

}

case4:

{

menu_2();

break;

}

case5:

{

fp=fopen("data.dat","rb");

head=Getdata(fp);

if(head==NULL)

{

printf("没有任何数据");

Sleep(3000);

exit

(1);

}

else

{

pay(head);

menu_1();

}

break;

}

}

}

voidmenu_2()

{

FILE*fp;

inta;

PERSON*head=NULL;

printf("\t\t*******用户信息查看**********");

printf("\n\t\t1.按楼号查看用户物业费情况");

printf("\n\t\t2.按费用信息查看用户物业费情况");

printf("\n\t\t0.退出");

printf("\n\t--请输入--:

");

scanf("%d",&a);

clear;

switch(a)

{

case0:

{

printf("感谢使用");

Sleep(3000);

exit(0);

}

case1:

{

fp=fopen("data.dat","rb");

head=Getdata(fp);

if(head==NULL)

{

printf("没有任何数据");

Sleep(3000);

exit

(1);

}

else

{

sort_B_num(head);

menu_2();

}

break;

}

case2:

{

fp=fopen("data.dat","rb");

head=Getdata(fp);

if(head==NULL)

{

printf("没有任何数据");

Sleep(3000);

exit

(1);

}

else

{

printf("\t\t--所有用户物业费情况--\n");

sort_All(head);

menu_2();

}

break;

}

}

}

voidzhuce()

{

FILE*fp;

charad[50],key0[50],key1[50];

charch;

inti,j;

printf("\t\t************用户注册*********");

printf("\n\t--请输入用户名:

");

scanf("%s",ad);

while

(1)

{

i=0;

j=0;

printf("\n\t--请输入密码:

");

//initscr();

//noecho();

while((ch=getch())!

='\r')

{

if(ch==8)

{

printf("\b");

putchar('\b');

if(i>0)

i--;

}

else

{

putchar('*');

//fflush(stdout);

key0[i++]=ch;

}

}

//endwin();

key0[i]='\0';

printf("\n\t--请再次输入密码:

");

//initscr();

//noecho();

while((ch=getch())!

='\r')

{

if(ch==8)

{

printf("\b");

putchar('\b');

if(j>0)

j--;

}

else

{

putchar('*');

key1[j++]=ch;

}

}

//endwin();

key1[j]='\0';

if(strcmp(key0,key1)!

=0)

{

clear;

printf("%d",strcmp(key0,key1));

printf("\t--两次输入密码不符,请重新输入--");

Sleep(2000);

clear;

}

else

{

printf("\n--用户%s注册成功!

--",ad);

Sleep(3000);

fp=fopen("admin.txt","a");

fprintf(fp,"%s\n",ad);

fclose(fp);

fp=fopen("key.txt","a");

fprintf(fp,"%s\n",key0);

fclose(fp);

break;

}

}

}

intlogin()

{

FILE*fp1,*fp2;

charad[50],key[50];

charch_1[50],ch_2[50],ch_0;

inti=0,check=0;

printf("\t\t*******************用户登录*********************");

printf("\n\t\t--[用户名]--");

scanf("%s",ad);

printf("\n\t\t--[密码]--");

//initscr();

while((ch_0=getch())!

='\r')

{

if(ch_0==8)

{

printf("\b");

putchar('\b');

if(i>0)

i--;

}

else

{

putchar('*');

key[i++]=ch_0;

}

}

key[i]='\0';

//endwin();

fp1=fopen("admin.txt","r");

fp2=fopen("key.txt","r");

while(!

feof(fp1))

{

fscanf(fp1,"%s",ch_1);

fscanf(fp2,"%s",ch_2);

//printf("%s",ch_1);

//printf("%s",ch_2);

if(strcmp(ad,ch_1)==0)

{

if(strcmp(key,ch_2)==0)

{

check=TRUE;

break;

}

}

}

fclose(fp1);

fclose(fp2);

returncheck;

}

PERSON*Getdata(FILE*fp)

{

PERSON*head=NULL;

PERSON*p1,*p2;

p1=(PERSON*)malloc(sizeof(structper));

while(fread(p1,sizeof(structper),1,fp)==1)

{

//printf("%s",p1->name);

if(head=NULL)

{

head=p2=p1;

}

else

{

p2->next=p1;

p2=p1;

}

p1=p1->next;

p1=(PERSON*)malloc(sizeof(structper));

}

p2->next=NULL;

free(p1);

returnhead;

}

voidsave(PERSON*head)

{

FILE*fp;

PERSON*p;

fp=fopen("data.dat","wb+");

p=head;

while(p!

=NULL)

{

fwrite(p,sizeof(structper),1,fp);

p=p->next;

}

fclose(fp);

}

voidadd_person()

{

PERSON*p1,*p2;

PERSON*head=NULL;

intn;

printf("\n\t\t************用户添加**********");

while

(1)

{

p1=(PERSON*)malloc(sizeof(structper));

printf("\n\n请输入用户信息:

姓名性别(0.女性;1.男性)身份证联系方式楼号单元号房号平米数每平米价格备注\n\n");

scanf("%s",(*p1).name);

scanf("%d",&(*p1).sex);

scanf("%s",(*p1).IDcard);

scanf("%s",(*p1).phone);

scanf("%d",&(*p1).build_num);

scanf("%d",&(*p1).unit_num);

scanf("%d",&(*p1).house_num);

scanf("%f",&(*p1).area);

scanf("%f",&(*p1).area_price);

scanf("%s",(*p1).remarks);

(*p1).charge=(*p1).area*(*p1).area_price*(-1);

if(head=NULL)

head=p2=p1;

else

{

p2->next=p1;

p2=p1;

}

printf("\n\t--用户添加成功!

--");

printf("\n是否继续添加(1.是;0.否)");

scanf("%d",&n);

if(n==0)

break;

p1=p1->next;

}

p2->next=NULL;

save(head);

}

voiddel(PERSON*L)

{

PERSON*head,*p1,*p2;

PERSON*p;

charname[20],ID[19];

intk=0;

intn;

p=(PERSON*)malloc(sizeof(structper));

p->next=head=L;

while

(1)

{

p1=p;

printf("请输入所要删除的用户姓名及身份证号\n--");

scanf("%s%s",name,ID);

while(p1->next!

=NULL)

{

if(strcmp(name,p1->next->name)==0&&strcmp(ID,p1->next->IDcard)==0)

{

p2=p1->next;

p1->next=p2->next;

free(p2);

k=1;

break;

}

p1=p1->next;

}

head=p->next;

if(k==0)

printf("\n\t--没有相关用户!

--");

else

{

printf("\n\t删除用户-%s-成功!

",name);

printf("\n是否继续删除(1.是;0否)");

scanf("%d",&n);

if(n==0)

break;

}

}

save(head);

}

voidchange(PERSON*L)

{

charname[20],ID[19];

PERSON*p;

intn,k=0;

while

(1)

{

p=L;

printf("--请输入所需修改用户的姓名及身份证--\n--");

scanf("%s",name);

scanf("%s",ID);

while(p->next!

=NULL)

{

if(strcmp(p->name,name)==0&&strcmp(p->IDcard,ID)==0)

{

k=1;

break;

}

p=p->next;

}

if(k==0)

{

printf("没有查找到该用户,是否重新输入(1.是;0.否)\n--");

scanf("%d",&n);

if(n!

=1)

break;

}

else

{

clear;

printf("\t--请输入用户-%s-修改后信息--",p->name);

printf("姓名性别身份证联系方式楼号单元号房号平米数每平米价格备注");

scanf("%s",(*p).name);

scanf("%d",&(*p).sex);

scanf("%s",(*p).IDcard);

scanf("%s",(*p).phone);

scanf("%d",&(*p).build_num);

scanf("%d",&(*p).unit_num);

scanf("%d",&(*p).house_num);

scanf("%f",&(*p).area);

scanf("%f",&(*p).area_price);

scanf("%s",(*p).remarks);

(*p).charge=(*p).area*(*p).area_price;

printf("修改用户成功\n是否继续修改(1.是;0.否)");

scanf("%d",&n);

if(n!

=1)

break;

}

}

save(L);

}

voidpay(PERSON*L)

{

charname[20],ID[19];

PERSON*head,*p;

intn,k=0;

floatmoney;

head=L;

while

(1)

{

printf("--请输入所需缴费的用户及身份证--\n--");

scanf("%s%s",name,ID);

p=head;

while(p->next!

=NULL)

{

if(strcmp(p->name,name)==0&&strcmp(p->IDcard,ID)==0)

{

k=1;

break;

}

p=p->next;

}

if(k==0)

{

printf("没有查找到该用户,是否重新输入(1.是;0.否)\n--");

scanf("%d",&n);

if(n!

=1)

break;

}

else

{

printf("请输入缴费金额:

\n--");

scanf("%f",&money);

p->charge+=money;

printf("是否继续缴费(1.是;0.否)");

scanf("%d",&n);

if(n!

=1)

break;

}

}

save(head);

}

voidsort_All(PERSON*L)

{

PERSON*p;

PERSONs[20],a;

intn=0;

inti,j;

p=L;

while(p->next!

=NULL)

{

strcpy(s[n].name,p->name);

s[n].sex=p->sex;

strcpy(s[n].IDcard,p->IDcard);

strcpy(s[n].phone,p->phone);

s[n].build_num=p->build_num;

s[n].unit_num=p->unit_num;

s[n].house_num=p->house_num;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1