学生考勤管理系统用c语言写
时间: 2023-08-14 10:05:38 浏览: 67
学生考勤管理系统可以用C语言实现,以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 100
typedef struct Student {
char name[30];
int id;
int attendance;
} Student;
int main() {
Student students[MAX_STUDENTS];
int num_students = 0;
while (1) {
int choice;
printf("请选择操作:\n");
printf("1. 添加学生\n");
printf("2. 修改学生考勤\n");
printf("3. 删除学生\n");
printf("4. 显示所有学生\n");
printf("5. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1: {
if (num_students >= MAX_STUDENTS) {
printf("学生人数已达到上限!\n");
break;
}
Student new_student;
printf("请输入学生姓名:");
scanf("%s", new_student.name);
printf("请输入学生学号:");
scanf("%d", &new_student.id);
new_student.attendance = 0;
students[num_students] = new_student;
num_students++;
printf("学生添加成功!\n");
break;
}
case 2: {
int id;
printf("请输入学生学号:");
scanf("%d", &id);
int found = 0;
for (int i = 0; i < num_students; i++) {
if (students[i].id == id) {
found = 1;
int attendance;
printf("请输入学生考勤:");
scanf("%d", &attendance);
students[i].attendance = attendance;
printf("学生考勤修改成功!\n");
break;
}
}
if (!found) {
printf("未找到该学号对应的学生!\n");
}
break;
}
case 3: {
int id;
printf("请输入学生学号:");
scanf("%d", &id);
int found = 0;
for (int i = 0; i < num_students; i++) {
if (students[i].id == id) {
found = 1;
for (int j = i; j < num_students - 1; j++) {
students[j] = students[j + 1];
}
num_students--;
printf("学生删除成功!\n");
break;
}
}
if (!found) {
printf("未找到该学号对应的学生!\n");
}
break;
}
case 4: {
printf("所有学生信息如下:\n");
printf("姓名\t学号\t考勤\n");
for (int i = 0; i < num_students; i++) {
printf("%s\t%d\t%d\n", students[i].name, students[i].id, students[i].attendance);
}
break;
}
case 5: {
printf("程序已退出!\n");
exit(0);
}
default: {
printf("无效的选择!\n");
break;
}
}
}
return 0;
}
```
这个示例代码实现了基本的学生考勤管理功能,包括添加学生、修改学生考勤、删除学生和显示所有学生。你可以根据自己的需求进行修改和扩展。