c语言编程排班表代码是什么

fiy 其他 11

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    C语言编程可以实现排班表功能,以下是一个简单的排班表代码示例:

    #include <stdio.h>
    
    #define MAX_EMPLOYEES 10
    #define MAX_DAYS 7
    
    int main() {
        char employees[MAX_EMPLOYEES][20] = {  // 员工姓名列表
            "张三",
            "李四",
            "王五",
            "赵六",
            "钱七",
            "孙八",
            "周九",
            "吴十",
            "郑十一",
            "郭十二"
        };
    
        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:", i + 1);
            for (j = 0; j < MAX_EMPLOYEES; j++) {
                if (schedule[i][j] != -1) {
                    printf("%s ", employees[schedule[i][j]]);
                }
            }
            printf("\n");
        }
    
        return 0;
    }
    

    以上代码实现了一个简单的排班表功能。代码中使用了二维数组来表示排班表,其中行代表每天,列代表每个员工。可以根据需要修改MAX_EMPLOYEESMAX_DAYS的值来适应不同规模的排班表。首先,代码定义了一个员工姓名列表和一个排班表数组。然后,通过循环初始化排班表。接下来,通过嵌套循环填充排班表,用户需要输入每天每个员工的排班情况。最后,打印出排班表的内容。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    以下是一个简单的C语言编程排班表代码示例:

    #include <stdio.h>
    
    #define MAX_EMPLOYEES 10
    #define MAX_DAYS 7
    
    int main() {
        char employees[MAX_EMPLOYEES][20];
        char schedule[MAX_EMPLOYEES][MAX_DAYS];
    
        int numEmployees, numDays;
    
        printf("请输入员工数量:");
        scanf("%d", &numEmployees);
    
        printf("请输入每周工作天数:");
        scanf("%d", &numDays);
    
        // 输入员工名称
        for (int i = 0; i < numEmployees; i++) {
            printf("请输入第%d个员工的姓名:", i+1);
            scanf("%s", employees[i]);
        }
    
        // 输入排班表
        for (int i = 0; i < numEmployees; i++) {
            printf("请输入%s员工的排班表(使用Y表示工作,N表示休息):", employees[i]);
            for (int j = 0; j < numDays; j++) {
                scanf(" %c", &schedule[i][j]);
            }
        }
    
        // 输出排班表
        printf("\n排班表如下:\n");
        printf("姓名\t");
        for (int i = 0; i < numDays; i++) {
            printf("第%d天\t", i+1);
        }
        printf("\n");
    
        for (int i = 0; i < numEmployees; i++) {
            printf("%s\t", employees[i]);
            for (int j = 0; j < numDays; j++) {
                printf("%c\t\t", schedule[i][j]);
            }
            printf("\n");
        }
    
        return 0;
    }
    

    这段代码中,我们使用了一个二维字符数组 employees 来存储每个员工的姓名,schedule 数组用于存储每个员工的排班情况。numEmployeesnumDays 变量分别用于存储员工数量和每周工作天数。

    程序首先会要求用户输入员工数量和每周工作天数,然后通过循环分别输入每个员工的姓名和排班表。输入排班表时,用户需要输入字符 'Y' 表示工作,'N' 表示休息。

    最后,程序会输出排班表,按照姓名和每天的排班情况进行格式化输出。

    注意:上述代码只是一个简单的示例,实际的排班表可能需要更复杂的逻辑和数据结构来实现。

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    下面是一个使用C语言编写的简单排班表代码示例:

    #include <stdio.h>
    #include <stdlib.h>
    
    #define MAX_EMPLOYEES 50
    #define MAX_DAYS 7
    
    typedef struct {
        char name[50];
        int shift[MAX_DAYS];
    } Employee;
    
    void inputEmployee(Employee *employee) {
        printf("请输入员工姓名:");
        scanf("%s", employee->name);
        
        printf("请输入员工每天的班次(1表示上班,0表示休息):\n");
        for (int i = 0; i < MAX_DAYS; i++) {
            printf("第%d天:", i+1);
            scanf("%d", &employee->shift[i]);
        }
    }
    
    void displayEmployee(Employee employee) {
        printf("姓名:%s\n", employee.name);
        printf("排班表:");
        for (int i = 0; i < MAX_DAYS; i++) {
            if (employee.shift[i] == 1) {
                printf("上班 ");
            } else {
                printf("休息 ");
            }
        }
        printf("\n");
    }
    
    int main() {
        int numEmployees;
        
        printf("请输入员工数量:");
        scanf("%d", &numEmployees);
        
        Employee employees[MAX_EMPLOYEES];
        
        for (int i = 0; i < numEmployees; i++) {
            printf("\n请输入第%d个员工的信息:\n", i+1);
            inputEmployee(&employees[i]);
        }
        
        printf("\n排班表如下:\n");
        for (int i = 0; i < numEmployees; i++) {
            printf("\n第%d个员工:\n", i+1);
            displayEmployee(employees[i]);
        }
        
        return 0;
    }
    

    在这个代码示例中,我们使用了一个结构体Employee来表示每个员工的信息,包括姓名和每天的班次。我们定义了常量MAX_EMPLOYEES来表示最大员工数量,MAX_DAYS来表示一周的天数。

    首先,在inputEmployee函数中,我们通过输入来获取每个员工的姓名和每天的班次。然后,在displayEmployee函数中,我们将员工的姓名和排班表打印出来。

    main函数中,我们首先输入员工的数量,并创建一个存储员工信息的数组。然后,使用循环依次输入每个员工的信息,并通过inputEmployee函数来获取输入。最后,通过循环和displayEmployee函数来打印出每个员工的排班表。

    这个代码示例只是一个简单的排班表,你可以根据实际需求进行修改和扩展。比如,你可以添加更多的字段来记录员工的其他信息,或者对排班表进行更复杂的处理。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部