物业费管理系统

上传人:20****08 文档编号:68282652 上传时间:2022-04-02 格式:DOCX 页数:70 大小:39.26KB
返回 下载 相关 举报
物业费管理系统_第1页
第1页 / 共70页
物业费管理系统_第2页
第2页 / 共70页
物业费管理系统_第3页
第3页 / 共70页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上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/*#include #include #include #include #include #include #define toutiao gotoxy(23,1);printf(-欢迎使用物业费管理系统-n);#define CLC system(cls);toutiao;typedef struct owner/业主结构体包括用户姓名,性别,身份证号和电话号码char name10;/业主姓名int sex;/业主性别1代表男性,0代表女性char ID10;/业主身份证号char phonenumber10;/业主电话号码int building_num;/楼号int unitnumber;/单元号int housenumber;/房号float area;/平方数float unit_price; /物业价格float charge;/收费char remarks50;/备注信息struct owner * next;OWNER;OWNER *CreatNode(OWNER *Head);/创建业主信息的函数建立链表OWNER *GetData(FILE *fp);/程序打开的时候从文件中获取数据的函数void Display(OWNER *Head);/显示所有用户信息void Save(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);/物业费自动生成函数void TimeInitialValueSet(void);/第一次运行的时候,加以运算void gotoxy(short x, short y)/gotoxy函数HANDLE hout;COORD coord;coord.X = x;coord.Y = y;hout = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hout, coord);void lianxi(void)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_BLUE|BACKGROUND_RED|BACKGROUND_GREEN);gotoxy(10, 5);printf(相关文件有损坏, 请联系系统开发人员!);gotoxy(10, 6);printf(联系方式:);gotoxy(10, 7);printf(QQ:);gotoxy(10, 8);printf(xxxx);gotoxy(10,9);printf(邮箱:);gotoxy(10, 10);printf(xxxn);void Windows(void)/输入用户名的窗口gotoxy(35,7);printf();gotoxy(35,8);printf( );gotoxy(35,9);printf();gotoxy(35,10);printf();gotoxy(35,11);printf( );gotoxy(35,12);printf();int denglu(void)/登录界面int choice;gotoxy(23, 1);printf(-欢迎使用物业费管理系统-n);gotoxy(30, 8);printf(1, 登录系统);gotoxy(30, 10);printf(2, 退出系统);gotoxy(40, 14);printf(请输入你的选择:);scanf(%d, &choice);return choice;void jiance(void)/检测函数,用于检测密码,用户名是否正确int i, flag = 0;int count = 5;int lenth = 0;FILE *fp1, *fp2;char name20;char loading20;char password10;char loadingmima10;toutiao;fp1 = fopen(F:user.dat, r);/打开用户名文件fp2 = fopen(F:password.dat, r);/打开密码文件do if (fp1 = NULL | fp2 = NULL)/当打开文件有错的时候lianxi();for(i = 1; i 0;i -)gotoxy(10,11);printf(%d秒后退出!,i);_sleep(1000); exit(1);elsetoutiao;gotoxy(24, 6);/开始用户名输入printf(请输入用户名和密码!);gotoxy(25,8);printf(用户名:);gotoxy(25, 11);printf(密 码:);Windows();/对输入窗口的调用/gotoxy(37, 8);scanf(%s, name);gotoxy(37, 11);/scanf(%s, password);/完成对密码和用户名的输入while(lenth 10 & passwordlenth-1 != r)passwordlenth+ = getch();if (passwordlenth-1 != 8)gotoxy(37+lenth-1, 11);putchar(*);elseprintf(b b);lenth-=2;if (lenth 0; i -)gotoxy(43, 15);printf(%d秒后将登陆系统!, i);_sleep(1000); flag = 1;elsegotoxy(40, 13);count-;printf(信息错误!你还有%d次机会重新输入密码!, count);if (count = 0)gotoxy(40, 13);printf(信息错误!程序即将自动结束!);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(%d秒后重新输入!,i);_sleep(1000); system(cls); while (flag = 0);fclose(fp1);fclose(fp2);int menu(void)/主菜单char str10;int n;system(cls);toutiao;gotoxy(10, 5);printf(1. 录入信息);gotoxy(10, 7);printf(2. 浏览信息);gotoxy(10, 9);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(3. 删除信息);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);gotoxy(10, 11);printf(4. 更改信息);gotoxy(10, 13);printf(5. 缴费功能);gotoxy(10, 15);printf(6. 未缴费查询(楼号));gotoxy(10, 17);printf(7. 未缴费查询(欠款));gotoxy(10, 19);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(8. 修改密码);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);gotoxy(10, 21);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);printf(9. 退出程序);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);gotoxy(10, 23);printf(10. 自动计算物业费);gotoxy(35, 20);printf(请输入你的选择: );gotoxy(50, 20);scanf(%s, str);return n = atoi(str);int menu2(void)char str10;int n;system(cls);toutiao;/(23,1)gotoxy(10, 5);printf(1. 修改用户名);gotoxy(10, 7);printf(2. 修改性别);gotoxy(10, 9);printf(3. 修改电话号码);gotoxy(10, 11);printf(4. 修改备注);gotoxy(10, 13);printf(5. 停止修改);/gotoxy(35, 20);printf(请输入你的选择: );gotoxy(50, 20);scanf(%s, str);return n = atoi(str);void xiugaimima()/修改密码的函数FILE *fp1, *fp2;int i;/定义一些常量供使用char Omima10, Oname20;char Cmima110, Cmima210;char mimatemp10, yonghumingtemp20;int lenth = 0;int flag = 0;system(cls);toutiao;fp1 = fopen(F:user.dat, r);/打开用户名文件fp2 = fopen(F:password.dat, r);/打开密码文件if (fp1 = NULL | fp2 = NULL)lianxi();gotoxy(30, 5);printf(请输入用户名和密码!);gotoxy(24, 8);printf(原来用户名:);gotoxy(24, 11);printf(原 来密 码:);Windows();gotoxy(37, 8);scanf(%s, Oname);/gotoxy(37, 11);/scanf(%s, Omima);while(lenth 10 & Omimalenth-1 != r)Omimalenth+ = getch();if (Omimalenth-1 != 8)gotoxy(37+lenth-1, 11);putchar(*);elseprintf(b b);lenth-=2;if (lenth 0)lenth = 0;Omimalenth - 1 = 0;gotoxy(37 + lenth, 11);printf(b b);lenth = 0;fscanf(fp1, %s, yonghumingtemp);fscanf(fp2, %s, mimatemp);if (strcmp(yonghumingtemp, Oname) = 0 & strcmp(mimatemp, Omima) = 0)gotoxy(37, 8);printf(用户名正确!);gotoxy(37, 11);printf(密码正确!);/在验证这个正确之后调用一个延迟gotoxy(43,13);printf(请输入新密码!);_sleep(3000);Windows();gotoxy(18, 8);printf(第一次输入密码 :);gotoxy(18, 11);printf(第二次输入密码 :);/gotoxy(37, 8);/scanf(%s, Cmima1);while(lenth 10 & Cmima1lenth-1 != r)Cmima1lenth+ = getch();if (Cmima1lenth-1 != 8)gotoxy(37+lenth-1, 8);putchar(*);elseprintf(b b);lenth-=2;if (lenth 0)lenth = 0;Cmima1lenth - 1 = 0;gotoxy(37 + lenth, 8);printf(b b);lenth = 0;/gotoxy(37, 11);/scanf(%s, Cmima2);while(lenth 10 & Cmima2lenth-1 != r)Cmima2lenth+ = getch();if (Cmima2lenth-1 != 8)gotoxy(37+lenth-1, 11);putchar(*);elseprintf(b b);lenth-=2;if (lenth 0; i -)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);gotoxy(30, 10);printf(请等待%d秒!, i);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);Sleep(1000);fflush(stdin);elseCLC;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);gotoxy(30, 18);printf(输入有误!请在主程序中再次进入!n);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);for (i = 5; i 0; i -)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);gotoxy(30, 10);printf(请等待%d秒!, i);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);Sleep(1000);fclose(fp1);fclose(fp2);return ;OWNER *GetData(FILE *fp)int n = 0;OWNER *head, *p, *q;head = (OWNER *)malloc(sizeof(OWNER);q = p = head;while(fread(p, sizeof(OWNER), 1, fp)=1)q = p;p = (OWNER *)malloc(sizeof(OWNER);q-next = p;n +;q-next = NULL;free(p);if (n = 0)head = NULL;return head;OWNER *CreatNode(OWNER *Head)/链表的创建函数int i;/OWNER *Head = NULL;system(cls);toutiao;OWNER *p, *temp;p = (OWNER *)malloc(sizeof(OWNER);if (Head = NULL)Head = p;elsetemp = Head;while(temp-next != NULL)temp = temp-next;temp-next = p;while (1)if (p = NULL)system(cls);toutiao;gotoxy(30,11);printf(没有足够的空间);exit(0);CLC;p-area = 0;p-unit_price = 0;p-charge = 0;gotoxy(30, 3);printf(请输入相关信息!n);printf(请输入业主信息:n);printf(请输入业主名字、性别、身份证号:);scanf(%s %d %s, p-name, &p-sex, p-ID);while(strlen(p-name) 9 | (p-sex != 1 & p-sex !=0) | strlen(p-ID) != 9)/SetTextColor(yellow);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(输入的信息不符合规范,请重新输入!n姓名9个字符,性别由0与1代表,身份证号9个字符!n);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);printf(请输入业主名字、性别、身份证号:);scanf(%s %d %s, p-name, &p-sex, p-ID);printf(请输入业主电话号码:);scanf(%s, p-phonenumber);while(strlen(p-phonenumber) 9)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(输入的信息不符合规范,请重新输入!n电话号码9个字符!n);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);printf(请输入业电话号码:);scanf(%s, p-phonenumber);printf(请输入业主楼号、单元号、房号);scanf(%d %d %d, &p-building_num, &p-unitnumber, &p-housenumber);while(p-building_num 10 | p-unitnumber 10 | (p-housenumber housenumber 200)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(输入的信息不符合规范,请重新输入!n楼号应小于10,单元号小于10,房间号小于3!n);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);printf(请输入业主楼号、单元号、房号);scanf(%d %d %d, &p-building_num, &p-unitnumber, &p-housenumber);printf(请输入物业信息:n);/printf(请输入住房面积、物业价格:);/scanf(%f %f, &p-area, &p-unit_price);printf(请输入住房面积、物业价格、物业费:);scanf(%f %f %f, &p-area, &p-unit_price, &p-charge);printf(请输入备注:);scanf(%s, p-remarks);p-next = NULL;fflush(stdin);printf(是否继续进行信息的录入?(y/n);if (toupper(getchar() != Y)p-next= NULL;printf(此次输入已完成);fflush(stdin);/printf(Please press the Enter key to return.n);getchar();system(cls);break;system(cls);temp = p;p = (OWNER *)malloc(sizeof(OWNER);temp-next = p;Save(Head);CLC;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);gotoxy(30, 10);printf(输入的数据保存完毕n);for(i = 5; i 0; i -)gotoxy(30,12);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);printf(保存成功%d秒后返回!,i);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);_sleep(1000); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);return Head;void Display(OWNER *Head)/显示所有用户的信息的函数int i= 0;OWNER *p = Head;CLC;printf(编号 姓名 性别 身份证号 电话号码 单元号 楼号 房间号 面 积 单价 收费 备注n);while(p != NULL)printf(%2d:%-9s %d %-10s %-5s %3d %5d %5d %7.2f %6.2f %4.2f %sn, i + 1, p-name, p-sex, p-ID, p-phonenumber, p-unitnumber, p-building_num,p-housenumber, p-area, p-unit_price, p-charge, p-remarks);i +;p = p-next;printf(当前总人数:%dnn,i);fflush(stdin);printf(Please press the Enter key to return.n);getchar();system(cls);void Save(OWNER *Head)FILE *fp;OWNER *p;int i;CLC;fp = fopen(F:ownerdata.dat, w+);if (fp = NULL)gotoxy(20, 8);printf(这个文件不存在!n);for(i = 1; i 0;i -)gotoxy(30,11);printf(%d秒后自动退出!,i);_sleep(1000); exit(0);p = Head;while (p != NULL)fwrite(p, sizeof(OWNER), 1, fp);p = p-next;fclose(fp);OWNER *Deleat(OWNER *Head)int flag = 0;char DeleatName10, DeleatID10;int i;OWNER *p, *DeleatNode;OWNER *temp;CLC;toutiao;if (Head = NULL)/判断头指针是否为空gotoxy(30, 10);printf(没有任何保存的用户信息!n);for(i = 5; i 0;i -)gotoxy(36,11);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(%d秒后返回!,i);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);_sleep(1000); elseprintf(请输入你想删除业主的名字和身份证号:n);scanf(%s %s, DeleatName, DeleatID);while(strlen(DeleatName) 9 | strlen(DeleatID) != 9)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(输入有误请重新输入!长度应该小于9!n);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);scanf(%s %s, 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 = DeleatNode-next;free(DeleatNode);continue;p = p-next;if (flag = 0)for(i = 5; i 0;i -)gotoxy(36,11);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(没有这个业主%d秒后返回!,i);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);_sleep(1000); return Head;Head = temp-next;Save(Head);for(i = 5; i 0;i -)gotoxy(36,11);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(删除成功%d秒后返回!,i);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);_sleep(1000); return Head;OWNER *Change(OWNER *Head)int Choice, i;char ChangeOwner10;OWNER *p = Head;CLC;toutiao;if (Head = NULL)/判断头指针是否为空gotoxy(30, 10);printf(没有任何保存的用户信息可以进行修改!n);for(i = 5; i 0;i -)gotoxy(36,11);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(%d秒后返回!,i);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);_sleep(1000); return Head;elseprintf(请输入你想要修改业主的名字:);scanf(%s, ChangeOwner);while (p != NULL)if (strcmp(p-name, ChangeOwner) = 0)Choice = menu2();/while(Choice != 5)switch (Choice)case 1:CLC;gotoxy(30, 11);printf(请输入业主的名字);scanf(%s, p-name);while(strlen(p-name) 9 )SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(输入的信息不符合规范,请重新输入!nn);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);gotoxy(30, 11);printf(请输入业主名字:);scanf(%s, p-name);break;case 2:CLC;gotoxy(30, 11);printf(请输入业主的性别:);scanf(%d, &p-sex);while(p-sex != 1 | p-sex != 0)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(输入的信息不符合规范,请重新输入!nn);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);gotoxy(30, 11);printf(请输入业主性别n:);scanf(%d, p-name);break;case 3:CLC;gotoxy(30, 11);printf(请输入业主的电话号码 :);scanf(%s, p-phonenumber);while(strlen(p-phonenumber) 9 )SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);printf(输入的信息不符合规范,请重新输入!nn);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);gotoxy(30, 11);printf(请输入业主名字:);scanf(%s, p-phonenumber);break;case 4:CLC;gotoxy
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!