c++课程设计,紧急求助!!!

来源:百度知道 编辑:UC知道 时间:2024/06/04 18:18:50
C++题目二十七: 保安值班安排系统(限最多1人完成)
某公司有7名保安人员:赵、钱、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制一程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的休息日如下:
赵:星期二、星期四
钱:星期一、星期六
孙:星期三、星期日
李:星期五
周:星期一、星期四、星期六
吴:星期二、星期五
陈:星期三、星期六、星期日

(用类实现)

现在积分用完了,一定追加。。。。。

#include<stdio.h>
#include<conio.h>
static char *WEEK[7] = {"Sun.", "Mon.", "Tues.", "Wedn.", "Thur.", "Fri.", "Sat."};

int IsChecked(const int pSon[]){
int i, j;
for (i=0; i<7; ++i){
for (j=0; j<7&&pSon[j]!=i; ++j);
if (j == 7) return 0;
}
return 1;
}

void main()
{
int t=0, j, person[7];
long i;
printf("ZHAO, QIAN, SUN, LI, ZHOU, WU, CHEN\n\n");
for (i=0; i<2097152; ++i){
for (j=0; j<7; ++j){
person[j] = (i>>(3*j)) & 7L;
}
if (!(person[0]==2 || person[0]==4))continue;
else if (!(person[1]==1 || person[1]==6))continue;
else if (!(person[2]==3 || person[2]==0))continue;
else if (!(person[3]==5))continue;
else if (!(pe