學生宿舍管理系統是一個用于管理學生宿舍信息的應用程序。通過該系統,管理員可以方便地添加、刪除、修改和查詢學生宿舍的相關信息。本文將介紹如何使用C語言實現一個簡單的學生宿舍管理系統。
在開始編寫代碼之前,我們需要明確系統的基本功能需求。一個簡單的學生宿舍管理系統通常包括以下功能:
為了實現上述功能,我們需要設計一個合適的數據結構來存儲學生信息。我們可以使用結構體來表示一個學生的信息:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME_LENGTH 50
#define MAX_STUDENTS 100
typedef struct {
char name[MAX_NAME_LENGTH];
int student_id;
int dorm_number;
int bed_number;
} Student;
在這個結構體中,name
用于存儲學生的姓名,student_id
用于存儲學生的學號,dorm_number
用于存儲宿舍號,bed_number
用于存儲床位號。
接下來,我們將逐步實現系統的各個功能。
void add_student(Student students[], int *count) {
if (*count >= MAX_STUDENTS) {
printf("學生人數已滿,無法添加新學生。\n");
return;
}
Student new_student;
printf("請輸入學生姓名: ");
scanf("%s", new_student.name);
printf("請輸入學生學號: ");
scanf("%d", &new_student.student_id);
printf("請輸入宿舍號: ");
scanf("%d", &new_student.dorm_number);
printf("請輸入床位號: ");
scanf("%d", &new_student.bed_number);
students[*count] = new_student;
(*count)++;
printf("學生信息添加成功!\n");
}
void delete_student(Student students[], int *count) {
int student_id;
printf("請輸入要刪除的學生學號: ");
scanf("%d", &student_id);
int found = 0;
for (int i = 0; i < *count; i++) {
if (students[i].student_id == student_id) {
for (int j = i; j < *count - 1; j++) {
students[j] = students[j + 1];
}
(*count)--;
found = 1;
printf("學生信息刪除成功!\n");
break;
}
}
if (!found) {
printf("未找到該學生信息。\n");
}
}
void modify_student(Student students[], int count) {
int student_id;
printf("請輸入要修改的學生學號: ");
scanf("%d", &student_id);
int found = 0;
for (int i = 0; i < count; i++) {
if (students[i].student_id == student_id) {
printf("請輸入新的學生姓名: ");
scanf("%s", students[i].name);
printf("請輸入新的宿舍號: ");
scanf("%d", &students[i].dorm_number);
printf("請輸入新的床位號: ");
scanf("%d", &students[i].bed_number);
found = 1;
printf("學生信息修改成功!\n");
break;
}
}
if (!found) {
printf("未找到該學生信息。\n");
}
}
void query_student(Student students[], int count) {
int student_id;
printf("請輸入要查詢的學生學號: ");
scanf("%d", &student_id);
int found = 0;
for (int i = 0; i < count; i++) {
if (students[i].student_id == student_id) {
printf("學生姓名: %s\n", students[i].name);
printf("學生學號: %d\n", students[i].student_id);
printf("宿舍號: %d\n", students[i].dorm_number);
printf("床位號: %d\n", students[i].bed_number);
found = 1;
break;
}
}
if (!found) {
printf("未找到該學生信息。\n");
}
}
void display_all_students(Student students[], int count) {
if (count == 0) {
printf("沒有學生信息可顯示。\n");
return;
}
for (int i = 0; i < count; i++) {
printf("學生姓名: %s\n", students[i].name);
printf("學生學號: %d\n", students[i].student_id);
printf("宿舍號: %d\n", students[i].dorm_number);
printf("床位號: %d\n", students[i].bed_number);
printf("----------------------------\n");
}
}
最后,我們需要編寫主函數來實現用戶交互界面:
int main() {
Student students[MAX_STUDENTS];
int count = 0;
int choice;
while (1) {
printf("\n學生宿舍管理系統\n");
printf("1. 添加學生信息\n");
printf("2. 刪除學生信息\n");
printf("3. 修改學生信息\n");
printf("4. 查詢學生信息\n");
printf("5. 顯示所有學生信息\n");
printf("6. 退出\n");
printf("請選擇操作: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student(students, &count);
break;
case 2:
delete_student(students, &count);
break;
case 3:
modify_student(students, count);
break;
case 4:
query_student(students, count);
break;
case 5:
display_all_students(students, count);
break;
case 6:
printf("退出系統。\n");
return 0;
default:
printf("無效的選擇,請重新輸入。\n");
}
}
return 0;
}
通過以上步驟,我們實現了一個簡單的學生宿舍管理系統。該系統可以滿足基本的宿舍管理需求,包括添加、刪除、修改和查詢學生信息。當然,這只是一個基礎版本,實際應用中可能需要根據具體需求進行擴展和優化,例如增加數據持久化、用戶權限管理等功能。
希望本文對你理解如何使用C語言實現學生宿舍管理系統有所幫助!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。