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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1問題描述

1.1使用鏈表文獻

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

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

1.3修改住戶信息的功能

1.4刪除住戶信息的功能

1.5應繳物業(yè)費自動生成。每月1號,自動生成本月份的物業(yè)費。假如該住戶之前的物

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

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

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

1.8可以按拖欠款項多少,對所有顧客信息進行從大到小排序

1.9川菜單進行管理

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

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

2源代碼

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

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

〃計算機學院.?計算機科學與技術專業(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è)費管理系

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

#defineCLCsystem(11cisn);toutiao;

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

別,身份證號和號碼

(

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

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

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

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

intbuilding_num;〃樓號

intunitnumber;〃單元號

inthousenumber;〃房號

floatarea;〃平方數(shù)

floatunit_price;〃物業(yè)價格

floatcharge;〃收費

charremarks[501;〃備注信息

structowner*next;

JOWNER;

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

數(shù)建立鏈表

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

獲取數(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);〃繳費的函數(shù)

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

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

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

有顧客的排序

OWNER*AutoChargeAdd(OWNER*Head);〃物業(yè)費自動生

成函數(shù)

voidTimelnitialValueSet(void);〃第一次運行的時候,加以

運算

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

gotoxy(10,6);

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

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è)費管理系統(tǒng)\nn);

gotoxy(30,8);

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

gotoxy(30,10);

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

gotoxy(40,14);

printf,請輸入你的J選擇:");

scanf(H%dn,&choice);

returnchoice;

)

voidjiance(void)〃檢測函數(shù),用于檢測密碼,顧客名與否對的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「賬戶、密碼對的容許進入系統(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,信息錯誤!你尚有%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.自動計算物業(yè)費,

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/〃修改密碼日勺函

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

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)〃鏈表的

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

exit(O);

CLC;

p->area=0;

p->unit_price=0;

p->charge=0;

gotoxy(30,3);

printf,請輸入有關信息!\n”);

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

printfC請輸入業(yè)主名字、性別、身份證號

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ī)范,請重新輸入!\n姓名9

個字符,性別由0與1代表,身份證號9個字符!\n-);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BTAJF);

printf,請輸入業(yè)主名字、性別、身份證號了);

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

)

printfC請輸入業(yè)主號碼:“);

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

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

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

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

9個字符!\n");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

print。請輸入業(yè)號碼呼;

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

}

printf,請輸入業(yè)主樓號、單元號、房號”);

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ī)范,請重新輸入八n樓號應

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

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

printf,請輸入業(yè)主樓號、單元號、房號”);

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

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

}

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

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

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

prinHT請輸入住房面積、物業(yè)價格、物業(yè)費了);

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

&p->charge);

printfC請輸入備注:");

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

p->next=NULL;

fflush(stdin);

printf("與否繼續(xù)進行信息時錄入?(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編號姓名性別身份證號號碼單元號樓號

房間號面積單價收費備注\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,目前總人數(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這個文獻不存在!\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「請輸入你想刪除業(yè)主的名字和身份證號:\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("沒有這個業(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沒有任何保留的顧客信息可以進行修改!\曖);

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

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

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

(

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

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

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

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(30,11);

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

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

break;

case2:

CLC;

gotoxy(30,11);

printf,請輸入業(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ī)范,請重

新輸入八n\n");

SetConsoIeTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(30,11);

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

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

}

}

break;

case3:

(

CLC;

gotoxy(30,11);

printf(”請輸入業(yè)主的號碼:n);

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

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

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);

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

新輸入!\n\n”);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HA

NDLE),FOREGROUND_GREEN|FOREGROUND_RED|FORE

GROUND_BLUE);

gotoxy(30,H);

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

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,請輸入想要繳費的業(yè)主名字了);

scanf(n%sM,PayName);

printf(n\n請輸入想要繳費的業(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è)費為:%3.2尸,p->charge);

if(p->charge==0)

(

gotoxy(30,18);

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

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

(

gotoxy(10,11);

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

Sleep(lOOO);

}

returnHead;

)

gotoxy(30,13);

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

scanf(n%fn,&PayMoney);

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

break;

)

p=p->next;

if(p==NULL)

gotoxy(30,13);

printf("沒有這個業(yè)主!”);

Sleep(3000);

}

)

Save(Head);

if(flag==1)

{

gotoxy(30,15);

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

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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論