```c
include include include define MAX_STUDENTS 100 typedef struct { int number; char name; char sex; int age; char classs; char dorm; int year; int month; } Student; Student students[MAX_STUDENTS]; int student_count = 0; void input_student_info() { printf("请输入学生信息:\n"); scanf("%d %s %s %d %s %s %d %d", &students[student_count].number, students[student_count].name, students[student_count].sex, &students[student_count].age, students[student_count].classs, students[student_count].dorm, &students[student_count].year, &students[student_count].month); student_count++; } void save_student_info() { FILE *fp = fopen("student_info.txt", "w"); if (fp == NULL) { printf("无法打开文件!\n"); return; } for (int i = 0; i < student_count; i++) { fprintf(fp, "%d %s %s %d %s %s %d %d\n", students[i].number, students[i].name, students[i].sex, students[i].age, students[i].classs, students[i].dorm, students[i].year, students[i].month); } fclose(fp); printf("学生信息已保存。\n"); } void display_student_info() { for (int i = 0; i < student_count; i++) { printf("学号: %d, 姓名: %s, 性别: %s, 年龄: %d, 班级: %s, 宿舍号: %s, 入住时间: %d/%d\n", students[i].number, students[i].name, students[i].sex, students[i].age, students[i].classs, students[i].dorm, students[i].year, students[i].month); } } int main() { int choice; do { system("cls"); printf("学生宿舍管理系统\n"); printf("1. 输入学生信息\n"); printf("2. 显示学生信息\n"); printf("3. 保存学生信息\n"); printf("4. 退出\n"); printf("请选择操作:"); scanf("%d", &choice); switch (choice) { case 1: input_student_info(); break; case 2: display_student_info(); break; case 3: save_student_info(); break; case 4: printf("退出系统。\n"); break; default: printf("无效的选择,请重新选择。\n"); } } while (choice != 4); return 0; } ``` 说明: `students`数组用于存储学生信息,`student_count`用于记录当前存储的学生数量。 `input_student_info`:用于输入学生信息。 `save_student_info`:将学生信息保存到文件`student_info.txt`中。 `display_student_info`:显示所有学生的信息。 主函数: 提供菜单驱动的用户界面,允许用户选择不同的操作。 这个程序是一个简单的宿舍管理系统,可以根据需要进行扩展和修改,例如添加更多的功能或优化用户界面。结构体定义 :定义了一个`Student`结构体,包含学生的基本信息,如学号、姓名、性别、年龄、班级、宿舍号、入住时间等。
全局变量:
函数