嵌入式笔试刷题第(26天)
第11题:学生宿舍管理系统接口函数设计
题目要求:
根据结构体定义,设计以下函数接口:
- 新建一个宿舍
- 找出一个未住满的宿舍
- 学生入住
- 学生离开
- 根据姓名查找宿舍
- 根据宿舍编号打印宿舍信息
- 清空某个宿舍
- 清空所有宿舍
结构体:
#define DORM_MAXSTUENT_NUM 8 struct student { char *name; int class; int grade; struct student *next; }; struct dorm { int id; int number; struct student *student; struct dorm *next; };
示例接口实现(部分函数):
// 1. 新建宿舍 struct dorm* createDorm(int id) { struct dorm* d = malloc(sizeof(struct dorm)); d->id = id; d->number = 0; d->student = NULL; d->next = NULL; return d; } // 2. 查找未住满的宿舍 struct dorm* findAvailableDorm(struct dorm* head) { while (head) { if (head->number < DORM_MAXSTUENT_NUM) return head; head = head->next; } return NULL; } // 3. 学生入住 void addStudentToDorm(struct dorm* d, const char* name, int class, int grade) { if (d->number >= DORM_MAXSTUENT_NUM) return; struct student* s = malloc(sizeof(struct student));
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式笔试专栏 文章被收录于专栏
本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。