用C语言写一个学生宿舍管理系统,包括对学生的姓名,班级,学号的录入修改和删除功能,并且能够根据学号查询学生宿舍
时间: 2024-02-18 18:06:19 浏览: 112
好的,这是一个比较大的项目,需要涉及到多个方面的知识点,我会尽力回答你的问题。
首先,我们需要了解C语言的基础语法和数据结构。在这个项目中,我们需要使用结构体来存储学生的信息,例如:
```c
typedef struct student {
char name[20];
char class[20];
int number;
char dormitory[20];
} Student;
```
这个结构体包含了学生的姓名、班级、学号和宿舍号。接下来,我们需要实现录入、修改和删除学生信息的功能。
1. 录入学生信息
```c
void add_student(Student *students, int *count) {
// 输入学生信息
printf("请输入学生姓名:");
scanf("%s", students[*count].name);
printf("请输入学生班级:");
scanf("%s", students[*count].class);
printf("请输入学生学号:");
scanf("%d", &students[*count].number);
printf("请输入学生宿舍:");
scanf("%s", students[*count].dormitory);
(*count)++; // 学生数量加1
}
```
这个函数会让用户输入学生的信息,然后将学生信息存储到一个数组中。另外,我们需要维护一个计数器来记录学生的数量。
2. 修改学生信息
```c
void modify_student(Student *students, int count) {
int number;
printf("请输入要修改的学生学号:");
scanf("%d", &number);
for (int i = 0; i < count; i++) {
if (students[i].number == number) {
// 输入修改后的学生信息
printf("请输入学生姓名:");
scanf("%s", students[i].name);
printf("请输入学生班级:");
scanf("%s", students[i].class);
printf("请输入学生宿舍:");
scanf("%s", students[i].dormitory);
printf("修改成功!\n");
return;
}
}
printf("未找到该学生!\n");
}
```
这个函数会让用户输入要修改的学生的学号,然后遍历数组查找该学号对应的学生,如果找到了就让用户输入修改后的学生信息。
3. 删除学生信息
```c
void delete_student(Student *students, int *count) {
int number;
printf("请输入要删除的学生学号:");
scanf("%d", &number);
for (int i = 0; i < *count; i++) {
if (students[i].number == number) {
// 将该学生后面的所有学生向前移动一位
for (int j = i; j < *count - 1; j++) {
students[j] = students[j + 1];
}
(*count)--; // 学生数量减1
printf("删除成功!\n");
return;
}
}
printf("未找到该学生!\n");
}
```
这个函数会让用户输入要删除的学生的学号,然后遍历数组查找该学号对应的学生,如果找到了就将该学生后面的所有学生向前移动一位,然后将学生数量减1。
最后,我们需要实现根据学号查询学生宿舍的功能。
```c
void search_student(Student *students, int count) {
int number;
printf("请输入要查询的学生学号:");
scanf("%d", &number);
for (int i = 0; i < count; i++) {
if (students[i].number == number) {
printf("学生宿舍:%s\n", students[i].dormitory);
return;
}
}
printf("未找到该学生!\n");
}
```
这个函数会让用户输入要查询的学生的学号,然后遍历数组查找该学号对应的学生,如果找到了就输出该学生的宿舍号。
以上就是一个基本的学生宿舍管理系统的实现,当然还有很多细节和优化需要考虑,比如输入的合法性检查、数据持久化等等。希望我的回答能够对你有所帮助!
阅读全文