c语言编程排班表怎么做

时间:2025-01-28 01:32:05 网络游戏

在C语言中制作排班表可以通过多种方法实现,下面是一个简单的示例代码,用于创建一个基本的排班表系统:

```c

include

include

define MAX_EMPLOYEES 10

define MAX_DAYS 7

int main() {

char employees[MAX_EMPLOYEES] = {

"张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十", "郑十一", "郭十二"

};

int schedule[MAX_DAYS][MAX_EMPLOYEES];

int i, j;

// 初始化排班表,-1表示该天该员工不上班,其他数字表示员工编号

for (i = 0; i < MAX_DAYS; i++) {

for (j = 0; j < MAX_EMPLOYEES; j++) {

schedule[i][j] = -1;

}

}

// 填充排班表

for (i = 0; i < MAX_DAYS; i++) {

printf("请输入星期%d的排班情况(输入-1表示休息):\n", i + 1);

for (j = 0; j < MAX_EMPLOYEES; j++) {

printf("请输入%s的排班情况:", employees[j]);

scanf("%d", &schedule[i][j]);

}

}

// 打印排班表

printf("排班表如下:\n");

for (i = 0; i < MAX_DAYS; i++) {

printf("星期%d:\n", i + 1);

for (j = 0; j < MAX_EMPLOYEES; j++) {

if (schedule[i][j] == -1) {

printf("休息\n");

} else {

printf("%s\n", employees[schedule[i][j]]);

}

}

printf("\n");

}

return 0;

}

```

这个程序首先定义了一个二维数组`schedule`来存储排班信息,然后通过两个嵌套的for循环来初始化排班表。用户可以输入每一天每个员工的排班情况,程序会打印出最终的排班表。

如果你需要更复杂的排班系统,比如考虑员工的休息日、特殊需求或者更复杂的排班规则,你可能需要使用更高级的数据结构和算法,例如递归算法来尝试所有可能的排班组合,或者使用图论中的算法来解决排班问题。这些高级方法超出了简单示例的范围,但可以通过类似的方法实现。