改进物业费管理系统_第1页
改进物业费管理系统_第2页
改进物业费管理系统_第3页
改进物业费管理系统_第4页
改进物业费管理系统_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

1问题描述

1.1使用链表文献

1.2新户信息的添加,(户主姓名、性别、身份证号、联络、楼号、单元号、房号、

平米数、每平米物业价格、应缴纳物业费,备注信息)

1.3修改住户信息的功能

1.4删除住户信息的功能

1.5应缴物业费自动生成。每月1号,自动生成本月份的物业费。假如该住户之前的物

业费未交清,则本月物业费与之前拖欠费用进行累加,为该顾客应缴纳的物业费

1.6缴费功能。根据顾客缴纳金额,修改“应缴纳物业费”

1.7可以按楼号分类记录所有未交清物业费的记录

1.8可以按拖欠款项多少,对所有顾客信息进行从大到小排序

1.9川菜单进行管理

1.10只有对的输入顾客名密码才能使用此系统

1.11所有内容可以保留到文献中。下次进入系统是从文献中读取原有信息

2源代码

〃************************************************

〃物业费管理系统.cpp

〃计算机学院.•计算机科学与技术专业・・xxx班一XXX

f/J/rj、・[•*2*・-X,•**2*4—rjw・:•♦*2j・*[一■1**1*<rj2w*♦*2**2^*♦1*rrjw':•[一•:・♦卜・;•

#indude<stdio.h>

#include<string.h>

#include<stdlib.h>

#include<windows.h>

#include<conio.h>

#include<time.h>

#definetoutiaogotoxy(23,1);printf(**----欢迎使用物业费管理系

统一••\n“);

#defineCLCsystem(11cisn);toutiao;

typedefstructowner〃业主构造体包括顾客姓名,性

别,身份证号和号码

(

charname[10J;〃业主姓名

intsex;〃业主性别1代表男性,0代表女

charID[10];〃业主身份证号

charphonenumber[10];〃业主号码

intbuilding_num;〃楼号

intunitnumber;〃单元号

inthousenumber;〃房号

floatarea;〃平方数

floatunit_price;〃物业价格

floatcharge;〃收费

charremarks[501;〃备注信息

structowner*next;

JOWNER;

OWNER*CreatNode(OWNER*Head);〃创立业主信息的函

数建立链表

OWNER*GetData(FILE*fp);〃程序打开的时候从文献中

获取数据的函数

voidDisplay(OWNER*Head);〃显示所有顾客信息

voidSave(OWNER*Head);〃保留数据的函数

OWNER*Deleat(OWNER*Head);〃删除函数

OWNER*Change(OWNER*Head);〃修改函数

OWNER*Pay(OWNER*Head);〃缴费的函数

OWNER*NumberList(OWNER*Head);〃按照楼号分类记录

所有无交清物业费显示功能

OWNER*UnChargeList(OWNER*Head);〃可以按照欠款对所

有顾客的排序

OWNER*AutoChargeAdd(OWNER*Head);〃物业费自动生

成函数

voidTimelnitialValueSet(void);〃第一次运行的时候,加以

运算

voidgotoxy(shortx,shorty)//gotoxy函数

(

HANDLEhout;

COORDcoord;

coord.X=x;

coord.Y=y;

hout=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleCursorPosition(hout,coord);

}

voidlianxi(void)

(

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),BACKGROUND_BLUE|BACKGROUND_RED|BACK

GROUND.GREEN);

gotoxy(10,5);

printf("有关文献有损坏,请联络系统开发人员!”);

gotoxy(10,6);

printfC联络方式:");

gotoxy(1(),7);

printf(M:

gotoxy(10,8);

printf(MxxxxM);

gotoxy(10,9);

printf(“邮箱

gotoxy(10,10);

printf(M\nH);

)

voidWindows(void)〃输入顾客名的窗口

gotoxy(35,7);

printf(M।-------------------------1");

gofoxy(35,8);

printf(f,||”);

gotoxy(35,9);

printf(u1------------------------1n);

gotoxy(35,10);

printfC"।------------------------1,');

gotoxy(35,ll);

printf(M||”);

gotoxy(35,12);

printf(M

intdenglu(void)〃登录界面

(

intchoice;

gotoxy(23,1);

printfC「一欢迎使用物业费管理系统\nn);

gotoxy(30,8);

printf(Ml,登录系统”);

gotoxy(30,10);

printf(M2,退出系统”);

gotoxy(40,14);

printf,请输入你的J选择:");

scanf(H%dn,&choice);

returnchoice;

)

voidjiance(void)〃检测函数,用于检测密码,顾客名与否对的I

(

inti,flag=0;

intcount=5;

intlenth=0;

FILE*fpl,时p2;

charname[20];

charloading[20];

charpassword[10];

charloadingmima[10];

toutiao;

fpl=fopen(”F:\\user.dat”J'P');〃打开顾客名文献

fp2=fopen(”F:\\password.dat”Jr”);〃打开密码文献

do

{

if(fpl==NULL||fp2==NULL)〃当打开文献有错时

时候

(

lianxi();

for(i=l;i>0;i-)

(

gotoxy(10,ll);

printf("%d秒后退出!”,i);

_sleep(10()0);

}

exit(l);

else

(

toutiao;

gotoxy(24,6);〃开始顾客名输入

printf(”请输入顾客名和密码厂);

gotoxy(25,8);

printf(“顾客名:");

gotoxy(25,11);

printf「密码

Windows();〃对输入窗口的调用

〃〃〃〃〃〃〃〃〃〃〃/〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃/〃〃〃〃〃〃〃

gotoxy(37,8);

scanf(M%sM,name);

gotoxy(37,11);

//scanf(M%sH,password);〃完毕对密码和顾客

名的输入

while(lenth<10&&password[lenth-l]!=*\r*)

password[lenth++]=getch();

if(password[lenth-l]!=8)

gotoxy(37+lenth-1,11);

putchar('*');

)

else

(

printf(M\b\bn);

lenth-=2;

if(lenth<0)

(

lenth=0;

password[lenth-1]=AO1;

gotoxy(37+lenth,11);

printf(n\b\bH);

lenth=0;

llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

fscanf(fpl,H%sn,loading);

fscanf(fp2,n%sM,loadingmima);

if((strcmp(name,loading)==0)&&(strcmp(passvvord,

loadingmima)==0))〃对输入的密码和顾客名进行比较

(

gotoxy(40,13);

printf「账户、密码对的容许进入系统!”);

for(i=2;i>0;i—)

{

gotoxy(43,15);

printf(n%d秒后将登陆系统[i);

_sleep(1000);

)

flag=1;

)

else

(

gotoxy(40,13);

count—;

printf,信息错误!你尚有%d次机会重新输入密

码!”,count);

if(count==0)

gotoxy(40,13);

print*”信息错误!程序即将自动结束!”);

for(i=5;i>0;i・・)

(

gotoxy(43,15);

printf,%d秒后结束程序![i);

_sleep(1000);

)

exit(0);

}

gotoxy(40,15);

for(i=1;i>0;i-)

(

gotoxy(43,15);

printf(M%d秒后重新输入匕i);

_sleep(10()0);

)

system(nclsM);

)

)

}while(flag==0);

fclose(fpl);

fclose(fp2);

)

intmenu(void)〃主菜单

(

charstr[10];

intn;

system(nclsn);

toutiao;

gotoxy(10,5);

printf(Hl.录入信息”);

gotoxy(l(),7);

printf(H2.浏览信息”);

gotoxy(10,9);

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf(u3.删除信息”);

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(10,11);

printf(n4.更改信息”);

gotoxy(10,13);

printtr-5.缴费功能”);

gotoxy(10,15);

prmtf(M6.未缴费查询(楼号)”);

gotoxy(10,17);

printf(n7.未缴费查询(欠款)”);

gotoxy(l(),19);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf(H8.修改密码”);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(10,21);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

printf(n9.退出程序”);

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(10,23);

printfClO.自动计算物业费,

gotoxy(35,20);

printf,请输入你的选择:”);

gotoxy(50,20);

scanf(,,%s,,,str);

returnn=atoi(str);

)

intmenu2(void)

(

charstr[10];

intn;

system(nclsn);

toutiao;//(23,l)

gotoxy(10,5);

printf(”L修改顾客名”);

gotoxy(10,7);

printf('2修改性别");

gotoxy(10,9);

printf(”3.修改号码”);

gotoxy(10,11);

printf("4,修改备注”);

gotoxy(10,13);

printf(n5.停止修改”);

gotoxy(35,20);

printf("请输入你的选择:”);

gotoxy(50,20);

scanf(n%su,str);

returnn=atoi(str);

)

voidxiugaimimaO/〃修改密码日勺函

(

FILE*fpl,*fp2;

inti;〃定义某些常量供使用

charOmima[10]9Oname[20];

charCmimal[10],Cmima2[10];

charmimatemp[10]9yonghumingtemp[20];

intlenth=0:

intflag=0;

system(Mclsn);

toutiao;

fpl=fopen(”FNuser.dat”」1);〃打开顾客名文献

fp2=fopen("F:\\password.dat”Jr”);〃打开密码文献

if(fpl==NULL||fp2==NULL)

(

lianxi();

)

gotoxy(30,5);

printfC请输入顾客名和密码厂);

gotoxy(24,8);

printf("本来顾客名

gotoxy(24,11);

printf,原来密码:");

Windows();

gotoxy(37,8);

scanf(M%sM,Oname);

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIU

gotoxy(37,11);

//scanf(M%s'\Omima);

vvhile(lenth<10&&Omima[lenth-1]!=W)

{

Omima[lenth++]=getch();

if(Omima[lenth-1]!=8)

(

gotoxy(37+lenth-l,11);

putchar,*');

}

else

(

printf(n\b\bn);

lenth-=2;

if(lenth<0)

lenth=0;

)

}

}

Omima[lenth-1]='\0';

gotoxy(37+lenth,11);

printfCXbXb1);

lenth=0;

fscanf(fpl,n%sn,yonghumingtemp);

fscanf(fp2,M%sn,mimatemp);

if(stremp(yonghumingfemp,Oname)==0&&

strcmp(mimatenip,Omima)==0)

(

gotoxy(37,8);

printfC顾客名对的产);

gotoxy(37,11);

printfC密码对的!”);〃在验证这个对时之后调用一种延

gotoxy(43,13);

printf(”请输入新密码!”);

_sleep(3000);

WindowsO;

gotoxy(18,8);

printf("第一次输入密码:H);

gotoxy(18,11);

printf("第二次输入密码:n);

〃〃〃〃〃〃〃〃/〃〃〃〃〃/〃〃〃〃〃〃〃/〃〃〃〃/〃/〃〃//〃/〃/〃〃/〃

gotoxy(37,8);

//scanf(n%sn,Cmimal);

while(lenth<10&&Cmimal[lenth-1]!=*\r*)

(

Cmimal[lenth++]=getch();

if(Cmimal[lenth-1]!=8)

(

gotoxy(37+lenth-l,8);

putcharC***);

)

else

printf(M\b\bH);

lenth-=2;

if(lenth<0)

{

lenth=0;

Cmimal[lenth-l]=,\O,;

gotoxy(37+lenth,8);

printf(n\b\bn);

lenth=0;

〃〃〃〃〃〃〃〃〃〃〃/〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃/〃〃〃〃〃〃〃

gotoxy(37,11);

//scanf(n%s'\Cmima2);

whiledenth<1()&&Cmima2[lenth-1]!='\r')

(

Cmima2[lenth++]=getch();

if(Cmima2[lenth-1]!=8)

(

gotoxy(37+lenth-l,11);

putcharC***);

else

printf(M\b\bM);

lenth-=2;

if(lenth<0)

(

lenth=0;

}

)

}

Cmima2[lenth-1]='\0';

gofoxy(37+lenth,11);

printf(n\b\bM);

lenth=0;

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIU

if(strcmp(Cmima2,Cmimal)==0)

(

gotoxy(43,13);

fp2=fopen(nF:\\password.datM,nwb+n);

printf("密码修改成功,请记住密码!”);

fprintf(fp2,n%sn,Cmimal);

Sleep(2023);

}

else

(

CLC;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

gotoxy(30,18);

printf(“两次密码输入不同样!请在主程序中再次进

入!\n");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

for(i=5;i>0;i・-)

(

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

gotoxy(30,10);

printfj请等待%d秒!”,i);

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

Sleep(lOOO);

)

}

fflush(stdin);

}

else

{

CLC;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

gotoxy(30,18);

printfC输入有误!请在主程序中再次进入!\n");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

for(i=5;i>0;i-)

(

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

gotoxy(30,10);

printf("请等待%d秒!”,i);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BTAJF);

Sleep(lOOO);

)

)

fclose(fpl);

fclose(fp2);

return;

)

OWNER*GetData(FILE*fp)

intn=0;

OWNER*head,*p,*q;

head=(OWNER*)ma!loc(sizeof(OWNER));

q=p=head;

vvhile(fread(p,sizeof(OWNER),1,fp)==l)

(

q=p;

p=(OWNER*)malloc(sizeof(OWNER));

q->next=p;

n++;

}

q->next=NULL;

free(p);

if(n==0)

(

head=NULL;

)

returnhead;

)

OWNER*CreatNode(OWNER*Head)〃链表的

创立函数

inti;

//OWNER*Head=NULL;

system("cls");

toutiao;

OWNER*p,*temp;

p=(OWNER*)malloc(sizeof(OWNER));

if(Head==NULL)

{

Head=p;

)

else

(

temp=Head;

while(temp->next!=NULL)

temp=temp->next;

temp->next=p;

while(1)

if(p==NULL)

system(ndsM);

toutiao;

gotoxy(30,ll);

printfC没有足够的空间”);

exit(O);

CLC;

p->area=0;

p->unit_price=0;

p->charge=0;

gotoxy(30,3);

printf,请输入有关信息!\n”);

printf(”请输入业主信息

printfC请输入业主名字、性别、身份证号

scanf(n%s%d%sn,p->name,&p->sex,p->ID);

while(strlen(p->name)>9||(p->sex!=1&&p->sex!=0)||

strlen(p->ID)!=9)

(

//SetTextColor(nyeIlown);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf,输入的信息不符合规范,请重新输入!\n姓名9

个字符,性别由0与1代表,身份证号9个字符!\n-);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BTAJF);

printf,请输入业主名字、性别、身份证号了);

scanf(H%s%d%s*\p->name,&p->sex,p->ID);

)

printfC请输入业主号码:“);

scanf(H%sn,p->phonenumber);

while(strlen(p->phonenumber)>9)

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

print。输入的信息不符合规范,请重新输入!\n号码

9个字符!\n");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

print。请输入业号码呼;

scanf(M%s,\p->phonenumber);

}

printf,请输入业主楼号、单元号、房号”);

scanf(**%d%d%d'\&p->building_niiin,

&p->unitnumber,&p->housenumber);

while(p->building_num>1()||p->unitnumber>10||

(p->housenumber<99&&p->housenumber>200))

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printfC输入的信息不符合规范,请重新输入八n楼号应

不大于10,单元号不大于10,房间号不大于3!\n");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

printf,请输入业主楼号、单元号、房号”);

scanf(n%d%d%d'\&p->building_num,

&p->unitnumber,&p->housenumber);

}

printf,请输入物业信息八n”);

〃printf("请输入住房面积、物业价格:");

//scanf(M%f\&p->area,&p->unit_price);

prinHT请输入住房面积、物业价格、物业费了);

scanf(u%f%f%f”,&p->area,&p->unit_price,

&p->charge);

printfC请输入备注:");

scanf(n%sM,p->remarks);

p->next=NULL;

fflush(stdin);

printf("与否继续进行信息时录入?(y/n)”);

if(toupper(getchar())!=*Y*)

p->next=NULL;

print一本次输入已完毕");

fflush(stdin);

//printf(uPleasepresstheEnterkeytoreturnAn1,);

getchar();

system(MclsM);

break;

}

system(,,clsM);

temp=p;

p=(OWNER*)malloc(sizeof(OWNER));

temp->next=p;

)

Save(Head);

CLC;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

gotoxy(30,10);

printf("输入欧J数据保留完毕\n”);

for(i=5;i>0;i-)

gotoxy(30,12);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_GREE

N);

printf,保留成功%(1秒后返回!”,i);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FORFGROUND_GRFFN|FORFGROUND_RFD|FORFGROU

ND_BLUE);

_sleep(l()OO);

)

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND.BLUE);

returnHead;

}

voidDisplay(OWNER*Head)〃显示所有顾客的信息的函数

inti=0;

OWNER*p=Head;

CLC;

printfC编号姓名性别身份证号号码单元号楼号

房间号面积单价收费备注\n”);

while(p!=NULL)

(

printf(n%2d:%-9s%d%-10s%-

5s%3d%5d%5d%7.2f%6.2f%4.2f%s\nH,i+1,p->name,

p->sex,p->ID,p->phonenumbei;p->unitnumbei;

p->building_num,

p->housenumber,p->area,p->unit_price,p->charge,

p->remarks);

i++;

p=p->next;

)

printfC,目前总人数:%d\n\nH,i);

fflush(stdin);

printf(HPleasepresstheEnterkeytoreturnAn**);

getchar();

system("ds");

)

voidSave(OWNER*Head)

(

FILE*fp;

OWNER举p;

inti;

CLC;

fp=fopen(MF:\\ownerdata.datn,nw+n);

if(fp==NULL)

{

gotoxy(20,8);

printfC这个文献不存在!\n”);

for(i=l;i>0;i-)

(

gotoxy(30,ll);

printf「%d秒后自动退出!”,i);

_sleep(10()0);

exit(O);

}

p=Head;

while(p!=NULL)

{

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

p=p->next;

}

fclose(fp);

|

OWNER*Deleat(OWNER*Head)

(

intflag=0;

charDeleatNameflO],DeleatIDflO];

inti;

OWNER*DeleatNode;

OWNER*temp;

CLC;

toutiao;

if(Head==NULL)〃判断头指针与否为空

{

gotoxy(30,10);

printfC毁有任何保留的顾客信息八n”);

for(i=5;i>0;i-)

(

gotoxy(36,H);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf「%d秒后返回!”,i);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FOREGROUND_GREEN|FOREGROUND_RED|FOREGROU

ND_BLUE);

_sIeep(1000);

)

)

else

printf「请输入你想删除业主的名字和身份证号:\n");

scanf(n%s%sH,DeleatName,DeleatID);

while(strlen(De!eatName)>9||strlen(DeleatlD)!=9)

(

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("输入有误请重新输入!长度应当不大于9!\n");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDT,F),FORFGROUND_GRFFN|FORFGROUND_RFD|FORF

GROUND_BLUE);

scanf(H%s%sn,DeleatName,DeleatID);

)

temp=(OWNER*)malloc(sizeof(OWNER));

temp->next=Head;

p=temp;

while(p->next!=NULL)

if((strcmp(p->next->name,DeleatName)==0)&&

(strcmp(p->next->ID,DeleatID)==0))

{

DeleatNode=p->next;

flag=1;

p->next=DeIeatNode->next;

free(DeleatNode);

continue;

}

p=p->next;

}

if(flag==0)

(

for(i=5;i>0;i-)

(

gotoxy(36,ll);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("没有这个业主%d秒后返回!”,i);

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FOREGROUND_GREEN|FOREGROUND_RED|FOREGROU

ND_BLUE);

_sleep(1000);

)

returnHead;

)

)

Head=temp->next;

Save(Head);

for(i=5;i>0;i-)

{

gotoxy(36,ll);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printfC删除成功%€1秒后返回!,”);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FOREGROUND_GREEN|FOREGROUND_RED|FOREGROU

ND_BLUE);

_sleep(1000);

}

returnHead;

}

OWNER*Change(OWNER*Head)

(

intChoice,i:

charChangeOwner[l()l;

OWNER*p=Head;

CLC;

toutiao;

if(Head==NULL)〃判断头指针与否为空

(

gotoxy(30,10);

prints没有任何保留的顾客信息可以进行修改!\暧);

for(i=5;i>0;i-)

gotoxy(36,ll);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("%d秒后返回!”,i);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FOREGROUND_GREEN|FOREGROUND_RED|FOREGROU

ND_BLUE);

_sleep(1000);

}

returnHead;

)

else

(

printf,请输入你想要修改业主的名字:”);

scanf(H%sn,ChangeOwner);

while(p!=NULL)

if(strcmp(p->name,ChangeOwner)==0)

Choice=menu2();

/〃〃〃〃/〃/〃/〃/〃〃〃〃/〃〃/〃〃//〃/〃/〃〃〃/〃〃/〃/〃/〃/〃/〃/〃

while(Choice!=5)

(

switch(Choice)

(

case1:

{

CLC;

gotoxy(30,11);

printf(”请输入业主的名字”);

scanf(n%sM,p->name);

while(strlen(p->name)>9)

(

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("输入的信息不符合规范,请重

新输入!\n\n'');

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(30,11);

printf(”请输入业主名字

scanf(n%sH,p->name);

break;

case2:

CLC;

gotoxy(30,11);

printf,请输入业主的性别:”);

scanf(M%d,\&p->sex);

while(p->sex!=1||p->sex!=0)

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("输入的信息不符合规范,请重

新输入八n\n");

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(30,11);

printf(”请输入业主性别\n:”);

scanf(n%d,\p->name);

}

}

break;

case3:

(

CLC;

gotoxy(30,11);

printf(”请输入业主的号码:n);

scanf(n%sn,p->phonenumber);

while(strlen(p->phonenumber)>9)

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("输入的信息不符合规范,请重

新输入!\n\n”);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(30,H);

printf(”请输入业主名字:");

scanf(n%sH,p->phonenumber);

)

}

break;

case4:

(

CLC;

gotoxy(30,11);

printfC请输入备注:”);

scanf(n%sn,p->remarks);

break;

default:

CLC;

gotoxy(30,11);

printf("输入有误”);

break;

}

Choice=menu2();

p=p->next;

Save(Head);

returnHead;

}

OWNER*Pay(OWNER*Head)

OWNER*p=Head;

charPayName[10],PayID[10];

inti,flag=0;

floatPayMoney=0;

CLC;

toutiao;

if(Head==NULL)〃判断头指针与否为空

{

gotoxy(30,10);

prints没有任何保留的顾客信息八n”);

for(i=5;i>0;i-)

(

gotoxy(36,ll);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("%d秒后返回!'");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FOREGROUND_GREEN|FOREGROUND_RED|FOREGROU

ND_BLUE);

_sleep(1000);

}

}

else

{

printf,请输入想要缴费的业主名字了);

scanf(n%sM,PayName);

printf(n\n请输入想要缴费的业主ID:n);

scanf(,,%sn,PayTD);

while(p!=NULL)

(

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

(strcmp(p->ID,PaylD)==()))

gotoxy(30,11);

printf("该业主应缴物业费为:%3.2尸,p->charge);

if(p->charge==0)

(

gotoxy(30,18);

printf("此业主不用缴费!”);

for(i=2;i>0;i-)

(

gotoxy(10,11);

printf,%d秒后返回!”,i);

Sleep(lOOO);

}

returnHead;

)

gotoxy(30,13);

printf(”业主缴费为:”);

scanf(n%fn,&PayMoney);

p->charge=p->charge-PayMoney;

break;

)

p=p->next;

if(p==NULL)

gotoxy(30,13);

printf("没有这个业主!”);

Sleep(3000);

}

)

Save(Head);

if(flag==1)

{

gotoxy(30,15);

printf("此业主缴费成功!);

for(i=3;i>0;i-)

(

gotoxy(30,18);

printf("%d秒后返回!”,i);

Sleep(lOOO);

returnHead;

OWNER*NumberList(OWNER*Head)

OWNER*ConNode;

OWNER*p;

OWNER*pl,*p2;

inti;

CLC;

if(Head==NULL)〃判断头指针与否为空

{

gotoxy(30,10);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

printfC没有任何保留的顾客信息!\暧);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FOREGROUND_GREEN|FOREGROUND_RED|FOREGROU

ND_BLUE);

for(i=5;i>0;i-)

gotoxy(36,13);

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("%d秒后返回!”,i);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FOREGROUND_GREEN|FOREGROUND_RED|FOREGROU

ND_BLUE);

_sleep(1000);

}

)

else

(

gotoxy(31,3);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("成果如下:\nH);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FOREGROUND_GREEN|FOREGROUND_RED|FOREGROU

ND_BLUE);

〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃

pl=(OWNER*)malloc(sizeof(OWNER));//

直接插入排序

pl->next=Head;

Head=pl;

for(ConNode=NULL;ConNode!=Head;ConNode=p)

(

for(p=pl=Head;p1->next->next!=ConNode;p1=

pl->next)

(

if(pl->next->building_num<

pl->next->next->building_num)

(

p2=pl->next->next;

pl->next->next=p2->next;

p2->next=pl->next;

pl->next=p2;

p=pl->next->next;

pl=Head;

Head=Head->next;

free(pl);

pl=NULL;

Display(Head);

returnHead;

OWNER*UnChargeList(OWNER*Head)

OWNER*ConNode;

OWNER*p;

OWNER*pl,*p2;

CLC;

if(Head==NULL)〃判断头指针与否为空

gotoxy(30,10);

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

printf("没有任何保留的顾客信息八n”);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FOREGROUND_GREEN|FOREGROUND_RED|FOREGROU

ND_BLUE);

for(i=5;i>0;i-)

(

gotoxy(36,13);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("%d秒后返回!'");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FOREGROUND_GREEN|FOREGROUND_RED|FOREGROU

ND_BLUE);

_sleep(1000);

}

}

else

{

gotoxy(31,3);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("成果如下:\nH);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),

FOREGROUND_GREEN|FOREGROUND_RED|FOREGROU

ND_BLUE);

/〃〃〃//〃〃〃〃/〃〃/〃/〃/〃〃〃/〃/〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃/〃〃

pl=(OWNER*)malloc(sizeof(OWNER));//

直接插入排序

pl->next=Head;

Head=pl;

for(ConNode=NULL;ConNode!=Head;ConNode=p)

(

for(p=pl=Head;pl->next->next!=ConNode;pl=

pl->next)

{

if(pl->n

温馨提示

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

评论

0/150

提交评论