改進(jìn)物業(yè)費(fèi)管理系統(tǒng)_第1頁(yè)
改進(jìn)物業(yè)費(fèi)管理系統(tǒng)_第2頁(yè)
改進(jìn)物業(yè)費(fèi)管理系統(tǒng)_第3頁(yè)
改進(jìn)物業(yè)費(fèi)管理系統(tǒng)_第4頁(yè)
改進(jìn)物業(yè)費(fèi)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1問(wèn)題描述

1.1使用鏈表文獻(xiàn)

1.2新戶信息的添加,(戶主姓名、性別、身份證號(hào)、聯(lián)絡(luò)、樓號(hào)、單元號(hào)、房號(hào)、

平米數(shù)、每平米物業(yè)價(jià)格、應(yīng)繳納物業(yè)費(fèi),備注信息)

1.3修改住戶信息的功能

1.4刪除住戶信息的功能

1.5應(yīng)繳物業(yè)費(fèi)自動(dòng)生成。每月1號(hào),自動(dòng)生成本月份的物業(yè)費(fèi)。假如該住戶之前的物

業(yè)費(fèi)未交清,則本月物業(yè)費(fèi)與之前拖欠費(fèi)用進(jìn)行累加,為該顧客應(yīng)繳納的物業(yè)費(fèi)

1.6繳費(fèi)功能。根據(jù)顧客繳納金額,修改“應(yīng)繳納物業(yè)費(fèi)”

1.7可以按樓號(hào)分類記錄所有未交清物業(yè)費(fèi)的記錄

1.8可以按拖欠款項(xiàng)多少,對(duì)所有顧客信息進(jìn)行從大到小排序

1.9川菜單進(jìn)行管理

1.10只有對(duì)的輸入顧客名密碼才能使用此系統(tǒng)

1.11所有內(nèi)容可以保留到文獻(xiàn)中。下次進(jìn)入系統(tǒng)是從文獻(xiàn)中讀取原有信息

2源代碼

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

〃物業(yè)費(fèi)管理系統(tǒng).cpp

〃計(jì)算機(jī)學(xué)院.?計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)??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(**----歡迎使用物業(yè)費(fèi)管理系

統(tǒng)一??\n“);

#defineCLCsystem(11cisn);toutiao;

typedefstructowner〃業(yè)主構(gòu)造體包括顧客姓名,性

別,身份證號(hào)和號(hào)碼

(

charname[10J;〃業(yè)主姓名

intsex;〃業(yè)主性別1代表男性,0代表女

charID[10];〃業(yè)主身份證號(hào)

charphonenumber[10];〃業(yè)主號(hào)碼

intbuilding_num;〃樓號(hào)

intunitnumber;〃單元號(hào)

inthousenumber;〃房號(hào)

floatarea;〃平方數(shù)

floatunit_price;〃物業(yè)價(jià)格

floatcharge;〃收費(fèi)

charremarks[501;〃備注信息

structowner*next;

JOWNER;

OWNER*CreatNode(OWNER*Head);〃創(chuàng)立業(yè)主信息的函

數(shù)建立鏈表

OWNER*GetData(FILE*fp);〃程序打開的時(shí)候從文獻(xiàn)中

獲取數(shù)據(jù)的函數(shù)

voidDisplay(OWNER*Head);〃顯示所有顧客信息

voidSave(OWNER*Head);〃保留數(shù)據(jù)的函數(shù)

OWNER*Deleat(OWNER*Head);〃刪除函數(shù)

OWNER*Change(OWNER*Head);〃修改函數(shù)

OWNER*Pay(OWNER*Head);〃繳費(fèi)的函數(shù)

OWNER*NumberList(OWNER*Head);〃按照樓號(hào)分類記錄

所有無(wú)交清物業(yè)費(fèi)顯示功能

OWNER*UnChargeList(OWNER*Head);〃可以按照欠款對(duì)所

有顧客的排序

OWNER*AutoChargeAdd(OWNER*Head);〃物業(yè)費(fèi)自動(dòng)生

成函數(shù)

voidTimelnitialValueSet(void);〃第一次運(yùn)行的時(shí)候,加以

運(yùn)算

voidgotoxy(shortx,shorty)//gotoxy函數(shù)

(

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("有關(guān)文獻(xiàn)有損壞,請(qǐng)聯(lián)絡(luò)系統(tǒng)開發(fā)人員!”);

gotoxy(10,6);

printfC聯(lián)絡(luò)方式:");

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「一歡迎使用物業(yè)費(fèi)管理系統(tǒng)\nn);

gotoxy(30,8);

printf(Ml,登錄系統(tǒng)”);

gotoxy(30,10);

printf(M2,退出系統(tǒng)”);

gotoxy(40,14);

printf,請(qǐng)輸入你的J選擇:");

scanf(H%dn,&choice);

returnchoice;

)

voidjiance(void)〃檢測(cè)函數(shù),用于檢測(cè)密碼,顧客名與否對(duì)的I

(

inti,flag=0;

intcount=5;

intlenth=0;

FILE*fpl,時(shí)p2;

charname[20];

charloading[20];

charpassword[10];

charloadingmima[10];

toutiao;

fpl=fopen(”F:\\user.dat”J'P');〃打開顧客名文獻(xiàn)

fp2=fopen(”F:\\password.dat”Jr”);〃打開密碼文獻(xiàn)

do

{

if(fpl==NULL||fp2==NULL)〃當(dāng)打開文獻(xiàn)有錯(cuò)時(shí)

時(shí)候

(

lianxi();

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

(

gotoxy(10,ll);

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

_sleep(10()0);

}

exit(l);

else

(

toutiao;

gotoxy(24,6);〃開始顧客名輸入

printf(”請(qǐng)輸入顧客名和密碼廠);

gotoxy(25,8);

printf(“顧客名:");

gotoxy(25,11);

printf「密碼

Windows();〃對(duì)輸入窗口的調(diào)用

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

gotoxy(37,8);

scanf(M%sM,name);

gotoxy(37,11);

//scanf(M%sH,password);〃完畢對(duì)密碼和顧客

名的輸入

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))〃對(duì)輸入的密碼和顧客名進(jìn)行比較

(

gotoxy(40,13);

printf「賬戶、密碼對(duì)的容許進(jìn)入系統(tǒng)!”);

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

{

gotoxy(43,15);

printf(n%d秒后將登陸系統(tǒng)[i);

_sleep(1000);

)

flag=1;

)

else

(

gotoxy(40,13);

count—;

printf,信息錯(cuò)誤!你尚有%d次機(jī)會(huì)重新輸入密

碼!”,count);

if(count==0)

gotoxy(40,13);

print*”信息錯(cuò)誤!程序即將自動(dòng)結(jié)束!”);

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

(

gotoxy(43,15);

printf,%d秒后結(jié)束程序![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.繳費(fèi)功能”);

gotoxy(10,15);

prmtf(M6.未繳費(fèi)查詢(樓號(hào))”);

gotoxy(10,17);

printf(n7.未繳費(fèi)查詢(欠款)”);

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.自動(dòng)計(jì)算物業(yè)費(fèi),

gotoxy(35,20);

printf,請(qǐng)輸入你的選擇:”);

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.修改號(hào)碼”);

gotoxy(10,11);

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

gotoxy(10,13);

printf(n5.停止修改”);

gotoxy(35,20);

printf("請(qǐng)輸入你的選擇:”);

gotoxy(50,20);

scanf(n%su,str);

returnn=atoi(str);

)

voidxiugaimimaO/〃修改密碼日勺函

數(shù)

(

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);〃打開顧客名文獻(xiàn)

fp2=fopen("F:\\password.dat”Jr”);〃打開密碼文獻(xiàn)

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

(

lianxi();

)

gotoxy(30,5);

printfC請(qǐng)輸入顧客名和密碼廠);

gotoxy(24,8);

printf("本來(lái)顧客名

gotoxy(24,11);

printf,原來(lái)密碼:");

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顧客名對(duì)的產(chǎn));

gotoxy(37,11);

printfC密碼對(duì)的!”);〃在驗(yàn)證這個(gè)對(duì)時(shí)之后調(diào)用一種延

gotoxy(43,13);

printf(”請(qǐng)輸入新密碼!”);

_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("密碼修改成功,請(qǐng)記住密碼!”);

fprintf(fp2,n%sn,Cmimal);

Sleep(2023);

}

else

(

CLC;

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);

gotoxy(30,18);

printf(“兩次密碼輸入不同樣!請(qǐng)?jiān)谥鞒绦蛑性俅芜M(jìn)

入!\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請(qǐng)等待%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輸入有誤!請(qǐng)?jiān)谥鞒绦蛑性俅芜M(jìn)入!\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("請(qǐng)等待%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)〃鏈表的

創(chuàng)立函數(shù)

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沒(méi)有足夠的空間”);

exit(O);

CLC;

p->area=0;

p->unit_price=0;

p->charge=0;

gotoxy(30,3);

printf,請(qǐng)輸入有關(guān)信息!\n”);

printf(”請(qǐng)輸入業(yè)主信息

printfC請(qǐng)輸入業(yè)主名字、性別、身份證號(hào)

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,輸入的信息不符合規(guī)范,請(qǐng)重新輸入!\n姓名9

個(gè)字符,性別由0與1代表,身份證號(hào)9個(gè)字符!\n-);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BTAJF);

printf,請(qǐng)輸入業(yè)主名字、性別、身份證號(hào)了);

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

)

printfC請(qǐng)輸入業(yè)主號(hào)碼:“);

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

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

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

print。輸入的信息不符合規(guī)范,請(qǐng)重新輸入!\n號(hào)碼

9個(gè)字符!\n");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

print。請(qǐng)輸入業(yè)號(hào)碼呼;

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

}

printf,請(qǐng)輸入業(yè)主樓號(hào)、單元號(hào)、房號(hào)”);

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輸入的信息不符合規(guī)范,請(qǐng)重新輸入八n樓號(hào)應(yīng)

不大于10,單元號(hào)不大于10,房間號(hào)不大于3!\n");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

printf,請(qǐng)輸入業(yè)主樓號(hào)、單元號(hào)、房號(hào)”);

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

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

}

printf,請(qǐng)輸入物業(yè)信息八n”);

〃printf("請(qǐng)輸入住房面積、物業(yè)價(jià)格:");

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

prinHT請(qǐng)輸入住房面積、物業(yè)價(jià)格、物業(yè)費(fèi)了);

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

&p->charge);

printfC請(qǐng)輸入備注:");

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

p->next=NULL;

fflush(stdin);

printf("與否繼續(xù)進(jìn)行信息時(shí)錄入?(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數(shù)據(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)〃顯示所有顧客的信息的函數(shù)

inti=0;

OWNER*p=Head;

CLC;

printfC編號(hào)姓名性別身份證號(hào)號(hào)碼單元號(hào)樓號(hào)

房間號(hào)面積單價(jià)收費(fèi)備注\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,目前總?cè)藬?shù):%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這個(gè)文獻(xiàn)不存在!\n”);

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

(

gotoxy(30,ll);

printf「%d秒后自動(dòng)退出!”,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「請(qǐng)輸入你想刪除業(yè)主的名字和身份證號(hào):\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("輸入有誤請(qǐng)重新輸入!長(zhǎng)度應(yīng)當(dāng)不大于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("沒(méi)有這個(gè)業(yè)主%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沒(méi)有任何保留的顧客信息可以進(jìn)行修改!\曖);

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,請(qǐng)輸入你想要修改業(yè)主的名字:”);

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(”請(qǐng)輸入業(yè)主的名字”);

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

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

(

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("輸入的信息不符合規(guī)范,請(qǐng)重

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

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(30,11);

printf(”請(qǐng)輸入業(yè)主名字

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

break;

case2:

CLC;

gotoxy(30,11);

printf,請(qǐng)輸入業(yè)主的性別:”);

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

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

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("輸入的信息不符合規(guī)范,請(qǐng)重

新輸入八n\n");

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(30,11);

printf(”請(qǐng)輸入業(yè)主性別\n:”);

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

}

}

break;

case3:

(

CLC;

gotoxy(30,11);

printf(”請(qǐng)輸入業(yè)主的號(hào)碼:n);

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

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

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

printf("輸入的信息不符合規(guī)范,請(qǐng)重

新輸入!\n\n”);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(30,H);

printf(”請(qǐng)輸入業(yè)主名字:");

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

)

}

break;

case4:

(

CLC;

gotoxy(30,11);

printfC請(qǐng)輸入備注:”);

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沒(méi)有任何保留的顧客信息八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,請(qǐng)輸入想要繳費(fèi)的業(yè)主名字了);

scanf(n%sM,PayName);

printf(n\n請(qǐng)輸入想要繳費(fèi)的業(yè)主ID:n);

scanf(,,%sn,PayTD);

while(p!=NULL)

(

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

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

gotoxy(30,11);

printf("該業(yè)主應(yīng)繳物業(yè)費(fèi)為:%3.2尸,p->charge);

if(p->charge==0)

(

gotoxy(30,18);

printf("此業(yè)主不用繳費(fèi)!”);

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

(

gotoxy(10,11);

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

Sleep(lOOO);

}

returnHead;

)

gotoxy(30,13);

printf(”業(yè)主繳費(fèi)為:”);

scanf(n%fn,&PayMoney);

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

break;

)

p=p->next;

if(p==NULL)

gotoxy(30,13);

printf("沒(méi)有這個(gè)業(yè)主!”);

Sleep(3000);

}

)

Save(Head);

if(flag==1)

{

gotoxy(30,15);

printf("此業(yè)主繳費(fèi)成功!);

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沒(méi)有任何保留的顧客信息!\曖);

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("沒(méi)有任何保留的顧客信息八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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論