学生宿舍管理系统C语言
时间: 2023-12-05 13:41:34 浏览: 181
以下是一个简单的学生宿舍管理系统的C语言代码示例,包括学生信息的录入、查询和修改功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100 // 最大学生数
#define MAX_NAME_LEN 20 // 姓名最大长度
#define MAX_DEPT_LEN 20 // 院系名称最大长度
#define MAX_ROOM_NUM 100 // 最大宿舍数
// 学生结构体
typedef struct {
int id; // 学号
char name[MAX_NAME_LEN]; // 姓名
char dept[MAX_DEPT_LEN]; // 院系名称
int room_num; // 宿舍号
char check_in_time[20]; // 入住时间
} Student;
// 学生数组
Student students[MAX_STUDENT_NUM];
int student_count = 0; // 学生数
// 宿舍数组
int rooms[MAX_ROOM_NUM];
int room_count = 0; // 宿舍数
// 添加学生信息
void add_student() {
if (student_count >= MAX_STUDENT_NUM) {
printf("学生数已达到最大值,无法添加!\n");
return;
}
Student student;
printf("请输入学生信息:\n");
printf("学号:");
scanf("%d", &student.id);
printf("姓名:");
scanf("%s", student.name);
printf("院系名称:");
scanf("%s", student.dept);
printf("宿舍号:");
scanf("%d", &student.room_num);
printf("入住时间:");
scanf("%s", student.check_in_time);
students[student_count++] = student;
printf("添加成功!\n");
}
// 查询学生信息
void query_student() {
int id;
printf("请输入要查询的学生学号:");
scanf("%d", &id);
for (int i = 0; i < student_count; i++) {
if (students[i].id == id) {
printf("学号:%d\n", students[i].id);
printf("姓名:%s\n", students[i].name);
printf("院系名称:%s\n", students[i].dept);
printf("宿舍号:%d\n", students[i].room_num);
printf("入住时间:%s\n", students[i].check_in_time);
return;
}
}
printf("未找到该学生!\n");
}
// 修改学生信息
void modify_student() {
int id;
printf("请输入要修改的学生学号:");
scanf("%d", &id);
for (int i = 0; i < student_count; i++) {
if (students[i].id == id) {
printf("请输入修改后的学生信息:\n");
printf("学号:");
scanf("%d", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("院系名称:");
scanf("%s", students[i].dept);
printf("宿舍号:");
scanf("%d", &students[i].room_num);
printf("入住时间:");
scanf("%s", students[i].check_in_time);
printf("修改成功!\n");
return;
}
}
printf("未找到该学生!\n");
}
// 添加宿舍
void add_room() {
if (room_count >= MAX_ROOM_NUM) {
printf("宿舍数已达到最大值,无法添加!\n");
return;
}
int room_num;
printf("请输入宿舍号:");
scanf("%d", &room_num);
rooms[room_count++] = room_num;
printf("添加成功!\n");
}
// 查询宿舍
void query_room() {
int room_num;
printf("请输入要查询的宿舍号:");
scanf("%d", &room_num);
for (int i = 0; i < room_count; i++) {
if (rooms[i] == room_num) {
printf("宿舍号:%d\n", rooms[i]);
printf("住宿人员:\n");
for (int j = 0; j < student_count; j++) {
if (students[j].room_num == room_num) {
printf("%d %s %s %s\n", students[j].id, students[j].name, students[j].dept, students[j].check_in_time);
}
}
return;
}
}
printf("未找到该宿舍!\n");
}
int main() {
int choice;
while (1) {
printf("请选择操作:\n");
printf("1. 添加学生信息\n");
printf("2. 查询学生信息\n");
printf("3. 修改学生信息\n");
printf("4. 添加宿舍\n");
printf("5. 查询宿舍\n");
printf("6. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
query_student();
break;
case 3:
modify_student();
break;
case 4:
add_room();
break;
case 5:
query_room();
break;
case 6:
exit(0);
default:
printf("无效的操作!\n");
break;
}
}
return 0;
}
```
阅读全文