c语言程序设计职工考勤系统代码(输出用中文显示)
时间: 2024-01-13 17:02:55 浏览: 106
考勤系统代码
这是一个简单的职工考勤系统的 C 语言程序设计代码,输出使用了中文显示:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STAFF 100 // 最大职工人数
typedef struct {
char name[20]; // 姓名
int id; // 工号
int hours; // 工作时长
} Staff;
int main()
{
Staff staffs[MAX_STAFF];
int count = 0; // 当前职工人数
int choice;
do {
printf("职工考勤系统\n");
printf("1. 添加职工\n");
printf("2. 删除职工\n");
printf("3. 修改职工工时\n");
printf("4. 查询职工信息\n");
printf("5. 显示所有职工信息\n");
printf("0. 退出系统\n");
printf("请选择操作:");
scanf("%d", &choice);
printf("\n");
switch (choice) {
case 1: { // 添加职工
if (count >= MAX_STAFF) {
printf("职工已满,无法添加!\n");
break;
}
Staff new_staff;
printf("请输入职工姓名:");
scanf("%s", new_staff.name);
printf("请输入职工工号:");
scanf("%d", &new_staff.id);
printf("请输入职工工作时长:");
scanf("%d", &new_staff.hours);
staffs[count] = new_staff;
count++;
printf("添加成功!\n");
break;
}
case 2: { // 删除职工
if (count == 0) {
printf("没有职工可删除!\n");
break;
}
int staff_id;
printf("请输入要删除的职工工号:");
scanf("%d", &staff_id);
int i;
for (i = 0; i < count; i++) {
if (staffs[i].id == staff_id) {
memmove(staffs + i, staffs + i + 1, (count - i - 1) * sizeof(Staff));
count--;
printf("删除成功!\n");
break;
}
}
if (i == count) {
printf("没有找到该职工!\n");
}
break;
}
case 3: { // 修改职工工时
if (count == 0) {
printf("没有职工可修改!\n");
break;
}
int staff_id;
printf("请输入要修改的职工工号:");
scanf("%d", &staff_id);
int i;
for (i = 0; i < count; i++) {
if (staffs[i].id == staff_id) {
printf("请输入新的工作时长:");
scanf("%d", &staffs[i].hours);
printf("修改成功!\n");
break;
}
}
if (i == count) {
printf("没有找到该职工!\n");
}
break;
}
case 4: { // 查询职工信息
if (count == 0) {
printf("没有职工可查询!\n");
break;
}
int staff_id;
printf("请输入要查询的职工工号:");
scanf("%d", &staff_id);
int i;
for (i = 0; i < count; i++) {
if (staffs[i].id == staff_id) {
printf("姓名:%s\n", staffs[i].name);
printf("工号:%d\n", staffs[i].id);
printf("工作时长:%d\n", staffs[i].hours);
break;
}
}
if (i == count) {
printf("没有找到该职工!\n");
}
break;
}
case 5: { // 显示所有职工信息
if (count == 0) {
printf("没有职工可显示!\n");
break;
}
printf("所有职工信息如下:\n");
int i;
for (i = 0; i < count; i++) {
printf("姓名:%s\n", staffs[i].name);
printf("工号:%d\n", staffs[i].id);
printf("工作时长:%d\n", staffs[i].hours);
printf("\n");
}
break;
}
case 0: { // 退出系统
printf("谢谢使用职工考勤系统!\n");
break;
}
default: { // 输入错误
printf("输入错误,请重新选择操作!\n");
break;
}
}
printf("\n");
} while (choice != 0);
return 0;
}
```
阅读全文