


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WORD格式课程设计论文题目:用 c+设计一个排课程序学院:专业名称:电子科学与技术班级学号:学生*:指导教师:2021年 6 月专业资料整理WORD格式1专业资料整理WORD格式目录一、 课题背景 .31.1 选题的意义4二、 课题要求 .42.1 设计功能要求42.2报告要求5三、 系统总体方案:53.1 方案描述53.3 各功能模块:6四、 源程序代码7五、 测试数据及结果24六、 总结 .25参考书籍 .26致谢 .26专业资料整理WORD格式2专业资料整理WORD格式摘要:随着社会经济的迅速开展和科学技术的全面进步,计算机事业的飞速开展,以计算机与通信技术为根底的信息系统正处于蓬勃开
2、展的时期。随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。如何通过计算机为我们完成更多的事情,进而到达办公自动化和优化日常工作的目的,也就成了一个群众化的课题。作为计算机应用的一局部,使用计算机对信息进展管理 ,具有与手工管理所无法比拟的优点.例如 :检索迅速、查找方便、可靠性高、存储量大、*性好、寿命长、本钱低等。关键词: 计算机c+ 程序语言排课系统一、课题背景1.1 实际应用的需要近几年来,随着各高校办公自动化工作的推进,教务管理自动化也被摆上了日程。在教务工作中占有很大比重的一项就是每学期的课程排定工作。由于教工、教室和设备的相对紧X,如何进展合理地安排和分配,从
3、而充分利用教学资源是我们不得不面对的问题。而人工进展排课不仅任务重,效率低,而且易出错,难于维护,想要排出一X各方面都满意的课表非常困难。并且随着高校规模的扩大手工排课的难度和工作量呈几何级数增长。学校教务的管理作为高校教育信息化工作中的一项重要工作,如何构建一个具有开放性、实用性和灵活性的平台,是一个值得探讨专业资料整理WORD格式3专业资料整理WORD格式的课题。其中,作为学校教务重点环节之一的排课系统也尤为重要。1.1 选题的意义排课系统正是为了减轻教务人员的工作量,实现教务工作自动化,解决排课这一老大难问题的教务办公软件。尤其针对高校的排课一直都没有很好的解决方法,但是此问题又是每个学
4、校在每个学期都会碰到的必要行政作业。本文在相关理论的指导下,在分析以往一些排课软件的根底上,提出一个高校通用排课系统的设计方法,并对一些具体的问题给出相应解决方案。但是,由于技术、经历的有限和数据量过大,目前我们很难做出一个满足所有需要的排课系统。因为它不仅要考虑到教室冲突问题和教师冲突问题,还要考虑到分段课、单双周课时的资源利用问题;另外由于高校的教学特点,还要处理合班课、分班课、体育课与选修课等特殊课程。针对这些问题,在此专门对数据库设计作了一些探索,并于架构的选择和模块的划分上经过精心调整,在菜单的设计上也表达了人性化的操作。该设计贴近用户需求,功能完整,架构合理,并用大量的框图模型表达
5、了系统的规划。该系统实现上机时间的安排,课程的安排,教室的安排,以及它们之间的不冲突和资源的高效利用;这更切合学院教学需要,降低了排课管理工作的工作量和节省了时间,同时课程安排完成后,学院可迅速获得课表情况信息,为教学工作带来方便。本系统界面友好,操作简单,使用方便。二、课题要求2.1 设计功能要求程序运行时,用户输入教师信息*、教师号、工作量、课程信息课程名、课程号、周学时、总学时、优先级、教师对所希望讲授课程的期望值以及教学工作量等相关信息,所有信息应保存在文件中,程序根据课程的优先级以及教师对课程的期望值进展排课。为了公平起见,程序随机分配课程,如果10门课专业资料整理WORD格式4专业
6、资料整理WORD格式程都有优先级,程序以随机的顺序将这些课程分给教师,如果 10 位教师对某门课程的期望值为 1,程序应从 10位教师中随机选择一个。最后输出排课情况,即某位教师上某门课程,以及某位教师的工作量。测试数据:程序应能实现对不少于 20门课和 10个教师的排课,并且使每个教师的满意度到达最大,不存在工作量不满的教师以及未分配的课等情况。2.2 报告要求1封面2. 课程设计报告:3. 系统总体方案 设计思路和主要步骤 各功能模块和流程图 设计代码 心得体会和参考资料三、系统总体方案:3.1 方案描述某学校每位教师都有教学工作量,教师对他所希望讲授的课程表达为一个期望值, 1,2, ,
7、 n,其中 1是最高的期望值。课程也有优先级, 1,2, , n,用来决定将课程分给教师的顺序,其中 1是高的优先级。设计一个程序针对某些课程给某些教师进展排课。要求:一程序运行时,用户输入教师信息*、教师号、工作量、课程信息课程名、课程号、周学时、总学时、优先级,教师对所希望讲授课程的期望值以及教学工作量等相关信息,所有信息应保存在文件中。二程序根据课程的优先级以及教师对课程的期望值进展排专业资料整理WORD格式5专业资料整理WORD格式课。最后输出排课情况,即某位教师上某门课程,以及某位教师的工作量。三可以实现对文件的修改。四可以在各个界面中实现退出以及进入的循环。五可以退出本系统。六程序
8、应能实现对不少于 20门课和 10个教师的排课,并且使每个教师的满意度到达最大,不存在工作量不满的教师以及未分配的课等情况。3.2 系统设计框图:3.3 各功能模块:命令对应函数功能描述1input_teacher输入数据并写入文件2input_course输入数据并写入文件3input_num输入数据并写入文件4arranging排课5print输出排课结果专业资料整理WORD格式6专业资料整理WORD格式6print_help帮助7print_teacher输出文件信息8print_course输出文件信息9print_num输出文件信息10change修改文件信息四、源程序代码Teach
9、er.h:#include<iostream.h>#include<string.h>class teacher private:char name11;int id;int work_load;int total;public:teacher();void set_teacher(char *pn,int i,int w);void set_total(int t) total=t; char *get_name()return name;int get_id()return id;int get_work_load()return work_load;int get
10、_total()return total;void print();teacher:teacher() strcpy(name,"无");专业资料整理WORD格式7专业资料整理WORD格式id=0;work_load=0;total=0; void teacher:set_teacher(char *pn,int i,int w) strcpy(name,pn); id=i;work_load=w; void teacher:print() cout<<"* :"<<name<<endl;cout<<&qu
11、ot;编号 :"<<id<<endl;cout<<" 工作量 :"<<work_load<<endl;Course.h:#include<string.h>class course private:char course_name15;int course_id;int week_hour;int total_hour;int N;public:course(void);void set_course(char *pname,inti,int w,int t,intn)char *get_co
12、urse_name()return course_name;int get_course_id()return course_id;int get_week_hour()return week_hour;int get_total_hour()return total_hour;int get_N()return N;void print();course:course(void) strcpy(course_name,"无");专业资料整理WORD格式8专业资料整理WORD格式course_id=0;week_hour=0;total_hour=0;N=0; void c
13、ourse:set_course(char *pname,int i,int w,int t,in t n) strcpy(course_name,pname); course_id=i;week_hour=w;total_hour=t;N=n; void course:print() cout<<" 课程名: "<<course_name<<endl; cout<<" 编号 :"<<course_id<<endl;cout<<"周学时: "<&
14、lt;week_hour<<endl;cout<<"总学时: "<<total_hour<<endl;cout<<"优先级: "<<N<<endl; void course:print() cout<<"课程名: "<<course_name<<endl;cout<<" 编号 :"<<course_id<<endl; cout<<" 周学时
15、: "<<week_hour<<endl; cout<<" 总学时: "<<total_hour<<endl; cout<<" 优先级: "<<N<<endl; x=0; y=0; void set_x(int a) x=a; void set_y(int b) y=b; int get_x()return x;int get_y()return y;排课 .cpp:#include<iostream.h>专业资料整理WORD格式9专业资
16、料整理WORD格式#include <stdlib.h>#include<fstream.h>#include<iomanip.h>#include<stdio.h>#include"teacher.h"#include"course.h"#include"arrange.h"#include <time.h>/using namespace std;void input_teacher(teacher *t,int n,int m);void input_course(co
17、urse *c,int m);void input_num(int *num,int n,int m);void arranging(int *num,teacher *t,course *c,arrange *a ,int n,int m);void print(teacher *t,course *c,arrange *a,int m); void print_help();void print_teacher();void print_course();void print_num();void change(int *num,teacher *t,course *c,arrange *
18、a,in t n,int m);void change_teacher(teacher *t,int n);void change_course(course *c,int m);void change_num(teacher *t,course *c,int *num,int n,int m);void main() int i,n,m;cout<<"=教师排课系统="<<endl;cout<<"教师人数: "cin >>n;cout<<"课程数: "cin>>
19、m;int* num=new int*n;for(i=0; i<n; +i) numi=new intm; teacher *t;course *c;arrange *a;t=new teachern;专业资料整理WORD格式10专业资料整理WORD格式c=new coursem;a=new arrangem;if(t=NULL|c=NULL|a=NULL) cout<<" 内存分配失败 "<<endl; returncout<<"1.输入教师根本数据 n"cout<<"2.输入课程根本数据
20、 n"cout<<"3.输入教师对课程满意度 n"cout<<"4.排课 n"cout<<" 5.输出排课结果 n"cout<<"6.帮助 n"cout<<" 7.输出教师信息 n"cout<<"8.输出课程信息 n"cout<<" 9.输出教师对课程满意度 n"cout<<"10.修改文件数据 n"cout<<&quo
21、t;0.退出 n"cout<<"n输入你的选择 :"int ch;Do /cout<<"nn请选择 :n"/cout<<"1.输入教师根本数据 n"/cout<<"2.输入课程根本数据 n"/cout<<"3.输入教师对课程满意度 n"/cout<<"4.排课 n"/cout<<"5.输出排课结果 n"/cout<<"6.帮助 n"
22、/cout<<"0.退出 n"/cout<<"n输入你的选择 :"cin>>ch;switch(ch) case 1 : input_teacher(t,n,m);break; case 2 : input_course(c,m);break; case 3 : input_num(num,n,m);break;case 4 : arranging(num,t,c,a,n,m);break;case 5 : print(t,c,a,m);break;case 6 : print_help();break;case 7
23、: print_teacher();break;专业资料整理WORD格式11专业资料整理WORD格式case 8 : print_course();break;case 9 : print_num();break;case 10: change(num,t,c,a,n,m);break;case 0 : break;while(ch);for(i=0; i<n; +i) delete numi; delete num;delete t;delete c;delete a; void input_teacher(teacher *t,int n,int m) fstream teacher
24、s("d:teachers.txt",ios:out);teachers<<"* "<<setw(20)<<" 编号 "<<setw(20)<<" 工作量<<endl;int i,j,work,id;char name11,nn11;cout<<"n请输入教师根本数据 :"<<endl;while(1) int total=0; for(i=0;i<n;i+) cout<<" 第 &
25、quot;<<i+1<<" 个教师 :n" cout<<" 编号 :"while(1) if (cin >> id) break;else cout<<" 编号应为数字,请重新输入: "<<endl; cin.clear();cin.ignore();cout<<"* :"while(1) cin>>name; for(j=0;j<11;j+) if( ('!'<=namej&&
26、;namej<='')|(''<=namej&&namej< ='')|''<=namej&&namej<='' )nnj=0;专业资料整理WORD格式12专业资料整理WORD格式elsennj=1; if(nn0*nn1*nn2*nn3*nn4*nn5*nn6*nn7*nn8*nn9*nn10=1) break;elsecout<<" *应为字母,请重新输入<<endl; cin.clear();cin.ignore(
27、); cout<<" 工作量 :"while(1) if (cin >> work) break; else cout<<" 工作量应为数字,请重新输入: "<<endl; cin.clear();cin.ignore(); total=total+work;if(total>m) cout<<"总工作量大于课程数,请重新输入:"<<endl;break;ti.set_teacher(name,id,work);teachers<<name<
28、;<setw(20)<<id<<setw(20)<<work<<endl;if(total=m) break;if(total>m) continue;teachers.close(); void input_course(course *c,int m) fstream courses("d:courses.txt",ios:out);courses<<" 课程名 "<<setw(10)<<" 课程号 "<<setw(10)&
29、lt;<"周学时 "<<setw(10)<<" 总学时 "<<setw(10)<<" 优先级 "<<endl; int week_hour,total_hour,d1,id,i,j;char name11; char nn11; for(i=0;i<m;i+) cout<<" 第"<<i+1<<" 门课 :n"cout<<" 课程号 :"while(1)专业
30、资料整理WORD格式13专业资料整理WORD格式 if (cin >> id) break; else cout<<" 课程号应为数字,请重新输入: "<<endl; cin.clear();cin.ignore(); cout<<" 课程名 :"while(1) cin>>name; for(j=0;j<11;j+) if( ('!'<=namej&&namej<='')|(''<=namej&&a
31、mp;name j<='')|''<=namej&&namej<='' )nnj=0;elsennj=1;if(nn0*nn1*nn2*nn3*nn4*nn5*nn6*nn7*n n8*nn9*nn10=1) break;else cout<<" 课程名应为字母,请重新输入: "<<endl; cin.clear();cin.ignore(); cout<<" 周学时 :" while(1) if (cin >> week_h
32、our ) break;else cout<<"周学时应为数字,请重新输入: "<<endl;cin.clear();cin.ignore(); cout<<"总学时 :"while(1) if (cin >> week_hour ) break; else cout<<" 周学时应为数字,请重新输入: "<<endl; cin.clear();专业资料整理WORD格式14专业资料整理WORD格式cin.ignore(); cout<<"总学
33、时 :"while(1) if (cin >> total_hour ) break; else cout<<" 总学时应为数字,请重新输入: "<<endl; cin.clear();cin.ignore(); cout<<"优先级 :"while(1) if (cin>>d1) break; else cout<<" 优先级应为数字,请重新输入: "<<endl; cin.clear();cin.ignore(); ci.set_cour
34、se(name,id,week_hour,total_hour,d1); courses<<name<<setw(10)<<id<<setw(10)<<week_hour<<setw(10)<<total_hour<<setw(10)<<d1<<endl;courses.close(); void input_num(int *num,int n,int m) /教师对课程满意度输入 fstream nums("d:hope.txt",ios:out);
35、nums<<setw(4)<<" 满意度 "<<setw(6); int nu,i,j,k;for(k=0;k<m;k+) nums<<"第 "<<k+1<<"门课程 "<<setw(5);nums<<endl;for(i=0;i<n;i+) nums<<" 第"<<i+1<<" 名教师 "<<setw(3); for(j=0;j<m;
36、j+) cout<<" 第"<<i+1<<" 位教师对第 "<<j+1<<" 门课程的 满意度 "<<endl;/cin>>nu;专业资料整理WORD格式15专业资料整理WORD格式while(1) if (cin >> nu) break;else cout<<" 满意度应为数字,请重新输入: "<<endl; cin.clear();cin.ignore();numij=nu;nums<
37、<nu<<setw(13);nums<<endl;nums.close();void arranging(int *num,teacher *t,course *c,arrange *a,int n,int m) /排课 int h,s,i,j,b,k=1,min,min1,q=0; min=c0.get_N();srand(unsigned)time(NULL);for(s=0;s<m;s+) if(cs.get_N()<min) min=cs.get_N();while(h)for(i=0;i<m;i+)if(ci.get_N()=min)
38、/判断课程优先级 min1=num0i; for(j=0;j<n;j+) if( numji<min1&&tj.get_total()<tj.get_work_load() )min1=numji;while(1>0) b=rand()%n; if(b>n)专业资料整理WORD格式16专业资料整理WORD格式continue;else if(tb.get_total()>tb.get_work_load()continue;else if(numbi!=min1)continue;else aq.set_x(b);aq.set_y(i);q+
39、; int w=tb.get_total()+1; tb.set_total(w);/k=0;cout<<"第"<<q<<" 次排课 "<<endl;break; /if(i=m-1) min+;min+;if(q<m) h=1;else h=0; void print(teacher *t,course *c,arrange *a,int m) /输出排课结果 int i,a1,b1; for(i=0;i<m;i+) a1=ai.get_x();b1=ai.get_y();cout<&l
40、t;" 第"<<a1+1<<"位教师上第 "<<b1+1<<"门课"<<endl;ta1.print();cb1.print(); void print_help() /帮助函数 cout<<" 1.输入教师根本数据 n"cout<<" 2.输入课程根本数据 n"cout<<" 3.输入教师对课程满意度 n"cout<<" 4.排课 n"cout&l
41、t;<" 5.输出排课结果 n"cout<<" 6.帮助 n"cout<<" 7.输出教师信息 n"专业资料整理WORD格式17专业资料整理WORD格式cout<<" 8.输出课程信息 n"cout<<" 9.输出教师对课程满意度 n"cout<<" 10.修改文件数据 n"cout<<" 0.退出 n" void print_teacher() /输出教师信息 ifstream
42、 fin("d:teachers.txt",ios:nocreate); if(!fin) cout<<"File open error!n"return;char c80;while(!fin.eof() /判断文件是否读完毕 fin.read(c,80); cout.write(c,fin.gcount();fin.close();void print_course() /输出课程信息 ifstream fin("d:courses.txt",ios:nocreate); if(!fin) cout<<&q
43、uot;File open error!n"return;char c80;while(!fin.eof() fin.read(c,80);cout.write(c,fin.gcount();fin.close(); void print_num()/输出教师对课程的满意度 ifstream fin("d:hope.txt",ios:nocreate); if(!fin) if(!fin) cout<<"File open error!n"return;char c80;while(!fin.eof() /判断文件是否读完毕专业资料
44、整理WORD格式18专业资料整理WORD格式fin.read(c,80);cout.write(c,fin.gcount(); fin.close(); void change(int *num,teacher *t,course *c,arrange *a,int n,int m)/修改文件信息 int ch;do cout<<"nn请选择 :n"cout<<" 1.修改教师根本数据 n"cout<<" 2.修改课程根本数据 n"cout<<" 3.修改教师对课程满意度 n&
45、quot;cout<<" 0.退出 n"cout<<"n输入你的选择 :"cin>>ch;switch(ch) case 1 : change_teacher(t,n);break; case 2 : change_course(c,m);break;case 3 : change_num(t,c,num,n,m);break;case 0 : break; while(ch); void change_teacher(teacher *t,int n) int i,aa,bb,k,j,ii;char na11;cha
46、r nn11;cout<<" 请输入要修改教师编号:"cin>>ii;for(i=0;i<n;i+)if(ti.get_id()=ii) cout<<"此教师原信息: "<<endl;ti.print();k=i;cout<<" 请输入此教师新信息: "<<endl;cout<<" 编号 :"while(1) if (cin >> aa) break;else专业资料整理WORD格式19专业资料整理WORD格式 c
47、out<<" 编号应为数字,请重新输入: "<<endl; cin.clear();cin.ignore(); cout<<"* :"while(1) cin>>na; for(j=0;j<11;j+) if( ('!'<=naj&&naj<='')|(''<=naj&&naj<='')|''<=naj&&naj<='' )
48、nnj=0;elsennj=1;if(nn0*nn1*nn2*nn3*nn4*nn5*nn6*nn7*nn8*nn9*nn10=1) break;else cout<<" *应为字母,请重新输入:"<<endl;"<<endl;cin.clear();cin.ignore(); cout<<" 工作量 :" while(1) if (cin >> bb) break;else cout<<" 工作量应为数字,请重新输入: "<<endl; c
49、in.clear();cin.ignore(); tk.set_teacher(na,aa,bb);fstream teachers("d:teachers.txt",ios:out);teachers<<" * "<<setw(20)<<" 编号 "<<setw(20)<<" 工作量 "<<endl;for(j=0;j<n;j+) if(j=k) teachers<<na<<setw(20)<<aa&
50、lt;<setw(20)<<bb<<endl; else专业资料整理WORD格式20专业资料整理WORD格式teachers<<tj.get_name()<<setw(20)<<tj.get_id()<< setw(20)<<tj.get_work_load()<<endl;teachers.close();void change_course(course *c,int m) /修改课程信息 int i,aa,bb,cc,dd,k,j,ii; char na11; char nn11;cou
51、t<<" 请输入要修改课程编号:"cin>>ii;for(i=0;i<m;i+)if(ci.get_course_id()=ii) cout<<" 此课程原信息: "<<endl; ci.print();k=i;cout<<" 请输入此课程新信息: "<<endl;cout<<"课程号 :"while(1) if (cin >>aa) break;else cout<<" 课程号应为数字,请重
52、新输入: "<<endl; cin.clear();cin.ignore(); cout<<" 课程名 :"while(1) cin>>na; for(j=0;j<11;j+) if ( ('!'<=naj&&naj<='')|(''<=naj&&naj< ='')|''<=naj&&naj<='' )nnj=0; else nnj=1; if(
53、nn0*nn1*nn2*nn3*nn4*nn5*nn6*nn7*nn8*nn9*nn10=1) break; else cout<<" 课程名应为字母,请重新输入: "<<endl; cin.clear();专业资料整理WORD格式21专业资料整理WORD格式cin.ignore(); cout<<"周学时 :"while(1) if (cin >> bb ) break; else cout<<" 周学时应为数字,请重新输入: "<<endl; cin.clea
54、r();cin.ignore(); cout<<" 总学时 :"while(1) if (cin >> cc ) break; else cout<<" 总学时应为数字,请重新输入: "<<endl; cin.clear();cin.ignore(); cout<<" 优先级 :"while(1) if (cin >> dd) break; elsecout<<" 优先级应为数字,请重新输入:"<<endl; cin.c
55、lear();cin.ignore(); ck.set_course(na,aa,bb,cc,dd);fstream courses("d:courses.txt",ios:out);courses<<" 课程名 "<<setw(10)<<" 课程号 "<<setw(10)<<" 周学时 "<<setw(10)<<" 总学时 "<<setw(10)<<" 优先级 "&l
56、t;<endl; for(j=0;j<m;j+) if(j=k) courses<<na<<setw(10)<<aa<<setw(10)<<bb<<setw(10)<<cc<<s etw(10)<<dd<<endl;else courses<<cj.get_course_name()<<setw(10)<<cj.get_cour se_id()<<setw(10)<<cj.get_week_hour()&
57、lt;<setw(10)<<cj. get_total_hour()<<setw(10)<<cj.get_N()<<endl; courses.close();专业资料整理WORD格式22专业资料整理WORD格式void change_num(teacher *t,course *c,int *num,int n,int m) int ii,jj,i,j,k,nn,a1,b1,c1;cout<<" 请输入要修改的教师的编号:"while(1)if (cin >> ii) break;else cout<<" 满意度应为数字,请重新输入: "<<endl; cin.clear();cin.ignore();for(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七楼买卖合同范例
- 中石油员工业绩合同范例
- 信托保证合同范例
- 公司地毯清洗合同范例
- 6人股合同范例
- 公司车过户合同范例
- 京东废纸回收合同范例
- 二手设备采购标准合同范例
- 代加工制作合同范例
- 个体餐饮招工合同范例
- 化粪池、隔油池清掏承揽合同2025年
- 收藏证书内容模板
- 不锈钢管接件行业市场发展及发展趋势与投资战略研究报告
- 部编人教版三年级语文下册知识分类专项训练(附答案)
- 管理心理学-第一次形成性考核-国开(SC)-参考资料
- 大学计算机基础知到智慧树章节测试课后答案2024年秋海南师范大学
- 《矿山隐蔽致灾因素普查规范》解读培训
- 第二届代理记账业务技能试题题库及答案
- 2024年版钢箱梁制造与安装合同3篇
- 考而析得失思而明未来-考后分析班会-主题班会 课件
- 物业业主入住仪式活动方案
评论
0/150
提交评论