信息管理系统(寝室信息)——沐雨先生

本文介绍了使用C语言为学生宿舍管理人员开发的一个宿舍管理软件。系统采用链表存储结构,包括学号、姓名、房间号等信息,支持入住、退房和查询操作。详细设计包括功能模块、流程图和源代码展示,并强调了动态内存分配的注意事项。
摘要由CSDN通过智能技术生成

提示:C语言,管理系统

目录

一、设定内容

二、概要设计

三、流程图

四、源程序

五、运行示例

总结


一、设定内容

        用C语言为学生宿舍管理人员编写一个宿舍管理软件。设某宿舍有:101,102,201,202四个房间,每个房间可住学生<=4人,链表存储结构:学号、姓名、房间号、后续指针,按房间号有序,实现学生的入住、退房和查询,按给定学号、姓名、房号查询。

二、概要设计

        1. 功能模块:if—else 语句实现功能选择

        2. 各个模块详细的功能描述:主函数运行后,程序提供给用户五个选项,用户可以选定入住信息和退房信息以及查询已有信息,使用说明和退出系统。

三、流程图

四、源程序

#include<stdio.h>
 #include<conio.h>
 #include<stdlib.h>
 #include<string.h>
 #include<windows.h>
 
 #define N sizeof(struct DORMITORY)//宏定义,N为结构体变量所占内存的大小 
 
struct DORMITORY {
     int num;  //房间号
     char id[15];      //学号
     char name[20];    //姓名
     struct DORMITORY* next;//指针域
 };
 //使用 typedef 关键字来定义自己习惯的数据类型名称
 //此处的意思为用dormitory来代替struct DORMITORY* 
 typedef struct DORMITORY* dormitory;
 
 char set[16][15];//学号集合,避免出现学号重复
 dormitory head;     //链表头节点,不用来保存住宿记录,方便建立链表(头插法) 
 
 void menu();           //主菜单
 void menu_query();  //信息查询菜单
 void direction();    //使用说明 
 void checkIn();        //入住 
 void checkOut();       //退房 
 void print();        //打印全部信息 
 void findAll();        //查看全部信息
 void findById();       //按学号查询 
 void findByName();     //按姓名查询 
 void findByNum();      //按宿舍号查询
 void del(dormitory node);    //删除一条住宿记录
 void destroy();                //销毁链表 
 int repeated(char id[15]);     //判断学号是否重复 
 dormitory create();         //创建一条住宿记录 
 
 int main() {
     //初始化链表
     head = (dormitory)malloc(N);
     //利用结构体中的学号变量记录剩余房间总数 
     head->num = 16; 
     //利用字符数组变量id记录四个房间的剩余房间数,依次是101、102、201、202 
      head->id[0] = '4';
      head->id[1] = '4';
      head->id[2] = '4';
      head->id[3] = '4';
    head->next = NULL;
     menu();
     return 0;
 }
 
  void menu() { //主菜单
      char t;
     int flag = 1;
     while(flag) {
          system("cls"); //清屏, 然后输出新的内容
         printf("+--------------------+\n");
         printf("|    宿舍管理系统    |\n");
         printf("+--------------------+\n");
         printf("|  【1】入住 管理    |\n");
         printf("|                    |\n");
         printf("|  【2】退房 管理    |\n");
         printf("|                    |\n");
         printf("|  【3】信息 查询    |\n");
         printf("|                   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐雨先生

如果真的帮助到你了再打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值