精华内容
下载资源
问答
  • 管理信息系统在现代社会已深入到各行各业,由于计算机技术的迅速发展和普及,信息管理系统MIS事实上已成为计算机管理信息系统,大学生宿舍管理系统就是一个典型的管理信息系统,它可以让宿舍管理工作变的更轻松。...
  • 学生宿舍管理信息系统 -------安雪娇解玉龙 第一部分系统分析书 系统名称 学生宿舍管理信息系统 需求分析 1随着社会的发展21世纪人类已经进入信息时代走向信息化的社会在这日新月异千变万化的新时代信息技术将从根本...
  • asp.net 学生宿舍管理系统摘 要随着近几年来微机技术、网络技术及相应软件技术的迅猛发展,学校的管理工作、学生的校园生活,已越来越离不开计算机了.为了能更好的管理学生宿舍信息,极大地提高学生宿舍信息管理的效率,...

    asp.net 学生宿舍管理系统

    摘  要

    随着近几年来微机技术、网络技术及相应软件技术的迅猛发展,学校的管理工作、学生的校园生活,已越来越离不开计算机了.为了能更好的管理学生宿舍信息,极大地提高学生宿舍信息管理的效率,由此开发了本课题――宿舍信息管理系统.

    本系统通过系统管理员维护基础信息,维护使用系统角色;实现了宿舍管理员对房间信息、床位信息、床位分配、宿舍安全卫生评比、交住宿费和外来人员登记的管理;辅导员和教师查看信息;学生查看宿舍成绩和交费情况以及在线交流的功能.

    系统采用asp.net技术作为创建应用程序的方式,以c#作为编程语言,采用sql server数据库作为后台数据库.它是基于browser/server结构下形成的数据驱动的web应用程序.

    关键词: asp.net;c#.net;sql server;宿舍信息管理系统

    abstract

    along with in the last few years the microcomputer technology, the networking and the corresponding software technique"s rapid development, the school supervisory work, student"s campus life, could not leave the computer more and more. for can the better management student"s dormitory information, enhance the student"s dormitory information management enormously the efficiency, from this has developed this topic - - dormitory information management system.

    this system maintains the foundation information through the system manager, maintains the use system role; has realized the accommodation officer to the room information, the bed information, the bed assignment, the dormitory safety and health comparison, the junction hotel expense and the external personnel registration management; the instructor and the teacher examines the information; the student examines the dormitory result and the paying fee situation as well as the online exchange function.

    the system uses the asp.net technology to take the foundation application procedure the way, takes the programming language by c#, uses sql the server database to take the backstage database. it is the data driven web application procedure which forms based on the browser/server structure under.

    keywords:asp.net;c#.net;sql server; dormitory information management system

    目    录

    前  言 1

    第一章  绪论 2

    1.1 课题的背景 2

    1.2 目的和意义 2

    1.3管理信息系统的开发 2

    1.4课题的主要任务 3

    第二章  需求分析 4

    2.1可行性分析 4

    2.2开发平台和技术简介 4

    2.2.1iis简介 4

    2.2.2 asp.net简介 5

    2.2.3 c#简介 6

    2.3开发环境 7

    2.4 系统需要解决的主要问题 8

    第三章  系统分析 9

    3.1序列图、活动图、状态图 9

    3.1.1 序列图 9

    3.1.2 活动图 11

    3.2.3 状态图 12

    第四章  系统设计 14

    4.1体系结构 14

    4.2 数据库设计 14

    第五章  系统实现 16

    5.1 系统主界面 16

    5.2 超级管理员角色 16

    5.2.1 用户信息管理 16

    5.2.2 学院信息管理 17

    5.2.3 系别管理 17

    5.2.4 班级管理 17

    5.3 宿舍管理员角色 18

    5.3.1 学生信息管理 18

    5.3.2 床位信息管理 18

    5.3.3 入住退宿管理 19

    第六章  软件测试 19

    6.1 软件测试的意义 19

    6.2 软件测试的重要性 19

    6.3 软件测试的范围 20

    6.4 软件测试的方法 20

    6.5 软件测试的目的和原则 20

    第七章  总结 22

    参考文献 23

    系统预览图:

    1. 学生宿舍管理系统――登录

    1_201210152119261cI93.jpg

    2.学生宿舍管理系统――后台

    1_2012101521194714fu9.jpg

    展开全文
  • 精品 学生宿舍管理信息系统分析与点评 1.1 概述 1.1.1 开发背景 由于计算机技术的迅速发展和普及信息管理系统 MIS 事实上已成为计算机管理信息 系统计算机管理信息系统已深入到各个部门为其提供更加丰富和人性化的...
  • 学生宿舍管理信息系统设计与开发 可做毕业设计论文
  • 学生宿舍管理信息系统详细分析报告当年在毕业时,排名第一的毕业设计报告,再此与大家共享!
  • 学生宿舍管理信息系统详细报告 目 录 第一章 前言--------------------------------------------------------4 1.1 MIS概述----------------------------------------------------4 1.2 项目开发的背景-------------...

    学生宿舍管理信息系统详细报告
    目 录
    第一章 前言--------------------------------------------------------4
    1.1 MIS概述----------------------------------------------------4
    1.2 项目开发的背景----------------------------------------------5
    1.3 项目开发的目标----------------------------------------------5
    1.4 项目开发计划------------------------

    文件:n459.com/file/25127180-477617926

    以下内容无关:

    -------------------------------------------分割线---------------------------------------------

    可视化主要是以图像来展示数据间的关系,

    常见的图形种类有

    折线图,散点图,条形图,直方图,饼图。
    此外在接下来课程中还会用到箱线图,热力图,蜘蛛图,表示二元变量分布和成对关系的视图。
    今天我们要来了解折线图,散点图,条形图,直方图,饼图和器特点。认识Matplotlib的图像结构,并以Matplotlib绘制折线图为例来掌握设置辅助显示层;此外,用Matplotlob设置辅助显示层,内容还增添拓展部份,平时用到的不是很多,作为了解即可。

    折线图
    以折线的上升或下降来表示统计数量的增减变化的统计图

    特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)

    散点图(Scatter)
    用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。

    特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)

    条形图
    排列在工作表的列或行中的数据可以绘制到柱状图中。

    特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计/对比)

    直方图(Histogram)
    由一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据范围,纵轴表示分布情况。

    特点:绘制连续性的数据展示一组或者多组数据的分布状况(统计)

    饼图(pie)
    用于表示不同分类的占比情况,通过弧度大小来对比各种分类。

    特点:分类数据的占比情况(占比)

    Matplotlib,它是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。只需几行代码即可生成绘图,直方图,条形图,散点图等。

    Matplotlib画图的简单实现

    导入模块

    import matplotlib.pyplot as plt

    在jupyter中执行的时候显示图片

    #matplotlib inline

    传入x和y, 通过plot画图

    plt.plot([3, 1, 7], [4, 5, 6])

    在执行程序的时候展示图形

    plt.show()
    传入x和y时,括号中的第一个列表是x轴上的值,第二个列表是y上的值。

    运行结果:

    折线图

    如何应用呢?

    对Matplotlib图像结构的认识

    在学习Matplotlib的过程中,大家一定会遇到这样那样的问题,

    比如说,

    背景图怎么设置?

    坐标轴怎么设置?

    坐标轴上的刻度值怎么设置?

    因此对于Matplotlib的图像结构组成我们要有一定的了解。通常情况下,我们可以将一副Matplotlib图像分成三层结构:

    第一层是底层的容器层

    主要包括Canvas(画板)底层、Figure(画布)用户操作第一层设置画布的大小和背景颜色、Axes(绘图区)独立的坐标系;

    第二层:辅助显示层

    主要包括Axis(轴)、Spines(边框线)、Tick(坐标轴刻度)、Grid(网格线)、Legend(图例说明)、Title(标题)等,该层可通过set_axis_off()或set_frame_on(False)等方法设置不显示。

    该层的设置可使图像显示更加直观更加容易被用户理解,但又并不会对图像产生实质的影响。

    第三层:图像层

    即通过plot、hist、contour、scatter等方法绘制的图像。

    折线图的绘制

    代码解析:

    x轴数值的产生使用range函数,开始数字是1,结束时7,不包含8。

    折线的颜色和形状设置
    from matplotlib import pyplot as plt
    x = range(1,8) # x轴的位置
    y = [17, 17, 18, 15, 11, 11, 13]

    传入x和y, 通过plot画折线图

    plt.plot(x, y, color=‘red’,alpha=0.5,linestyle=’–’,linewidth=3)
    plt.show()

    ‘’‘基础属性设置
    color=‘red’ : 折线的颜色
    alpha=0.5 : 折线的透明度(0-1)
    linestyle=’–’ : 折线的样式
    linewidth=3 : 折线的宽度
    ‘’’
    ‘’'线的样式

    • 实线(solid)
      – 短线(dashed)
      -. 短点相间线(dashdot)
      :虚点线(dotted)
      ‘’’
      运行结果:

    折点样式

    折点形状选择:

    标记maker 描述

    ‘o’ 圆圈
    ‘.’ 点
    ‘D’ 菱形
    ‘s’ 正方形
    ‘h’ 六边形1
    ‘*’ 星号
    ‘H’ 六边形2
    ‘d’ 小菱形
    ‘_’ 水平线
    ‘v’ 一角朝下的三角形
    ‘8’ 八边形
    ‘<’ 一角朝左的三角形
    ‘p’ 五边形
    ‘>’ 一角朝右的三角形
    ‘,’ 像素
    ‘^’ 一角朝上的三角形
    ‘+’ 加号
    ‘\ ‘ 竖线
    ‘None’,’’,’ ‘ 无
    ‘x’ X
    设置图片的大小和保存
    from matplotlib import pyplot as plt
    import random
    x = range(2,20,2) # x轴的位置
    y = [random.randint(15, 30) for i in x]

    设置图片的大小

    ‘’’
    figsize:指定figure的宽和高,单位为英寸;
    dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1英寸等于2.5cm,A4纸是 21*30cm的纸张
    ‘’’

    设置画布对象

    plt.figure(figsize=(20,8),dpi=80)
    plt.plot(x,y) # 传入x和y, 通过plot画图

    保存(注意:要放在show的上面,plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片。)

    plt.savefig(’./t1.png’)
    #./表示放在当前python文件的目录
    plt.show()

    图片的格式也可以保存为svg这种矢量图格式,这种矢量图放在网页中放大后不会有锯齿

    plt.savefig(’./t1.svg’)

    x轴的数值,使用range(),step为2,不包括20;

    y轴的数值是一个列表表达式,由随机数产生,import random之后,randint产生随机整数,范围是15-30。“for i in x”是一个循环,作用是表明y轴数值产生随机数的次数,次数由x轴上数值的个数决定。

    运行结果:

    绘制x轴和y轴的刻度

    在设置Y轴标签时,标签数值的取值范围range(min(y),max(y)+1),这里min()和max()时是函数,分别取y中的最小和最大值,由于range函数不包集合右边的值,故加1。plt.yticks(range(min(y),max(y)+1),y_ticks_label)中,y_ticks_label表示y轴刻度产生的次数。

    设置显示中文
    matplotlib只显示英文,无法显示中文,需要修改matplotlib的默认字体。通过模块font_manager使用中文字体可以解决。

    以表示两个小时内心脏每分钟跳动变化为例,x轴需要加上标题“时间”,y轴“次数”,图像标题“每分钟跳动次数”,如下图所示:

    一图多线

    拓展部分:一图多个坐标系

    方法add_subplot:给figure新增子图

    这里引进的科学计算库Numpy,把它看作一个[列表]即可,目的是要使用log方法画log对数函数。

    import numpy as np
    from matplotlib import pyplot as plt
    x = np.arange(1, 100) #与range()相同
    #新建figure画布对象,三个坐标轴(子图)建立在同一个画布上
    fig=plt.figure(figsize=(20,10),dpi=80)

    #利用画布对象,在上面放置三个坐标系
    #新建子图1
    ax1=fig.add_subplot(2,2,1)
    ax1.plot(x, x)
    #新建子图2
    ax2=fig.add_subplot(2,2,2)
    ax2.plot(x, x ** 2) #x的二次方,如果是x**3是x的三次方
    ax2.grid(color=‘r’, linestyle=’–’, linewidth=1,alpha=0.3)
    #新建子图3
    ax3=fig.add_subplot(2,2,3)
    ax3.plot(x, np.log(x))
    plt.show()
    在这里解释一下add_subplot(2,2,1)里的参数的含义。在一个画布上放置三个图,需要排列位置。

    首先将一张图,分成两列,再分成两行,总共划分出四个格子,子图1按照从左到右从上到下的顺序放在第一个格子里。

    运行结果:

    拓展部分:设置坐标轴范围

    1、说出你理解的五种常用图像的特点,你有没有地方需要用得到呢?。

    2、运用Matplotlib,自己编数据设计样式,绘制一幅自己的折线图。

    展开全文
  • 高校学生宿舍管理信息系统的开发 可行性分析报告
  • 数据库分析与设计——学生宿舍管理信息系统 教学范例_学生宿舍管理系统需求分析说明书 教学范例_学生宿舍管理系统逻辑与物理设计文档 教学范例_学生宿舍管理系统概念设计文档
  • C++课程设计学生宿舍管理信息系统

    千次阅读 多人点赞 2018-10-29 21:43:18
    青岛农业大学c++课 程 设 计报 告         学院、系: 青岛农业大学理信学院 专业名称: ... 学生姓名: 董松 指导教师: ...

     

    青岛农业大学c++课 程 设 计报 告

     

     

     

     

    学院、系:

    青岛农业大学理信学院

    专业名称:

    计算机科学与技术

    课程设计科目

    面向对象程序课程设计

    学生姓名:

    董松

    指导教师:

    苏万力

    完成时间:

    2018年4月 23 日--- 5 月 5 日

     

     

     

     

     

     

     

     

    学生宿舍管理信息系统

    一、设计任务与目标

    随着高校的扩招,学生人数巨增,传统的管理方法已经不能适合高校学生宿舍管理的需要。本系统的使用,能大大减少学生处管理者的重复劳动,是学校管理的得力助手。其主要功能模块如下:

    (1)宿舍基本信息模块:添加、修改、查询、删除宿舍基本信息。

    (2)学生入住模块:学生基本信息、缴费、入住、退房信息等。

    (3)卫生检查:对宿舍卫生检查、评比、统计等

    (4)水电收费:对超出规定部分的水电的收费管理

    (5)房屋报修:对报修情况的登记、时间安排、修理结果检查等。

    (6)外来人员登记:对外来人员的登记、管理等。

    (7)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!

    二、课程设计方案

    1、功能扩建,宿舍查寝。为了学生的安全起见,生活部每天晚上进行随机宿舍查寝,用到随机函数rand();进行一个页面使用。

     

    2、在课程设计参数传递,以及地址传递用到数据结构中学到的链表,用到了struct以及c++中的类

     

    3、用vs进行编译,编程语言为C++,没有用到数据库,使用链表储存数据以及用文本进行数据读取与保存。在页面上用到清屏函数与while函数进行页面之间的转换,并且每个页面都进行了链表存储和文本读取。在每个链表存储中都可以实现信息的增、删、改、查,对数据进行再次利用。

     

    4、该程序的由多种函数实现,每个函数具有不同的功能,主要有主菜单函数,插入功能子菜单函数,查找功能子菜单函数,学生信息录入函数,显示函数,排序函数,插入函数以及查找函数。在每个区域中会调用不同的函数来实现主要的功能。比如,在宿舍输出这个功能里调用show函数;在插入功能里调用子菜单函数;在显示信息时调用排序函数先对需要输出的信息进行排序,然后再输出;在查找功能里会调用查找函数来进行查找。

     

      

     

    三、程序框图或流程图

     

     

     

     

     

     

     

     

    四、全部源程序清单

    1、头文件:

    #include "Sushe.h"
    
     
    
    #define MAX_NUM 10000000
    
    #include <String>
    
    #include<ctime>
    
    #include <fstream>
    
    using namespace std;
    
     
    
    struct StuNode{
    
    long stu_num=0;
    
    char stu_nam[40];
    
    char stu_cla[40];
    
    char stu_sus[40];
    
    char stu_chu[40];
    
    StuNode *nextstu;
    
    };
    
     
    
    class Sushe{
    
    StuNode *StuListHead;
    
    public:
    
    Sushe();      //构造函数
    
    ~Sushe();     //析构函数
    
    void CreatSinfo();  //创建学生信息
    
    void StuInsert(int num, char* nam, char* cla, char* sus, char* chu);  //插入学生信息
    
    void StuDelete(int num);    //删除学生信息
    
    StuNode *StuFind(int num);   //查找学生信息,传入参数学号
    
    void StuModify(int num, char* nam, char* cla, char* sus, char* chu);   //修改学生信息
    
    void StuRead();        //从文件读入学生信息
    
    void StuSave();        //保存学生信息到文件
    
    void StuQuit();
    
    void ShowInfo();           //遍历输出学生信息
    
    void panduan(int stu_num);
    
     
    
    };
    
    void pdwei(int stu_num)
    
    {
    
    while (stu_num<10000 || stu_num>99999)
    
    {
    
    cout << "你输入的学号不正确,请输入一个五位数的学号" << endl;
    
    cout << "学号:";
    
    cin >> stu_num;
    
    }
    
    }
    
     
    
     void Sushe::panduan(int stu_num)
    
     {
    
     pdwei(stu_num);
    
     StuNode *p;
    
     for (p = StuListHead->nextstu; p != NULL; p = p->nextstu)
    
     {
    
     while (p->stu_num == stu_num)
    
     {
    
     cout << "学号重复,请重新输入!" << endl;
    
     cout << "学号:";
    
     cin >> stu_num;
    
     }
    
     }
    
     }
    
     
    
     
    
    void SuMenu()
    
    {
    
    time_t t;
    
    time(&t);
    
    cout << "---------------------------------宿舍基本信息模块-------------------------------" << endl;
    
    cout << "\t\t\t 本地时间:" << ctime(&t);
    
    cout << "--------------------------------------------------------------------------------\n" << endl;
    
    cout << "\t\t 1.读入学生宿舍信息  " << endl;
    
    cout << "\t\t 2.录入多个宿舍信息  " << endl;
    
    cout << "\t\t 3.添加单个宿舍信息  " << endl;
    
    cout << "\t\t 4.删除已有宿舍信息  " << endl;
    
    cout << "\t\t 5.查找已有宿舍信息  " << endl;
    
    cout << "\t\t 6.修改已有宿舍信息  " << endl;
    
    cout << "\t\t 9.输出所有宿舍信息  " << endl;
    
    cout << "\t\t 10.保存现有宿舍信息 " << endl;
    
    cout << "\t\t 0.返回信息主菜单   " << endl;
    
    cout << "\n\t\t请选择:";
    
    }
    
     
    
    Sushe::Sushe()   //构造函数
    
    {
    
    StuListHead = new StuNode;
    
    StuListHead->nextstu = NULL;
    
    StuListHead->stu_num = 0;
    
    }
    
     
    
    Sushe::~Sushe()       //析构函数
    
    {
    
    StuNode *p;
    
    while (StuListHead)
    
    {
    
    p = StuListHead;
    
    StuListHead = StuListHead->nextstu;
    
    delete p;
    
    }
    
    StuListHead = NULL;
    
    }
    
     
    
    void Sushe::CreatSinfo()     //创建学生信息表
    
    {
    
    int n;
    
    StuNode *p, *s;
    
    p = StuListHead;
    
    cout << "请输入学生宿舍人数:";
    
    cin >> n;
    
    for (int i = 1; i <= n; i++)
    
    {
    
    s = new StuNode;
    
    cout << "学号:"; cin >> s->stu_num;
    
    panduan(s->stu_num);
    
    cout << "姓名:"; cin >> s->stu_nam;
    
    cout << "班级:"; cin >> s->stu_cla;
    
    cout << "宿舍:"; cin >> s->stu_sus;
    
    cout << "床号:"; cin >> s->stu_chu;
    
    s->nextstu = p->nextstu;
    
    p->nextstu = s;
    
    p = p->nextstu;
    
    }
    
    if (p == NULL)   //判断学生信息表是否创建成功
    
    {
    
    cout << "创建失败请重新创建!" << endl;
    
    CreatSinfo();
    
    }
    
    }
    
     
    
    void Sushe::ShowInfo()      //遍历输出
    
    {
    
    StuNode *p;
    
    cout << "学号" << '\t' << "姓名" << '\t' << "班级" << '\t' << "宿舍" << '\t' << "床号" << endl;
    
    for (p = StuListHead->nextstu; p != NULL; p = p->nextstu)
    
    {
    
    cout << p->stu_num << '\t' << p->stu_nam << '\t' << p->stu_cla << '\t' << p->stu_sus << '\t' << p->stu_chu << endl;
    
    }
    
    }
    
     
    
     
    
    void Sushe::StuInsert(int num, char* nam, char* cla, char* sus, char* chu)     //插入学生信息(头插法)
    
    {
    
    StuNode *s, *p;
    
    s = new StuNode;
    
    s->stu_num = num;
    
    strcpy(s->stu_nam, nam);
    
    strcpy(s->stu_cla, cla);
    
    strcpy(s->stu_sus, sus);
    
    strcpy(s->stu_chu, chu);
    
    p = StuListHead;
    
    s->nextstu = p->nextstu;
    
    p->nextstu = s;
    
    }
    
     
    
    void Sushe::StuDelete(int num)
    
    {
    
    StuNode *p, *ptemp;
    
    p = StuListHead;
    
    ptemp = p;
    
    while (p->nextstu && p->stu_num != num)   //循环终止条件为p->nextstu不为空 而且没有找到相应学号的学生
    
    {
    
    ptemp = p;
    
    p = p->nextstu;
    
    }
    
    if (p->stu_num == num)
    
    {
    
    ptemp->nextstu = p->nextstu;
    
    delete p;
    
    }
    
    else
    
    {
    
    cout << "未找到该学生信息!" << endl;
    
    }
    
    }
    
     
    
    StuNode *Sushe::StuFind(int num)
    
    {
    
    StuNode *p;
    
    p = StuListHead->nextstu;
    
    while (p->nextstu && p->stu_num != num)   //循环终止条件为p->nextstu不为空 而且没有找到相应学号的学生
    
    {
    
    p = p->nextstu;
    
    }
    
    if (p->stu_num == num)
    
    {
    
    return p;
    
    }
    
    else
    
    {
    
    cout << "未找到该学生信息!" << endl;
    
    return NULL;
    
    }
    
    }
    
     
    
    void Sushe::StuModify(int num, char* nam, char* cla, char* sus, char* chu)   //修改信息
    
    {
    
    StuNode *ItemStu = StuFind(num);   //直接调用查找函数
    
    if (ItemStu != NULL)
    
    {
    
    ItemStu->stu_num = num;
    
    strcpy(ItemStu->stu_nam, nam);
    
    strcpy(ItemStu->stu_cla, cla);
    
    strcpy(ItemStu->stu_sus, sus);
    
    strcpy(ItemStu->stu_chu, chu);
    
    cout << "修改成功!" << endl;
    
    }
    
    }
    
    void Sushe::StuRead()    //从文件读入数据
    
    {
    
    StuNode *p;
    
    p = StuListHead;
    
    ifstream in("sushea.txt");
    
    if (!in) { cout << "文件sushea.txt中没有学生信息,请先录入学生信息!" << endl; return; }
    
    while (!in.eof())
    
    {
    
    int num; char nam[40]; char cla[40]; char sus[40]; char chu[40];
    
    in >> num >> nam >> cla >> sus >> chu;
    
    StuInsert(num, nam, cla, sus, chu);
    
     
    
    }
    
    }
    
     
    
    void Sushe::StuSave()   //保存学生信息
    
    {
    
    StuNode *p;
    
    p = StuListHead->nextstu;
    
    ofstream out("sushea.txt");
    
    if (!out) { cout << "不能打开文件sushea.txt!" << endl; return; }
    
    while (p != NULL)
    
    {
    
    out << p->stu_num << '\t' << p->stu_nam << '\t' << p->stu_cla << '\t' << p->stu_sus << '\t' << p->stu_chu << '\n';
    
    p = p->nextstu;
    
    }
    
    }
    
     
    
    void Sushe::StuQuit()   //学生信息写入文件
    
    {
    
    char choice;
    
    cout << "是否保存学生信息:?(Y/N)";
    
    cin >> choice;
    
    if (choice == 'y' || choice == 'Y')
    
    {
    
    StuSave();
    
    cout << "学生信息已保存..." << endl;
    
    }
    
    }
    
     
    
     
    
     
    
    void sushe()
    
    {
    
    system("mode con:cols=200 lines=1000");
    
    int pnum;
    
    char pnam[40]; char pcla[40]; char psus[40]; char pchu[40];
    
    StuNode *pfind;
    
    Sushe stu;
    
    while (1)
    
    {
    
     
    
    system("pause");
    
    system("cls");      //清屏
    
    SuMenu();
    
    int x;
    
    cin >> x;
    
    if (x == 0){
    
    return;
    
    }
    
    switch (x)
    
    {
    
    case 1:
    
    stu.StuRead();
    
    cout << "读入学生宿舍信息表:" << endl;
    
    stu.ShowInfo();
    
    break;
    
    case 2:
    
    stu.CreatSinfo();
    
    cout << "请核对输入学生信息!" << endl;
    
    stu.ShowInfo();
    
    break;
    
    case 3:                           //添加信息
    
    cout << "请输入添加学生宿舍信息:" << endl;
    
    cout << "学号:"; cin >> pnum;
    
    stu.panduan(pnum);
    
    cout << "姓名:"; cin >> pnam;
    
    cout << "班级:"; cin >> pcla;
    
    cout << "宿舍:"; cin >> psus;
    
    cout << "床号:"; cin >> pchu;
    
    stu.StuInsert(pnum, pnam, pcla, psus, pchu);
    
    cout << "更新学生宿舍信息表..." << endl;
    
    stu.ShowInfo();
    
    break;
    
    case 4:
    
    cout << "请输入要删除学生学号:";
    
    cin >> pnum;
    
    stu.StuDelete(pnum);
    
    cout << "更新学生宿舍信息表..." << endl;
    
    stu.ShowInfo();
    
    break;
    
    case 5:
    
    cout << "请输入要查找学生学号:";
    
    cin >> pnum;
    
    pfind = stu.StuFind(pnum);
    
    cout << "查找学生学号:" << pfind->stu_num << " 姓名: " << pfind->stu_nam << " 班级: " << pfind->stu_cla << " 宿舍: " << pfind->stu_sus << " 床号: " << pfind->stu_chu << endl;
    
    break;
    
    case 6:
    
    cout << "请输入要修改学生学号:";
    
    cin >> pnum;
    
    cout << "请重新输入学生宿舍信息!"<<endl;
    
    cout << "姓名:"; cin >> pnam;
    
    cout << "班级:"; cin >> pcla;
    
    cout << "宿舍:"; cin >> psus;
    
    cout << "床号:"; cin >> pchu;
    
    stu.StuModify(pnum, pnam, pcla, psus, pchu);
    
    cout << "更新学生宿舍信息表..." << endl;
    
    stu.ShowInfo();
    
    break;
    
    case 9:
    
    stu.ShowInfo();
    
    break;
    
    case 10:
    
    stu.StuQuit();
    
    break;
    
    }
    
    }
    
    }
    
     
    
     
    
    #include "Ruzhu.h"
    
     
    
    #define MAX_NUM 10000000
    
    #include <String>
    
    #include<ctime>
    
    #include <fstream>
    
    using namespace std;
    
     
    
     
    
    struct RuNode{
    
    long ru_num = 0;
    
    char ru_nam[40];
    
    char ru_cla[40];
    
    char ru_mon[40];
    
    char ru_check_in[40];
    
    char ru_check_out[40];
    
    RuNode *nextru;
    
    };
    
    class Ruzhu{
    
    RuNode *RuListHead;
    
    public:
    
    Ruzhu();      //构造函数
    
    ~Ruzhu();     //析构函数
    
    void RuCreat();  //创建入住信息
    
    void RuInsert(int num, char* nam, char* cla, char* mon, char* check_in,char* check_out);  //插入入住信息
    
    RuNode *RuFind(int num);   //查找入住信息,传入参数学号
    
    void RuRead();        //从文件读入入住信息
    
    void RuSave();        //保存学生入住信息到文件
    
    void RuQuit();
    
    void RuShow();           //遍历输出学生入住信息
    
    void panduan(int ru_num);
    
    };
    
    void pdweiru(int ru_num)
    
    {
    
    while (ru_num<10000 || ru_num>99999)
    
    {
    
    cout << "你输入的学号不正确,请输入一个五位数的学号" << endl;
    
    cout << "学号:";
    
    cin >> ru_num;
    
    }
    
     
    
     
    
    }
    
     
    
    void Ruzhu::panduan(int ru_num)
    
    {
    
    pdweiru(ru_num);
    
        RuNode *p;
    
    for (p = RuListHead->nextru; p != NULL; p = p->nextru)
    
    {
    
    while (p->ru_num == ru_num)
    
    {
    
    cout << "学号重复,请重新输入!" << endl;
    
    cout << "学号:";
    
    cin >> ru_num;
    
    }
    
    }
    
    }
    
     
    
    void RuMenu()
    
    {
    
    time_t t;
    
    time(&t);
    
    cout << "---------------------------------学生入住信息模块-------------------------------" << endl;
    
    cout << "\t\t\t 本地时间:" << ctime(&t);
    
    cout << "--------------------------------------------------------------------------------\n" << endl;
    
    cout << "\t\t 1.读入学生入住信息  " << endl;
    
    cout << "\t\t 2.录入入住信息表格  " << endl;
    
    cout << "\t\t 3.添加新的入住信息  " << endl;
    
    cout << "\t\t 4.查找已有学生信息  " << endl;
    
    cout << "\t\t 5.输出所有学生信息  " << endl;
    
    cout << "\t\t 6.保存现有学生信息 " << endl;
    
    cout << "\t\t 0.返回主菜单   " << endl;
    
     
    
    cout << "\n\t\n\t\t请选择:";
    
    }
    
    Ruzhu::Ruzhu()   //构造函数
    
    {
    
    RuListHead = new RuNode;
    
    RuListHead->nextru = NULL;
    
     RuListHead->ru_num = 0;
    
    }
    
     
    
    Ruzhu::~Ruzhu()       //析构函数
    
    {
    
    RuNode *p;
    
    while (RuListHead)
    
    {
    
    p = RuListHead;
    
    RuListHead = RuListHead->nextru;
    
    delete p;
    
    }
    
    RuListHead = NULL;
    
    }
    
     
    
    void Ruzhu::RuRead()    //从文件读入数据
    
    {
    
    RuNode *p;
    
    p = RuListHead;
    
    ifstream in("ruzhua.txt");
    
    if (!in) { cout << "文件ruzhua.txt中没有入住信息,请先录入入住信息!" << endl; return; }
    
    while (!in.eof())
    
    {
    
    int num; char nam[40]; char cla[40]; char mon[40]; char check_in[40]; char check_out[40];
    
    in >> num >> nam >> cla >> mon >> check_in >> check_out;
    
    RuInsert(num, nam, cla, mon, check_in, check_out);
    
     
    
    }
    
    }
    
    void Ruzhu::RuCreat()     //创建学生信息表
    
    {
    
    int n;
    
    RuNode *p, *s;
    
    p = RuListHead;
    
    cout << "请输入学生宿舍入住人数:";
    
    cin >> n;
    
    for (int i = 1; i <= n; i++)
    
    {
    
    s = new RuNode;
    
    cout << "学号:"; cin >> s->ru_num;
    
    panduan(s->ru_num);
    
    cout << "姓名:"; cin >> s->ru_nam;
    
    cout << "班级:"; cin >> s->ru_cla;
    
    cout << "缴费金额:"; cin >> s->ru_mon;
    
    cout << "入住时间:"; cin >> s->ru_check_in;
    
    cout << "退房时间:"; cin >> s->ru_check_out;
    
    s->nextru = p->nextru;
    
    p->nextru = s;
    
    p = p->nextru;
    
    }
    
    if (p == NULL)   //判断学生信息表是否创建成功
    
    {
    
    cout << "创建失败请重新创建!" << endl;
    
    RuCreat();
    
    }
    
    }
    
     
    
    void Ruzhu::RuInsert(int num, char* nam, char* cla, char* mon, char* check_in, char* check_out)     //插入学生入住信息(头插法)
    
    {
    
    RuNode *s, *p;
    
    s = new RuNode;
    
    s->ru_num = num;
    
    strcpy(s->ru_nam, nam);
    
    strcpy(s->ru_cla, cla);
    
    strcpy(s->ru_mon, mon);
    
    strcpy(s->ru_check_in, check_in);
    
    strcpy(s->ru_check_out, check_out);
    
    p = RuListHead;
    
    s->nextru = p->nextru;
    
    p->nextru = s;
    
    }
    
     
    
    void Ruzhu::RuShow()      //遍历输出
    
    {
    
    RuNode *p;
    
    cout << "学号" << '\t' << "姓名" << '\t' << "班级" << '\t' << "缴费金额" << '\t' << "入住时间" << '\t'<<"退房时间"<<endl;
    
    for (p = RuListHead->nextru; p != NULL; p = p->nextru)
    
    {
    
    cout << p->ru_num << '\t' << p->ru_nam << '\t' << p->ru_cla << '\t' << p->ru_mon << '\t' << p->ru_check_in<<'\t'<<p->ru_check_out << endl;
    
    }
    
    }
    
    RuNode *Ruzhu::RuFind(int num)
    
    {
    
    RuNode *p;
    
    p = RuListHead->nextru;
    
    while (p->nextru && p->ru_num != num)   //循环终止条件为p->nextru不为空 而且没有找到相应学号的学生
    
    {
    
    p = p->nextru;
    
    }
    
    if (p->ru_num == num)
    
    {
    
    return p;
    
    }
    
    else
    
    {
    
    cout << "未找到该学生信息!" << endl;
    
    return NULL;
    
    }
    
    }
    
    void Ruzhu::RuSave()   //保存学生信息
    
    {
    
    RuNode *p;
    
    p = RuListHead->nextru;
    
    ofstream out("ruzhua.txt");
    
    if (!out) { cout << "不能打开文件ruzhua.txt!" << endl; return; }
    
    while (p != NULL)
    
    {
    
    out << p->ru_num << '\t' << p->ru_nam << '\t' << p->ru_cla << '\t' << p->ru_mon << '\t' << p->ru_check_in<<'\t'<<p->ru_check_out << '\n';
    
    p = p->nextru;
    
    }
    
    }
    
     
    
     
    
    void Ruzhu::RuQuit()   //学生信息写入文件
    
    {
    
    char choice;
    
    cout << "是否保存学生入住信息:?(Y/N)";
    
    cin >> choice;
    
    if (choice == 'y' || choice == 'Y')
    
    {
    
    RuSave();
    
    cout << "学生入住信息已保存..." << endl;
    
    }
    
    }
    
     
    
    void ruzhu()
    
    {
    
    int pnum;
    
    char pnam[40]; char pcla[40]; char pmon[40]; char pcheck_in[40]; char pcheck_out[40];
    
    RuNode *pfind;
    
    Ruzhu ru;
    
    while (1)
    
    {
    
     
    
    system("pause");
    
    system("cls");      //清屏
    
    RuMenu();
    
    int x;
    
    cin >> x;
    
    if (x == 0){
    
    return;
    
    }
    
    switch (x)
    
    {
    
    case 1:
    
    ru.RuRead();
    
    cout << "读入学入住信息表:" << endl;
    
    ru.RuShow();
    
    break;
    
    case 2:
    
    ru.RuCreat();
    
    cout << "请核对输入学生信息!" << endl;
    
    ru.RuShow();
    
    break;
    
    case 3:                           //添加信息
    
    cout << "请输入添加学生入住信息:" << endl;
    
    cout << "学号:"; cin >> pnum;
    
    ru.panduan(pnum);
    
    cout << "姓名:"; cin >> pnam;
    
    cout << "班级:"; cin >> pcla;
    
    cout << "缴费金额:"; cin >> pmon;
    
    cout << "入住时间:"; cin >> pcheck_in;
    
    cout << "退房时间:"; cin >> pcheck_out;
    
    ru.RuInsert(pnum, pnam, pcla, pmon, pcheck_in, pcheck_out);
    
    cout << "更新学生入住信息表..." << endl;
    
    ru.RuShow();
    
    break;
    
    case 4:
    
    cout << "请输入要查找学生学号:";
    
    cin >> pnum;
    
    pfind = ru.RuFind(pnum);
    
    cout << "查找学生学号:" << pfind->ru_num << " 姓名: " << pfind->ru_nam << " 班级: " << pfind->ru_cla << " 缴费金额: " << pfind->ru_mon << " 入住时间: " << pfind->ru_check_in << "退房时间:" << pfind->ru_check_out << endl;
    
    break;
    
    case 5:
    
    ru.RuShow();
    
    break;
    
    case 6:
    
    ru.RuQuit();
    
    break;
    
    }
    
    }
    
    }
    
     
    
    #include"Fuzhu.h"
    
     
    
    #define MAX_NUM 10000000
    
    #include <String>
    
    #include<ctime>
    
    #include<windows.h>
    
    #include<cstdlib>
    
    #include<iostream>
    
    #include<cstdlib>
    
    #define random(a,b) (rand()%(b-a+1)+a)
    
    using namespace std;
    
     
    
    void suijishu(int a,int b)
    
    {
    
    srand((unsigned)time(NULL));
    
    for (int i = 0; i<10; i++)
    
    cout << random(a, b) << "    ";
    
    }
    
     
    
    /*void pdwei(int ru_num)
    
    {
    
    while (ru_num<10000 || ru_num>99999)
    
    {
    
    cout << "你输入的学号不正确,请输入一个五位数的学号" << endl;
    
    cout << "学号:";
    
    cin >> ru_num;
    
    }
    
    }*/
    
     
    
    int Systemdoor()
    
    {
    
    string username = "hello", password = "nihao";
    
    string name, temp;
    
    int number = 3;
    
    while (1)
    
    {
    
    time_t t;
    
    time(&t);
    
    cout << "---------------------------------欢迎使用学生宿舍管理信息系统-------------------------------" << endl;
    
    cout << "********************************************************************************************" << endl << endl;
    
    cout << "\t\t                                本地时间:" << ctime(&t);
    
    cout << "                用 户 名:";
    
    cin >> name;
    
    cout << "                密    码:";
    
    cin >> temp;
    
    cout << endl;
    
    if (name != username || temp != password)
    
    {
    
    number--;
    
    if (number >0)
    
    {
    
    cout << "          用户名/密码错误!你还有" << number << "次机会" << endl;
    
    }
    
    else
    
    cout << "用户名/密码错误!" << endl, exit(0);
    
     
    
    }
    
    else
    
    {
    
    cout << "********************密码正确********************" << endl << endl;
    
    for (int i = 0; i <3; i++)
    
    {
    
    Sleep(1000);    /* windows 使用Sleep,参数为毫秒 */
    
    }
    
    system("cls");      //清屏
    
    return 1;
    
    }
    
    }
    
     
    
    }
    
     
    
     
    
    #include"Weisheng.h"
    
     
    
    #define MAX_NUM 10000000
    
    #include <String>
    
    #include<ctime>
    
    #include <fstream>
    
    using namespace std;
    
     
    
     
    
    struct WeiNode{
    
    char wei_score[40];
    
    int wei_n=0;
    
    char wei_sus[40];
    
        WeiNode *nextwei;
    
    };
    
    class Weisheng{
    
    WeiNode *WeiListHead;
    
    public:
    
    Weisheng();      //构造函数
    
    ~Weisheng();     //析构函数
    
    void WeiCreat();  //创建信息
    
    void WeiInsert(int n, char* sus, char* score);  //插入入住信息
    
    WeiNode *WeiFind(char* sus);   //查找入住信息,传入参数宿舍号
    
    void WeiSort(char ch);   //根据 总分排序
    
    void WeiCopy(WeiNode *ptemp, WeiNode *p);
    
    void WeiRead();        //从文件读入信息
    
    void WeiSave();        //保存学信息到文件
    
    void WeiQuit();
    
    void WeiShow();           //遍历输出信息
    
    void panduan(int ru_num);
    
    void Weiin();
    
    };
    
    void WeiMenu()
    
    {
    
    time_t t;
    
    time(&t);
    
    cout << "---------------------------------学生宿舍卫生评比模块-------------------------------" << endl;
    
    cout << "\t\t\t 本地时间:" << ctime(&t);
    
    cout << "--------------------------------------------------------------------------------\n" << endl;
    
    cout << "\t\t 1.读入宿舍卫生信息  " << endl;
    
    cout << "\t\t 2.录入宿舍卫生表格  " << endl;
    
    cout << "\t\t 3.查找宿舍卫生信息  " << endl;
    
    cout << "\t\t 4.输出所有宿舍信息  " << endl;
    
    cout << "\t\t 5.保存现有宿舍信息 " << endl;
    
    cout << "\t\t 0.返回主菜单   " << endl;
    
     
    
    cout << "\n\t\t请选择:";
    
    }
    
    Weisheng::Weisheng()   //构造函数
    
    {
    
        WeiListHead = new WeiNode;
    
    WeiListHead->nextwei = NULL;
    
    }
    
     
    
    Weisheng::~Weisheng()       //析构函数
    
    {
    
    WeiNode *p;
    
    while (WeiListHead)
    
    {
    
    p = WeiListHead;
    
    WeiListHead = WeiListHead->nextwei;
    
    delete p;
    
    }
    
    WeiListHead = NULL;
    
    }
    
    void Weisheng::WeiInsert(int n, char* sus, char* score)     //插入入住信息(头插法)
    
    {
    
    WeiNode *s, *p;
    
    s = new WeiNode;
    
    s->wei_n = n;                 
    
    strcpy(s->wei_sus, sus);
    
    strcpy(s->wei_score, score);
    
    p = WeiListHead;
    
    s->nextwei = p->nextwei;
    
    p->nextwei = s;
    
    }
    
     
    
    void Weisheng::WeiRead()    //从文件读入数据
    
    {
    
    WeiNode *p;
    
    p = WeiListHead;
    
    ifstream in("weishenga.txt");
    
    if (!in) { cout << "文件weishenga.txt中没有宿舍信息,请先录入宿舍信息!" << endl; return; }
    
    while (!in.eof())
    
    {
    
    int n; char sus[40]; char score[40];
    
    in >> n >> sus >> score;
    
    WeiInsert(n, sus, score);
    
     
    
    }
    
    }
    
    void Weisheng::WeiCreat()     //创建宿舍卫生信息表
    
    {
    
    int n;
    
    WeiNode *p, *s;
    
    p = WeiListHead;
    
    cout << "请输入学生宿舍卫生条数:";
    
    cin >> n;
    
    for (int i = 1; i <= n; i++)
    
    {
    
    s = new WeiNode;
    
    cout << "宿舍号:"; cin >> s->wei_sus;
    
    //panduan(s->wei_num);
    
    cout << "卫生评分:"; cin >> s->wei_score;
    
    cout << "排名:"; cin >> s->wei_n;
    
    s->nextwei = p->nextwei;
    
    p->nextwei = s;
    
    p = p->nextwei;
    
    }
    
    if (p == NULL)   //判断信息表是否创建成功
    
    {
    
    cout << "创建失败请重新创建!" << endl;
    
    WeiCreat();
    
    }
    
    }
    
    void Weisheng::WeiShow()      //遍历输出
    
    {
    
    WeiNode *p;
    
    cout << "排名" << '\t' << "宿舍" << '\t' << "评分"  << endl;
    
    for (p = WeiListHead->nextwei; p != NULL; p = p->nextwei)
    
    {
    
    cout << p->wei_n << '\t' << p->wei_sus << '\t' << p->wei_score << endl;
    
    }
    
    }
    
    void Weisheng::Weiin()
    
    {
    
    WeiNode *p;
    
    int i = 1;
    
    for (p = WeiListHead->nextwei; p != NULL; p = p->nextwei)
    
    {
    
    p->wei_n = i;
    
    i++;
    
    }
    
    }
    
    WeiNode *Weisheng::WeiFind(char* sus)
    
    {
    
    WeiNode *p;
    
    p = WeiListHead->nextwei;
    
    while (p->nextwei && strcmp(p->wei_sus ,sus)!=0)   //循环终止条件为p->nextru不为空 而且没有找到相应宿舍
    
    {
    
    p = p->nextwei;
    
    }
    
    if (strcmp(p->wei_sus,sus)==0)
    
    {
    
    return p;
    
    }
    
    else
    
    {
    
    cout << "未找到该宿舍信息!" << endl;
    
    return NULL;
    
    }
    
    }
    
    void Weisheng::WeiCopy(WeiNode *ptemp, WeiNode *p)  //拷贝信息(将p的信息拷贝到ptemp中)
    
    {
    
    if (p == NULL)
    
    {
    
    cout << "拷贝目标为空!" << endl;
    
    }
    
    else
    
    {
    
    ptemp->wei_n = p->wei_n;
    
    strcpy(ptemp->wei_sus,p->wei_sus);
    
    strcpy(ptemp->wei_score, p->wei_score);
    
    //ptemp->nextwei = p->nextwei;   //只是信息拷贝,next不能拷贝否则信息丢失
    
    }
    
    }
    
    void Weisheng::WeiSort(char ch)   //根据 总分排序
    
    {
    
    if (ch == '>')
    
    {
    
    for (WeiNode *p = WeiListHead->nextwei; p != NULL; p = p->nextwei)
    
    {
    
    for (WeiNode *q = WeiListHead->nextwei; q != NULL; q = q->nextwei)
    
    {
    
    if (strcmp(p->wei_score ,q->wei_score)>0)
    
    {
    
    WeiNode *ptemp = new WeiNode;
    
    WeiCopy(ptemp, p);
    
    WeiCopy(p, q);
    
    WeiCopy(q, ptemp);
    
    }
    
    }
    
    }
    
    }
    
    else if (ch == '<')
    
    {
    
    for (WeiNode *p = WeiListHead->nextwei; p != NULL; p = p->nextwei)
    
    {
    
    for (WeiNode *q = WeiListHead->nextwei; q != NULL; q = q->nextwei)
    
    {
    
    if (strcmp(p->wei_score, q->wei_score)<0)
    
    {
    
    WeiNode *ptemp = new WeiNode;
    
    WeiCopy(ptemp, p);
    
    WeiCopy(p, q);
    
    WeiCopy(q, ptemp);
    
    }
    
    }
    
    }
    
    }
    
    else
    
    {
    
    cout << "排序条件出错!" << endl;
    
    }
    
    }
    
     
    
    void Weisheng::WeiSave()   //保存信息
    
    {
    
    WeiNode *p;
    
    p = WeiListHead->nextwei;
    
    ofstream out("weishenga.txt");
    
    if (!out) { cout << "不能打开文件weishenga.txt!" << endl; return; }
    
    while (p != NULL)
    
    {
    
    out << p->wei_n << '\t' << p->wei_sus << '\t' << p->wei_score << '\n';
    
    p = p->nextwei;
    
    }
    
    }
    
     
    
     
    
    void Weisheng::WeiQuit()   //信息写入文件
    
    {
    
    char choice;
    
    cout << "是否保存宿舍卫生信息:?(Y/N)";
    
    cin >> choice;
    
    if (choice == 'y' || choice == 'Y')
    
    {
    
    WeiSave();
    
    cout << "宿舍卫生信息已保存..." << endl;
    
    }
    
    }
    
    void weisheng()
    
    {
    
    char psus[40];
    
    WeiNode *pfind;
    
    Weisheng wei;
    
    while (1)
    
    {
    
     
    
    system("pause");
    
    system("cls");      //清屏
    
    WeiMenu();
    
    int x;
    
    cin >> x;
    
    if (x == 0){
    
    return;
    
    }
    
    switch (x)
    
    {
    
    case 1:
    
    wei.WeiRead();
    
    cout << "读入宿舍卫生评分信息表:" << endl;
    
    wei.WeiShow();
    
    break;
    
    case 2:
    
    wei.WeiCreat();
    
    cout << "请核对输入评分信息!" << endl;
    
    wei.WeiShow();
    
    break;
    
    case 3:
    
    cout << "请输入要查找宿舍:";
    
    cin >> psus;
    
    pfind = wei.WeiFind(psus);
    
    cout << "查找宿舍卫生情况:" << endl;
    
    cout<<"宿舍排名:"<<pfind->wei_n << " 宿舍号: " << pfind->wei_sus << " 评分: " << pfind->wei_score << endl;
    
    break;
    
    case 4:
    
    cout << "宿舍卫生排名升序排序请按1!倒序排序请按2!" << endl;
    
    int p;
    
    cin >> p;
    
    if (p == 1)
    
    {
    
    wei.WeiSort('<');
    
    wei.Weiin();
    
    wei.WeiShow();
    
    }
    
    else if (p == 2)
    
    {
    
    wei.WeiSort('>');
    
    wei.WeiShow();
    
    }
    
    else
    
    {
    
    cout << "输入指令错误!" << endl;
    
    }
    
    break;
    
    case 5:
    
    wei.WeiQuit();
    
    break;
    
    }
    
    }
    
    }
    
     
    
     
    
    #include"Shoufei.h"
    
     
    
    #define MAX_NUM 10000000
    
    #include <windows.h>
    
    #include <String>
    
    #include<ctime>
    
    #include <fstream>
    
    using namespace std;
    
     
    
     
    
    struct ShouNode{
    
    int shou_du = 0;
    
    int shou_fei;
    
    char shou_sus[40];
    
    ShouNode *nextshou;
    
    };
    
    class Shoufei{
    
    ShouNode *ShouListHead;
    
    public:
    
    Shoufei();      //构造函数
    
    ~Shoufei();     //析构函数
    
    void ShouCreat();  //创建宿舍收费表信息
    
    void ShouInsert(char* sus, int du,int fei);  //插入宿舍收费信息信息
    
    ShouNode *ShouFind(char* sus);   //查找信息,传入参数学号
    
    void ShouRead();        //从文件读入宿舍收费信息
    
    void ShouSave();        //保存信息到文件
    
    void ShouQuit();
    
    void ShouShow();           //遍历输出宿舍收费信息
    
     
    
    };
    
    void ShouMenu()
    
    {
    
    time_t t;
    
    time(&t);
    
    cout << "---------------------------------宿舍水电费模块-------------------------------" << endl;
    
    cout << "\t\t\t 本地时间:" << ctime(&t);
    
    cout << "--------------------------------------------------------------------------------\n" << endl;
    
    cout << "\t\t 1.读入宿舍水电信息  " << endl;
    
    cout << "\t\t 2.录入宿舍水电表格  " << endl;
    
    cout << "\t\t 3.查找已有宿舍信息  " << endl;
    
    cout << "\t\t 4.输出所有收费信息  " << endl;
    
    cout << "\t\t 5.保存宿舍收费信息 " << endl;
    
    cout << "\t\t 0.返回主菜单   " << endl;
    
     
    
    cout << "\n\t\n\t\t请选择:";
    
    }
    
    Shoufei::Shoufei()   //构造函数
    
    {
    
    ShouListHead = new ShouNode;
    
    ShouListHead->nextshou = NULL;
    
    }
    
     
    
    Shoufei::~Shoufei()       //析构函数
    
    {
    
    ShouNode *p;
    
    while (ShouListHead)
    
    {
    
    p = ShouListHead;
    
    ShouListHead = ShouListHead->nextshou;
    
    delete p;
    
    }
    
    ShouListHead = NULL;
    
    }
    
     
    
    void Shoufei::ShouRead()    //从文件读入数据
    
    {
    
    ShouNode *p;
    
    p = ShouListHead;
    
    ifstream in("shoufeia.txt");
    
    if (!in) { cout << "文件shoufeia.txt中没有入住信息,请先录入入住信息!" << endl; return; }
    
    while (!in.eof())
    
    {
    
    int du,fei; char sus[40];
    
    in >> sus >> du >> fei;
    
    ShouInsert(sus,du,fei);
    
     
    
    }
    
    }
    
    int standard(int du){
    
    int fei=100;
    
    if (du > 200)
    
    return (100 + (du - 200) * 3);
    
    else
    
    return fei;
    
    }
    
    void Shoufei::ShouCreat()     //创建信息表
    
    {
    
    int n;
    
    ShouNode *p, *s;
    
    p = ShouListHead;
    
    cout << "请输入录入宿舍条数:";
    
    cin >> n;
    
    for (int i = 1; i <= n; i++)
    
    {
    
    s = new ShouNode;
    
    cout << "宿舍:"; cin >> s->shou_sus;
    
    cout << "水电使用度:"; cin >> s->shou_du;
    
    s->shou_fei = standard(s->shou_du);
    
    s->nextshou = p->nextshou;
    
    p->nextshou = s;
    
    p = p->nextshou;
    
    }
    
    if (p == NULL)   //判断信息表是否创建成功
    
    {
    
    cout << "创建失败请重新创建!" << endl;
    
    ShouCreat();
    
    }
    
    }
    
     
    
    void Shoufei::ShouInsert(char* sus, int du, int fei)   //插入宿舍收费信息(头插法)
    
    {
    
    ShouNode *s, *p;
    
    s = new ShouNode;
    
    s->shou_du = du;
    
    s->shou_fei = fei;
    
    strcpy(s->shou_sus, sus);
    
    p = ShouListHead;
    
    s->nextshou = p->nextshou;
    
    p->nextshou = s;
    
    }
    
     
    
    ShouNode *Shoufei::ShouFind(char* sus)
    
    {
    
    ShouNode *p;
    
    p = ShouListHead->nextshou;
    
    while (p->nextshou && strcmp(p->shou_sus, sus) != 0)   //循环终止条件为p->nextru不为空 而且没有找到宿舍
    
    {
    
    p = p->nextshou;
    
    }
    
    if (strcmp(p->shou_sus, sus) == 0)
    
    {
    
    return p;
    
    }
    
    else
    
    {
    
    cout << "未找到该宿舍信息!" << endl;
    
    return NULL;
    
    }
    
    }
    
    void Shoufei::ShouShow()      //遍历输出
    
    {
    
    ShouNode *p;
    
    HANDLE handle;
    
    handle = GetStdHandle(STD_OUTPUT_HANDLE);
    
    SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | FOREGROUND_RED);//设置控制台字体颜色为红色
    
    //printf("这是红色\n");
    
    cout << "提示!规定水电量在200度,收费100元,若超出则按超出部分每平方3元收费" << endl;
    
    //SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY);//灰色
    
    SetConsoleTextAttribute(handle, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);//恢复默认的灰色
    
    //printf("这是灰色\n");
    
    cout << "宿舍" << '\t' << "水电度数" << '\t' << "水电费用" << endl;
    
    for (p = ShouListHead->nextshou; p != NULL; p = p->nextshou)
    
    {
    
    cout << p->shou_sus << '\t'<<"     " << p->shou_du << '\t' << p->shou_fei<< endl;
    
    }
    
    }
    
    void Shoufei::ShouSave()   //保存信息
    
    {
    
    ShouNode *p;
    
    p = ShouListHead->nextshou;
    
    ofstream out("shoufeia.txt");
    
    if (!out) { cout << "不能打开文件shoufeia.txt!" << endl; return; }
    
    while (p != NULL)
    
    {
    
    out << p->shou_sus << '\t' << p->shou_du << '\t' << p->shou_fei << endl;
    
    p = p->nextshou;
    
    }
    
    }
    
     
    
     
    
    void Shoufei::ShouQuit()   //信息写入文件
    
    {
    
    char choice;
    
    cout << "是否保存宿舍水电费收费信息:?(Y/N)";
    
    cin >> choice;
    
    if (choice == 'y' || choice == 'Y')
    
    {
    
    ShouSave();
    
    cout << "宿舍水电收费信息已保存..." << endl;
    
    }
    
    }
    
     
    
    void shoufei()
    
    {
    
    char psus[40];
    
    ShouNode *pfind;
    
    Shoufei sf;
    
    while (1)
    
    {
    
     
    
    system("pause");
    
    system("cls");      //清屏
    
    ShouMenu();
    
    int x;
    
    cin >> x;
    
    if (x == 0){
    
    return;
    
    }
    
    switch (x)
    
    {
    
    case 1:
    
    sf.ShouRead();
    
    cout << "读入宿舍收费表:" << endl;
    
    sf.ShouShow();
    
    break;
    
    case 2:
    
    sf.ShouCreat();
    
    cout << "请核对输入宿舍收费信息!" << endl<<endl;
    
    sf.ShouShow();
    
    break;
    
    case 3:
    
    cout << "请输入要查找宿舍:";
    
    cin >> psus;
    
    pfind = sf.ShouFind(psus);
    
    cout << "要查找的宿舍:" << pfind->shou_sus << " 水电度数: " << pfind->shou_du << " 水电收费: " << pfind->shou_fei << endl;
    
    break;
    
    case 4:
    
    sf.ShouShow();
    
    break;
    
    case 5:
    
    sf.ShouQuit();
    
    break;
    
    }
    
    }
    
    }
    
     
    
     
    
    #include"baoxiu.h"
    
     
    
    #define MAX_NUM 10000000
    
    #include <String>
    
    #include<ctime>
    
    #include <fstream>
    
    using namespace std;
    
    struct BaoNode{
    
    char bao_sus[40];
    
    char bao_pro[40];
    
    char bao_tim[40];
    
    char bao_zhu[40];
    
    BaoNode *nextbao;
    
    };
    
     
    
    class Baoxiu{
    
         BaoNode *BaoListHead;
    
    public:
    
    Baoxiu();      //构造函数
    
    ~Baoxiu();     //析构函数
    
    void BaoCreat();  //创建信息
    
    void BaoInsert(char* sus, char* pro, char* tim, char* zhu);  //插入信息
    
    BaoNode *BaoFind(char *sus);   //查找信息,传入参数学号
    
    void BaoRead();        //从文件读入信息
    
    void BaoSave();        //保存信息到文件
    
    void BaoQuit();
    
    void BaoShow();           //遍历输出信息
    
    };
    
    void BaoMenu()
    
    {
    
    time_t t;
    
    time(&t);
    
    cout << "---------------------------------宿舍房屋报修模块-------------------------------" << endl;
    
    cout << "\t\t\t 本地时间:" << ctime(&t);
    
    cout << "--------------------------------------------------------------------------------\n" << endl;
    
    cout << "\t\t 1.读入宿舍报修信息  " << endl;
    
    cout << "\t\t 2.录入宿舍报修信息  " << endl;
    
    cout << "\t\t 3.查找已有宿舍信息  " << endl;
    
    cout << "\t\t 4.输出所有宿舍信息  " << endl;
    
    cout << "\t\t 5.保存宿舍报修信息 " << endl;
    
    cout << "\t\t 0.返回信息主菜单   " << endl;
    
    cout << "\n\t\t请选择:";
    
    }
    
     
    
    Baoxiu::Baoxiu()   //构造函数
    
    {
    
    BaoListHead = new BaoNode;
    
    BaoListHead->nextbao = NULL;
    
    }
    
     
    
    Baoxiu::~Baoxiu()       //析构函数
    
    {
    
    BaoNode *p;
    
    while (BaoListHead)
    
    {
    
    p = BaoListHead;
    
    BaoListHead = BaoListHead->nextbao;
    
    delete p;
    
    }
    
    BaoListHead = NULL;
    
    }
    
     
    
    void Baoxiu::BaoCreat()     //创建学生信息表
    
    {
    
    int n;
    
    BaoNode *p, *s;
    
    p = BaoListHead;
    
    cout << "请输入录入宿舍条数:";
    
    cin >> n;
    
    for (int i = 1; i <= n; i++)
    
    {
    
    s = new BaoNode;
    
    cout << "宿舍:"; cin >> s->bao_sus;
    
    cout << "报修项目:"; cin >> s->bao_pro;
    
    cout << "预约时间:"; cin >> s->bao_tim;
    
    cout << "维修状态:"; cin >> s->bao_zhu;
    
    s->nextbao = p->nextbao;
    
    p->nextbao = s;
    
    p = p->nextbao;
    
    }
    
    if (p == NULL)   //判断维修表是否创建成功
    
    {
    
    cout << "创建失败请重新创建!" << endl;
    
    BaoCreat();
    
    }
    
    }
    
     
    
    void Baoxiu::BaoShow()      //遍历输出
    
    {
    
    BaoNode *p;
    
    cout << "宿舍" << '\t' << "报修项目" << '\t' << "预约时间" << '\t' << "维修状态" << endl;
    
    for (p = BaoListHead->nextbao; p != NULL; p = p->nextbao)
    
    {
    
    cout << p->bao_sus << '\t' << p->bao_pro << '\t' << p->bao_tim << '\t' << p->bao_zhu << endl;
    
    }
    
    }
    
     
    
     
    
    void Baoxiu::BaoInsert(char* sus, char* pro, char* tim, char* zhu)     //插入信息(头插法)
    
    {
    
    BaoNode *s, *p;
    
    s = new BaoNode;
    
    strcpy(s->bao_sus, sus);
    
    strcpy(s->bao_pro, pro);
    
    strcpy(s->bao_tim, tim);
    
    strcpy(s->bao_zhu, zhu);
    
    p = BaoListHead;
    
    s->nextbao = p->nextbao;
    
    p->nextbao = s;
    
    }
    
     
    
     
    
    BaoNode *Baoxiu::BaoFind(char* sus)
    
    {
    
    BaoNode *p;
    
    p = BaoListHead->nextbao;
    
    while (p->nextbao && strcmp(p->bao_sus, sus) != 0)   //循环终止条件为p->nextru不为空 而且没有找到宿舍
    
    {
    
    p = p->nextbao;
    
    }
    
    if (strcmp(p->bao_sus, sus) == 0)
    
    {
    
    return p;
    
    }
    
    else
    
    {
    
    cout << "未找到该宿舍维修信息!" << endl;
    
    return NULL;
    
    }
    
    }
    
     
    
    void Baoxiu::BaoRead()    //从文件读入数据
    
    {
    
    BaoNode *p;
    
    p = BaoListHead;
    
    ifstream in("baoxiua.txt");
    
    if (!in) { cout << "文件baoxiua.txt中没有报修信息,请先录入报修信息!" << endl; return; }
    
    while (!in.eof())
    
    {
    
    char sus[40]; char pro[40]; char tim[40]; char zhu[40];
    
    in >> sus >> pro >> tim >> zhu;
    
    BaoInsert(sus, pro, tim, zhu);
    
     
    
    }
    
    }
    
     
    
    void Baoxiu::BaoSave()   //保存信息
    
    {
    
    BaoNode *p;
    
    p = BaoListHead->nextbao;
    
    ofstream out("baoxiua.txt");
    
    if (!out) { cout << "不能打开文件baoxiua.txt!" << endl; return; }
    
    while (p != NULL)
    
    {
    
    out << p->bao_sus << '\t' << p->bao_pro << '\t' << p->bao_tim << '\t' << p->bao_zhu << endl;
    
    p = p->nextbao;
    
    }
    
    }
    
     
    
    void Baoxiu::BaoQuit()   //信息写入文件
    
    {
    
    char choice;
    
    cout << "是否保存报修信息:?(Y/N)";
    
    cin >> choice;
    
    if (choice == 'y' || choice == 'Y')
    
    {
    
    BaoSave();
    
    cout << "报修信息已保存..." << endl;
    
    }
    
    }
    
    void baoxiu()
    
    {
    
    char psus[40];
    
    BaoNode *pfind;
    
    Baoxiu bx;
    
    while (1)
    
    {
    
     
    
    system("pause");
    
    system("cls");   
    
        BaoMenu();
    
    int x;
    
    cin >> x;
    
    if (x == 0){
    
    return;
    
    }
    
    switch (x)
    
    {
    
    case 1:
    
    bx.BaoRead();
    
    cout << "读入宿舍报修表:" << endl;
    
    bx.BaoShow();
    
    break;
    
    case 2:
    
    bx.BaoCreat();
    
    cout << "请核对输入宿舍报修信息!" << endl << endl;
    
    bx.BaoShow();
    
    break;
    
    case 3:
    
    cout << "请输入要查找宿舍:";
    
    cin >> psus;
    
    pfind = bx.BaoFind(psus);
    
        cout << "要查找的宿舍:" << pfind->bao_sus << "  报修项目:" << pfind->bao_pro << "  预约时间:" << pfind->bao_tim<<" 维修状态:"<<pfind->bao_zhu<< endl;
    
    break;
    
    case 4:
    
    bx.BaoShow();
    
    break;
    
    case 5:
    
    bx.BaoQuit();
    
    break;
    
    }
    
    }
    
    }
    
     
    
    #include"Dengji.h"
    
     
    
    #define MAX_NUM 10000000
    
    #include <String>
    
    #include<ctime>
    
    #include <fstream>
    
    using namespace std;
    
     
    
    struct DenNode{
    
    char den_nam[40];
    
    char den_tel[40];
    
    char den_op[40];
    
    char den_intime[40];
    
    char den_outtime[40];
    
    DenNode *nextden;
    
    };
    
     
    
    class Dengji{
    
    DenNode *DenListHead;
    
    public:
    
    Dengji();      //构造函数
    
    ~Dengji();     //析构函数
    
    void DenInsert(char* nam,char* op,char* tel,char* intime,char* outtime);  //插入信息
    
    DenNode *DenFind(char *nam);   //查找信息,传入参数学号
    
    void DenRead();        //从文件读入信息
    
    void DenSave();        //保存信息到文件
    
    void DenQuit();
    
    void DenShow();           //遍历输出信息
    
    };
    
    void DenMenu()
    
    {
    
    time_t t;
    
    time(&t);
    
    cout << "---------------------------------宿舍房屋报修模块-------------------------------" << endl;
    
    cout << "\t\t\t 本地时间:" << ctime(&t);
    
    cout << "--------------------------------------------------------------------------------\n" << endl;
    
    cout << "\t\t 1.读入人员登记信息  " << endl;
    
    cout << "\t\t 2.进入登记信息  " << endl;
    
    cout << "\t\t 3.离开登记信息  " << endl;
    
    cout << "\t\t 4.查找外来登记信息  " << endl;
    
    cout << "\t\t 5.输出所有登记信息  " << endl;
    
    cout << "\t\t 6.保存登记信息 " << endl;
    
    cout << "\t\t 0.返回信息主菜单   " << endl;
    
    cout << "\n\t\t请选择:";
    
    }
    
     
    
    Dengji::Dengji()   //构造函数
    
    {
    
    DenListHead = new DenNode;
    
    DenListHead->nextden = NULL;
    
    }
    
     
    
    Dengji::~Dengji()       //析构函数
    
    {
    
    DenNode *p;
    
    while (DenListHead)
    
    {
    
    p = DenListHead;
    
    DenListHead = DenListHead->nextden;
    
    delete p;
    
    }
    
    DenListHead = NULL;
    
    }
    
     
    
     
    
    void Dengji::DenShow()      //遍历输出
    
    {
    
    DenNode *p;
    
    cout << "来访人姓名" << '\t' << "来访理由" << '\t' << "联系方式" << '\t' << "来访时间"<<'\t'<<"离开时间" << endl;
    
    for (p = DenListHead->nextden; p != NULL; p = p->nextden)
    
    {
    
    cout << p->den_nam << '\t' << p->den_op << '\t' << p->den_tel << '\t' << p->den_intime<<'\t'<<p->den_outtime << endl;
    
    }
    
    }
    
     
    
     
    
    void Dengji::DenInsert(char* nam, char* op, char* tel,char* intime,char* outtime)     //插入信息(头插法)
    
    {
    
    DenNode *s, *p;
    
    s = new DenNode;
    
    strcpy(s->den_nam, nam);
    
    strcpy(s->den_op, op);
    
    strcpy(s->den_tel, tel);
    
    strcpy(s->den_intime, intime);
    
    strcpy(s->den_outtime, outtime);
    
    p = DenListHead;
    
    s->nextden = p->nextden;
    
    p->nextden = s;
    
    }
    
     
    
     
    
    DenNode *Dengji::DenFind(char* nam)
    
    {
    
    DenNode *p;
    
    p = DenListHead->nextden;
    
    while (p->nextden && strcmp(p->den_nam, nam) != 0)   //循环终止条件为p->nextru不为空 而且没有找到宿舍
    
    {
    
    p = p->nextden;
    
    }
    
    if (strcmp(p->den_nam, nam) == 0)
    
    {
    
    return p;
    
    }
    
    else
    
    {
    
    cout << "未找到外来登记信息!" << endl;
    
    return NULL;
    
    }
    
    }
    
     
    
    void Dengji::DenRead()    //从文件读入数据
    
    {
    
    DenNode *p;
    
    p = DenListHead;
    
    ifstream in("dengjia.txt");
    
    if (!in) { cout << "文件dengjia.txt中没有报修信息,请先录入报修信息!" << endl; return; }
    
    while (!in.eof())
    
    {
    
    char nam[40]; char op[40]; char tel[40]; char intime[40]; char outtime[40];
    
    in >> nam >> op >> tel >> intime >> outtime;
    
    DenInsert(nam, op, tel,intime,outtime);
    
     
    
    }
    
    }
    
     
    
    void Dengji::DenSave()   //保存信息
    
    {
    
    DenNode *p;
    
    p = DenListHead->nextden;
    
    ofstream out("dengjia.txt");
    
    if (!out) { cout << "不能打开文件dengjia.txt!" << endl; return; }
    
    while (p != NULL)
    
    {
    
    out << p->den_nam << '\t' << p->den_op << '\t' << p->den_tel << '\t' << p->den_intime << '\t' << p->den_outtime << endl;
    
    p = p->nextden;
    
    }
    
    }
    
     
    
    void Dengji::DenQuit()   //信息写入文件
    
    {
    
    char choice;
    
    cout << "是否保存登记信息:?(Y/N)";
    
    cin >> choice;
    
    if (choice == 'y' || choice == 'Y')
    
    {
    
    DenSave();
    
    cout << "登记信息已保存..." << endl;
    
    }
    
    }
    
    void dengji()
    
    {
    
    char nam[40], op[40], tel[40], intime[40];
    
    char outtime[40]="未离开";
    
    DenNode *pfind;
    
    Dengji dj;
    
    while (1)
    
    {
    
    system("pause");
    
    system("cls");
    
    DenMenu();
    
    int x;
    
    cin >> x;
    
    if (x == 0){
    
    return;
    
    }
    
    switch (x)
    
    {
    
    case 1:
    
    dj.DenRead();
    
    cout << "读入宿舍外来人员登记表:" << endl;
    
    dj.DenShow();
    
    break;
    
    case 2:
    
    time_t a;
    
    time(&a);
    
    cout << "来访人姓名:"; cin >> nam;
    
    cout << "来访理由:"; cin >> op;
    
    cout << "联系方式:"; cin >> tel;
    
    strcpy(intime, ctime(&a));
    
    dj.DenInsert(nam, op, tel, intime, outtime);
    
    cout << "请核对输入外来人员登记信息!" <<endl;
    
    dj.DenShow();
    
    break;
    
    case 3:
    
    time_t b;
    
    time(&b);
    
    cout << "来访人姓名:"; cin >> nam;
    
    pfind = dj.DenFind(nam);
    
    strcpy(pfind->den_outtime, ctime(&b));
    
    cout << "离开时间已登记!" << ctime(&b) << endl;
    
    break;
    
    case 4:
    
    cout << "请输入要查找来访人姓名:";
    
    cin >> nam;
    
    pfind = dj.DenFind(nam);
    
    cout << "要查找的人员:" << pfind->den_nam << "  来访理由:" << pfind->den_op << "  联系方式:" << pfind->den_tel << " 来访时间:" << pfind->den_intime<<"  离开时间:" <<pfind->den_outtime<< endl;
    
    break;
    
    case 5:
    
    dj.DenShow();
    
    break;
    
    case 6:
    
    dj.DenQuit();
    
    break;
    
    }
    
    }
    
    }
    
     
    
     
    
    #include"Chaqin.h"
    
     
    
    #define MAX_NUM 10000000
    
    #include <String>
    
    #include<ctime>
    
    #include <fstream>
    
    using namespace std;
    
    void chaqin()
    
    {
    
    int n;
    
    cout << "请输入楼层数:"; cin >> n;
    
    for (int i = 1; i <= n; i++){
    
    int a, b;
    
    cout << "请输入" << i << "楼层查寝宿舍区间:";
    
    cin >> a >> b;
    
    cout << i << "楼查寝宿舍" << endl;
    
    suijishu(a, b);
    
    cout << endl << endl;
    
    }
    
    }

     

     

    2、主函数:

     

     

    #include<iostream>
    
    #include<windows.h>
    
    #include "Sushe.h"
    
    #include "Ruzhu.h"
    
    #include"Fuzhu.h"
    
    #include"Weisheng.h"
    
    #include"Shoufei.h"
    
    #include"baoxiu.h"
    
    #include"Dengji.h"
    
    #include"Chaqin.h"
    
    #include<cstdlib>
    
     
    
    using namespace std;
    
     
    
    int main()
    
    {
    
    Systemdoor();
    
    cout << "   ********************************************************************************************************************" << endl;
    
    cout << "   ********************************************************************************************************************" << endl;
    
    cout << "   ********************************************************************************************************************" << endl;
    
    cout << "   ********************************************************************************************************************" << endl;
    
    cout << "   *******************                                                                              *******************" << endl;
    
    cout << "   *******************                                                                              *******************" << endl;
    
    cout << "   *******************                       欢迎进入学生宿舍管理信息管理系统                       *******************" << endl;
    
    cout << "   *******************                                                                              ******************" << endl;
    
    cout << "   *******************                                                                              *******************" << endl;
    
    cout << "   ********************************************************************************************************************" << endl;
    
    cout << "   ********************************************************************************************************************" << endl;
    
    cout << "   ********************************************************************************************************************" << endl;
    
    cout << "   ********************************************************************************************************************" << endl;
    
    while(1){
    
    system("pause");
    
    system("cls");      //清屏
    
    time_t t;
    
    time(&t);
    
    cout << "---------------------------------学生宿舍管理信息系统主菜单-------------------------------" << endl;
    
    cout << "\t\t          本地时间:" << ctime(&t);
    
    cout << "------------------------------------------------------------------------------------------\n" << endl;
    
    cout << "\t\t 0.安全退出系统   " << endl;
    
    cout << "\t\t 1.宿舍信息模块   " << endl;
    
    cout << "\t\t 2.学生入住模块  " << endl;
    
    cout << "\t\t 3.卫生检查模块 " << endl;
    
    cout << "\t\t 4.水电收费模块  " << endl;
    
    cout << "\t\t 5.房屋报修模块  " << endl;
    
    cout << "\t\t 6.外来人员登记  " << endl;
    
    cout << "\t\t 7.宿舍随机查寝 " << endl;
    
    cout << "\n\n\t请输入选择:";
    
    int x;
    
    cin >> x;
    
    if (x == 0)
    
    return 0;
    
    switch (x)
    
    {
    
    case 1:
    
    sushe();
    
    break;
    
    case 2:
    
    ruzhu();
    
    break;
    
    case 3:
    
    weisheng();
    
    break;
    
    case 4:
    
    shoufei();
    
    break;
    
    case 5:
    
    baoxiu();
    
    break;
    
    case 6:
    
    dengji();
    
    break;
    
    case 7:
    
    chaqin();
    
    break;
    
    }
    
    }
    
    cout << "退出成功!";
    
    return 0;
    
    }

     

     

     

     

     

    五、程序运行的测试与分析

     

     

     

     

     

    六、结论与心得

    经过两个星期左右的时间终于把课程设计做完啦,说实话心里终于可以放松。回头想想这两个星期的经历,感觉多走了很多弯路,掉的坑真是不应该!就比如说刚开始时的参数传递,如何将输入的汉字传入到类内函数中,就直接用字符数组最后用类内函数的字符指针参数进行引用输入的汉字即可,这么简单的问题我想了很久很久,查阅很多资料,最后还是看别人的例题才明白怎么使用,感觉以前的面向对象白学啦!

    在开始毫无头绪,不知道自己要怎么把这个宿舍管理系统做出来时,我想过用数据库,用java,百度发现有用c#写的,就是没有想到用C++写,就不知道C++还能做出来界面,感觉以前对C++面向对象编程只处于在输出hello Word,单个页面上面!真是悔恨对C++了解不深入。在那样一个情况下,课程设计又必须是C++写,怎么办?百度下把,结果令人失望的是没有这样的,我只能找了一个学生成绩系统的例子作参考,认真的看怎么写的程序,就这样把自己的课程设计做出来,从中学到很多知识,进一步了解什么叫编程,什么叫系统项目。

    从头到尾审视写的函数,感觉C++编程太厉害,比较以前在学C++的过程中又进一步认识到面向对象,以及系统的编程。仔细想想,自己写的程序不过皮毛,只用到一个链表存储和文本读写,其他高大上的编程还没有接触到,所以以后要更努力的学习,深入思考,多接触系统的项目!

    七、参考资料

    查阅资料:

    [1]谭浩强,c++面向对象程序设计,北京:清华大学出版社,2014

      [2]Stephen Prata , C++ Primer Plus中文版,北京:人民邮电出版,2012

     

    展开全文
  • 功能齐全,可以直接运行,实现学生离返校、住宿、报修等信息查询
  • 好东西,完整课设,受不受欢迎我就不多说了……大家不要吝惜啊
  • 系统采用了四个模块,分别是用户管理模块、学生管理模块、宿舍管理模块、学生住宿模块。本系统是用java语言开发的,由于java语言有跨平台的特点,所以本系统可在任何装有JDK的操作系统上运行。开发工具包括JDK1.6...
  • 学生宿舍管理系统正普数字化校园宿舍管理系统是为学校宿管科老师方便管理学生住宿情况设计的信息管理系统,通过宿舍管理系统可实时掌握学校公寓使用情况、每个公寓楼房间住宿情况、全校学生住宿情况、每个学生住宿...

    学生宿舍管理系统

    正普数字化校园宿舍管理系统是为学校宿管科老师方便管理学生住宿情况设计的信息管理系统,通过宿舍管理系统可实时掌握学校公寓使用情况、每个公寓楼房间住宿情况、全校学生住宿情况、每个学生住宿详细信息等等。它是基于网络的B/S结构程序,可与数字迎新系统、收费系统、数据中心结合使用,也可单独使用。

    宿舍管理系统涵盖了学生信息管理、公寓信息管理、学生入住管理、学生收费管理、学生退宿管理、日常操作管理等一系列有关宿舍管理的业务流程。系统不仅仅支持单条数据记录的处理更支持批量记录的处理,例如:批量生成房间、批量退宿、批量入住等;系统增加了特有的临客管理功能,为管理临时住宿人员提供便利;系统还提供了预分宿舍功能,可以在迎新现场直接为学生分配宿舍。

    宿舍调整支持多种方式,如:单人调整、两人互调、单个房间调整、两个房间互调。楼宇类型支持多种类型:筒子楼和单元楼。系统还提供了一些辅助管理功能,例如:学生违纪登记、物品维修登记、访客信息登记、物品借用登记。

    功能架构

    f3ccea90c5498df0ea902dfa191e4bb5.png

    系统特点

    界面友好,操作简单,采用Ext技术,页面风格一致,实现无刷新显示。

    查询条件灵活,统计报表强大。

    查询方式多样化:录入查询、刷卡查询、条码扫描查询三种方式快速便捷。

    系统支持记录的批量处理:批量生成房间、批量退宿、批量入住等。

    宿舍调整支持多种方式:单人调整、两人互调、单个房间调整、房间互调。

    系统提供了实用的图表分析功能、提供了公寓房间的床位分配情况。

    提供了不同层次的床位分层统计情况。

    基于学校宿舍管理方面设计,具有较强的针对性。

    通过浏览器页面进行显示,操作简便。

    具备较强的兼容性和可扩展性,能够集成到数字化校园平台运行。

    实现数据实时更新,满足管理人员对学校住宿情况的实时掌握。

    全面覆盖学校宿舍管理涉及的各方面信息,满足宿舍管理业务流程

    提供宿舍辅助管理功能,使宿舍管理更加完善。

    软件界面

    8ace21f6d36989c0d46ecc76a4bb4221.png

    d65f0676fb09248ef0733974bfc37d9b.png

    展开全文
  • 里面只是论文,用得到的话就去看看吧!
  • 关于大学生宿舍管理信息系统设计源程序代码,是这学期课程设计的结果哦~!~!有详细的说明。。。。。。
  • JAVA学生宿舍管理系统

    万次阅读 多人点赞 2019-01-22 21:28:14
    system.java (系统管理界面) sql.java (数据库操作,包括连接、断开、增删改查等操作) 一、登陆界面及代码 主要代码: 登陆按钮事件 public void actionPerformed(ActionEvent e) { // TODO Auto-...
  • 教室管理信息系统 学生宿舍管理系统 管理系统数据库 word
  • Java-学生宿舍管理系统

    万次阅读 多人点赞 2018-12-30 10:29:03
    这次记录的是最近完成的实训作业,学生宿舍管理系统,使用Java swing完成界面设计,数据库用的是SQL server,IDE使用的是IDEA 学生宿舍管理系统的用户有宿管和学生,宿管有最高的权限,学生只有部分权限, 一、...
  • 数据库课程设计说明书 包括:点菜系统数据库说明书1.0.doc 概念设计文档.doc 后台管理员使用说明书.doc 教室管理信息系统说明书.doc 学生宿舍管理系统需求分析说明书.doc 用户使用说明书.doc
  • 学生宿舍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。而对于前端...
  • 使用支持C语言的Microsoft Visual Stdio 等开发软件设计一个学生宿舍信息管理程序,实现学生宿舍信息的录入、查询、删除和修改的功能。
  • 【题目】学生宿舍管理系统 考查点:线性结构、文件操作 注意:必须使用文件存储数据,不得使用数据库管理系统。 任务:通过此系统可以实现如下功能: 录入: 可以录入宿舍情况,包括宿舍号、可容纳学生数、已容纳...
  • 一个简单的学生宿舍信息管理系统 基本功能都有
  • PHP学生宿舍管理系统通过PHP+MySQL进行开发,系统主要分为管理员,协管员,教师和学生4中用户角色用户登录界面在登陆录界面,我们分为管理员,协管员,教师和学生四部分。多用户输入对应的用户名和密...
  • 学生宿舍管理系统

    2015-09-24 21:29:08
    学生宿舍管理系统

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,237
精华内容 2,494
关键字:

学生宿舍管理信息系统