物业维修管理系统

2024-06-02 21:32
文章标签 管理系统 物业 维修

本文主要是介绍物业维修管理系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

#include<iostream>
#include<vector>
#include<cstdio>
#include<fstream>
#include<string>
#include <iomanip>
using namespace std;typedef struct Date
{int year;int mon;int day;
}Date;class Record
{
public:int floor;//楼号int house;//房号Date book;//预约时间Date actual;//实际维修时间char content[20];//维修内容float money;//收费float cost;//成本char name[20];//维修人char more[20];//备注
};class Manage
{
public:Manage();void Run();
private:void TotalRec();void SelectRec();void AltRec();void DelRec();void PrintAllRec();void NewRec();void Menu();void LoadFile();void SaveFile();vector<Record> rec;
};void Manage::TotalRec()
{int arr[100];int len=0,i;float summ=0,sumc=0;int count[100]={0};system("cls");if(rec.size()<=0){cout<<"无维修记录!"<<endl;system("pause");return;}vector<Record>::iterator it;for(it = rec.begin();it!=rec.end();it++){for(i=0;i<len;i++)//查找楼号是否记录{if(arr[i]==it->floor){count[i]++;break;}}if(i==len)//说明没有找到 没被记录过{arr[len]=it->floor;count[len]=1;len++;}summ+=it->money;sumc+=it->cost;}for(i=0;i<len;i++){cout<<"楼号:"<<arr[i]<<"维修记录数量:"<<count[i]<<endl;}cout<<endl;cout<<"总维修收费金额:"<<summ<<endl;cout<<"总材料成本金额:"<<sumc<<endl;system("pause");
}void Manage::SelectRec()
{int t1,t2;bool flag=true;Date d;system("cls");cout<<"请输入截止日期(year mon day):";cin>>d.year>>d.mon>>d.day;t1=d.year*10000 + d.mon*100 +d.day;//将日期转换成YYYYMMDD的形式 便于比较大小vector<Record>::iterator it;for(it = rec.begin();it!=rec.end();it++){t2=it->book.year*10000 + it->book.mon*100 + it->book.day;if(t2>t1){if(flag){cout<< std::left <<setw(10)<<"维修住户";cout<< std::left <<setw(14)<<"预约日期";cout<< std::left <<setw(14)<<"实际日期";cout<< std::left <<setw(10)<<"维修内容";cout<< std::left <<setw(10)<<"收费金额";cout<< std::left <<setw(10)<<"成本金额";cout<< std::left <<setw(10)<<"维修人";cout<< std::left <<setw(10)<<"备注"<<endl;}cout<< std::left <<setw(4)<<it->floor<<"-"<< std::left <<setw(4)<<it->house<<"  ";cout<< std::left <<setw(4)<<it->book.year<<"-"<< std::left <<setw(2)<<it->book.mon<<"-"<< std::left <<setw(2)<<it->book.day<<"    ";cout<< std::left <<setw(4)<<it->actual.year<<"-"<< std::left <<setw(2)<<it->actual.mon<<"-"<< std::left <<setw(2)<<it->actual.day<<"    ";cout<< std::left <<setw(10)<<it->content;cout<< std::left <<setw(10)<<it->money;cout<< std::left <<setw(10)<<it->cost;cout<< std::left <<setw(10)<<it->name;cout<< std::left <<setw(10)<<it->more<<endl;flag=false;}}if(flag){cout<<"无该到期记录!"<<endl;}system("pause");
}//由于没有主键 用楼号+房号+实际维修日期作为候选键查询以及删除修改
void Manage::AltRec()
{int f,h;bool flag=true;Date d;system("cls");cout<<"请输入要修改的维修住户(楼号 房号):";cin>>f>>h;cout<<"请输入实际维修日期(year mon day):";cin>>d.year>>d.mon>>d.day;vector<Record>::iterator it;for(it = rec.begin();it!=rec.end();it++){if(it->floor==f && it->house==h &&it->actual.year==d.year &&it->actual.mon==d.mon && it->actual.day == d.day){cout<< std::left <<setw(10)<<"维修住户";cout<< std::left <<setw(14)<<"预约日期";cout<< std::left <<setw(14)<<"实际日期";cout<< std::left <<setw(10)<<"维修内容";cout<< std::left <<setw(10)<<"收费金额";cout<< std::left <<setw(10)<<"成本金额";cout<< std::left <<setw(10)<<"维修人";cout<< std::left <<setw(10)<<"备注"<<endl;cout<< std::left <<setw(4)<<it->floor<<"-"<< std::left <<setw(4)<<it->house<<"  ";cout<< std::left <<setw(4)<<it->book.year<<"-"<< std::left <<setw(2)<<it->book.mon<<"-"<< std::left <<setw(2)<<it->book.day<<"    ";cout<< std::left <<setw(4)<<it->actual.year<<"-"<< std::left <<setw(2)<<it->actual.mon<<"-"<< std::left <<setw(2)<<it->actual.day<<"    ";cout<< std::left <<setw(10)<<it->content;cout<< std::left <<setw(10)<<it->money;cout<< std::left <<setw(10)<<it->cost;cout<< std::left <<setw(10)<<it->name;cout<< std::left <<setw(10)<<it->more<<endl;flag=false;break;}}if(flag){cout<<"修改失败!无该维修记录!"<<endl;}else{Record p;cout<<"请输入维修住户(楼号 房号):";cin>>p.floor>>p.house;cout<<"请输入维修预约日期(year mon day):";cin>>p.book.year>>p.book.mon>>p.book.day;cout<<"请输入实际维修日期(year mon day):";cin>>p.actual.year>>p.actual.mon>>p.actual.day;cout<<"请输入维修内容:";cin>>p.content;cout<<"请输入维修收费金额:";cin>>p.money;cout<<"请输入维修材料成本:";cin>>p.cost;cout<<"请输入维修人:";cin>>p.name;cout<<"请输入备注:";cin>>p.more;rec.push_back(p);//添加新记录rec.erase(it);//删除旧的记录cout<<"修改成功!"<<endl;}system("pause");
}//由于没有主键 用楼号+房号+实际维修日期作为候选键查询以及删除修改
void Manage::DelRec()
{int f,h;bool flag=true;Date d;system("cls");cout<<"请输入要删除的维修住户(楼号 房号):";cin>>f>>h;cout<<"请输入实际维修日期(year mon day):";cin>>d.year>>d.mon>>d.day;vector<Record>::iterator it;for(it = rec.begin();it!=rec.end();it++){if(it->floor==f && it->house==h &&it->actual.year==d.year &&it->actual.mon==d.mon && it->actual.day == d.day){cout<< std::left <<setw(10)<<"维修住户";cout<< std::left <<setw(14)<<"预约日期";cout<< std::left <<setw(14)<<"实际日期";cout<< std::left <<setw(10)<<"维修内容";cout<< std::left <<setw(10)<<"收费金额";cout<< std::left <<setw(10)<<"成本金额";cout<< std::left <<setw(10)<<"维修人";cout<< std::left <<setw(10)<<"备注"<<endl;cout<< std::left <<setw(4)<<it->floor<<"-"<< std::left <<setw(4)<<it->house<<"  ";cout<< std::left <<setw(4)<<it->book.year<<"-"<< std::left <<setw(2)<<it->book.mon<<"-"<< std::left <<setw(2)<<it->book.day<<"    ";cout<< std::left <<setw(4)<<it->actual.year<<"-"<< std::left <<setw(2)<<it->actual.mon<<"-"<< std::left <<setw(2)<<it->actual.day<<"    ";cout<< std::left <<setw(10)<<it->content;cout<< std::left <<setw(10)<<it->money;cout<< std::left <<setw(10)<<it->cost;cout<< std::left <<setw(10)<<it->name;cout<< std::left <<setw(10)<<it->more<<endl;flag=false;break;}}if(flag){cout<<"删除失败!无该维修记录!"<<endl;}else{rec.erase(it);cout<<"删除成功!"<<endl;}system("pause");
}void Manage::PrintAllRec()
{system("cls");if(rec.size()<=0){cout<<"无维修记录!"<<endl;system("pause");return;}cout<< std::left <<setw(10)<<"维修住户";cout<< std::left <<setw(14)<<"预约日期";cout<< std::left <<setw(14)<<"实际日期";cout<< std::left <<setw(10)<<"维修内容";cout<< std::left <<setw(10)<<"收费金额";cout<< std::left <<setw(10)<<"成本金额";cout<< std::left <<setw(10)<<"维修人";cout<< std::left <<setw(10)<<"备注"<<endl;vector<Record>::iterator it;for(it = rec.begin();it!=rec.end();it++){cout<< std::left <<setw(4)<<it->floor<<"-"<< std::left <<setw(4)<<it->house<<"  ";cout<< std::left <<setw(4)<<it->book.year<<"-"<< std::left <<setw(2)<<it->book.mon<<"-"<< std::left <<setw(2)<<it->book.day<<"    ";cout<< std::left <<setw(4)<<it->actual.year<<"-"<< std::left <<setw(2)<<it->actual.mon<<"-"<< std::left <<setw(2)<<it->actual.day<<"    ";cout<< std::left <<setw(10)<<it->content;cout<< std::left <<setw(10)<<it->money;cout<< std::left <<setw(10)<<it->cost;cout<< std::left <<setw(10)<<it->name;cout<< std::left <<setw(10)<<it->more<<endl;}system("pause");
}void Manage::Menu()
{system("cls");cout<<"1:增加维修记录"<<endl;cout<<"2:删除维修记录"<<endl;cout<<"3:修改维修记录"<<endl;cout<<"4:查询到期记录"<<endl;cout<<"5:统计维修记录"<<endl;cout<<"6:显示所有记录"<<endl;cout<<"0:退出"<<endl;cout<<"请输入选项:";
}void Manage::Run()
{string choice;do{Menu();cin>>choice;if(choice=="1"){NewRec();}else if(choice=="2"){DelRec();}else if(choice=="3"){AltRec();}else if(choice=="4"){SelectRec();}else if(choice=="5"){TotalRec();}else if(choice=="6"){PrintAllRec();}}while(choice!="0");SaveFile();
}void Manage::NewRec()
{Record p;system("cls");cout<<"请输入维修住户(楼号 房号):";cin>>p.floor>>p.house;cout<<"请输入维修预约日期(year mon day):";cin>>p.book.year>>p.book.mon>>p.book.day;cout<<"请输入实际维修日期(year mon day):";cin>>p.actual.year>>p.actual.mon>>p.actual.day;cout<<"请输入维修内容:";cin>>p.content;cout<<"请输入维修收费金额:";cin>>p.money;cout<<"请输入维修材料成本:";cin>>p.cost;cout<<"请输入维修人:";cin>>p.name;cout<<"请输入备注:";cin>>p.more;rec.push_back(p);cout<<"添加成功!"<<endl;system("pause");
}Manage::Manage()
{LoadFile();
}void Manage::LoadFile()
{Record p;ifstream fp("record.txt");if(fp.is_open()==false)return;fp.read((char*)&p,sizeof(Record));while(!fp.eof()){rec.push_back(p);fp.read((char*)&p,sizeof(Record));}fp.close();
}void Manage::SaveFile()
{vector<Record>::iterator it;ofstream fp("record.txt");if(fp.is_open()==false)return;for(it=rec.begin();it!=rec.end();it++){fp.write((char*)it,sizeof(Record));}fp.close();
}int main()
{Manage* m= new Manage();m->Run();return 0;
}

这篇关于物业维修管理系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1025136

相关文章

在线装修管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,装修队管理,用户管理,装修管理,基础数据管理,论坛管理 前台账户功能包括:系统首页,个人中心,公告信息,论坛,装修,装修队 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:SpringBoot自带 ap

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 📚 系统功能的具体实现    💬 系统登录注册 系统登录 登录界面   用户添加  💬 抗疫列表展示模块     区域信息管理 添加物资详情 抗疫物资列表展示 抗疫物资申请 抗疫物资审核 ✒️ 源码实现 💖 源码获取 😁 联系方式 📚 前言 📑博客主页:

如何用外呼工具和CRM管理系统形成销售闭环

使用外呼工具和CRM管理系统形成销售闭环是一个系统性的过程,它涉及客户数据的整合、个性化的营销活动、销售与市场活动的协作、顾客行为的追踪与理解以及营销成效的评估与优化等多个环节。 以下是如何将外呼工具和CRM管理系统有效结合以形成销售闭环的步骤: 1. 客户数据的整合与分析    - 外呼工具在与客户进行初步沟通时,会收集到客户的基本信息和初步需求。    - 这些信息随后被输入到CRM管

摄影约拍管理系统

摘 要 摄影约拍管理系统是一种基于SSM框架的系统,旨在为摄影师和用户提供便捷的约拍服务。本文通过对系统的设计与实现,解决了传统约拍方式中存在的信息不对称、预约流程繁琐等问题。本文介绍了系统的研究背景与意义,分析了国内外发展现状,并介绍了相关技术——Java、SSM框架、JavaScript等,明确了研究内容与创新点,且对设计结构进行了分析。此外,文章通过数据库设计和系统非功能设计,搭建了系统环

爱心商城管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,企业管理,用户管理,论坛管理,商品管理,公告管理,用户捐赠 企业账户功能包括:系统首页,个人中心,商品管理,论坛管理,公告管理,公益企业管理,轮播图信息 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:

SpringBoot2+Vue3开发博客管理系统

项目介绍 博客管理系统,可以帮助使用者管理自己的经验文章、学习心得、知识文章、技术文章,以及对文章进行分类,打标签等功能。便于日后的复习和回忆。 架构介绍 博客管理系统采用前后端分离模式进行开发。前端主要使用技术:Vue3+ElementPlus。后端主要使用技术:SpringBoot2+MyBatisPlus+MySQL8+Redis,使用Minio服务做文件存储。 代码结构 后端代码

基于JSP的“塞纳河畔左岸”的咖啡馆管理系统

开头语: 塞纳河畔左岸的咖啡,我手一杯品尝的你美~ 哎哟,不错哦!我们今天来介绍一下咖啡馆管理系统! 你好呀,我是计算机学长猫哥!如果你对咖啡馆管理系统感兴趣或有相关需求,欢迎联系我,我的联系方式在文末。 开发语言: Java 数据库: MySQL 技术: JSP技术 + Java语言 工具: Eclipse、MySQL 系统展示 首页 管理员功能模块

学校报修管理系统

摘 要 随着社会的发展和技术的进步,学校报修管理系统在学校设备维修工作中扮演着至关重要的角色。该系统的设计和实现对于提高学校设备维修效率、优化资源管理、提升用户体验具有重要意义。本论文基于SpringBoot框架,设计并实现了一套学校报修管理系统。 该系统采用B/S架构,前端使用Vue框架,后端使用SpringBoot框架,数据库采用MySQL。系统实现了管理员、维修工和普通用户的不同功能模块,

4、SpringMVC 实战小项目【加法计算器、用户登录、留言板、图书管理系统】

SpringMVC 实战小项目 3.1 加法计算器3.1.1 准备⼯作前端 3.1.2 约定前后端交互接⼝需求分析接⼝定义请求参数:响应数据: 3.1.3 服务器代码 3.2 ⽤⼾登录3.2.1 准备⼯作3.2.2 约定前后端交互接⼝3.2.3 实现服务器端代码 3.3 留⾔板实现服务器端代码 3.4 图书管理系统准备后端 3.1 加法计算器 需求: 输⼊两个整数, 点击"点

艺体培训机构管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,教师管理,学员管理,活动管理,课程管理,选课信息管理 前台账户功能包括:系统首页,个人中心,论坛,活动,课程,公告通知,机构介绍 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:SpringBoot自带