数据结构与算法程序设计——宿舍管理系统

数据结构与算法程序设计——宿舍管理系统,第1张

概述本文章向大家介绍数据结构算法程序设计——宿舍管理系统,主要包括数据结构与算法程序设计——宿舍管理系统使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

#include

@H_404_4@

#include

@H_404_4@

#include

@H_404_4@

#include

@H_404_4@

#include

@H_404_4@

#define MAX 10

@H_404_4@

using namespace std;

@H_404_4@

struct Stu

@H_404_4@

{

@H_404_4@

    char seID[20];

@H_404_4@

    char sename[20];

@H_404_4@

    char cGender[10];

@H_404_4@

    char seCollege[40];

@H_404_4@

    char seMajor[40];

@H_404_4@

    char seClass[40];

@H_404_4@

    char seDrom[20];

@H_404_4@

};

@H_404_4@

typedef struct Student

@H_404_4@

{

@H_404_4@

    struct Stu date;

@H_404_4@

    struct Student *next;

@H_404_4@

} Student;

@H_404_4@

struct DORM

@H_404_4@

{

@H_404_4@

    char dorm[20];

@H_404_4@

    int stuNum;

@H_404_4@

};

@H_404_4@

typedef struct Dorm

@H_404_4@

{

@H_404_4@

    struct DORM date;

@H_404_4@

    struct Dorm *next;

@H_404_4@

    Student *next1;

@H_404_4@

} Dorm;

@H_404_4@

struct FlOOR

@H_404_4@

{

@H_404_4@

    char floor[20];

@H_404_4@

    int DormNum;

@H_404_4@

};

@H_404_4@

typedef struct Floor

@H_404_4@

{

@H_404_4@

    struct FlOOR date;

@H_404_4@

    struct Floor *next;

@H_404_4@

    struct Dorm *next1;

@H_404_4@

} Floor;

struct BUILD

@H_404_4@

{

@H_404_4@

    char build[20];

@H_404_4@

    int floorNum;

@H_404_4@

};

@H_404_4@

typedef struct Building

@H_404_4@

{

@H_404_4@

    struct Floor *next1;

@H_404_4@

    struct BUILD date;

@H_404_4@

} Building;

int SentenceFull(int n);//判满

@H_404_4@

voID Legalinput(char *str,int n);//数字字符串合法输入

@H_404_4@

voID stringinput(char *str,int n);//合法输入

@H_404_4@

voID SexSelection(char *str);//性别选择

voID print_Stu(struct Stu F);//输出学生详情

@H_404_4@

voID print_Dorm(Dorm *F);//输出寝室详情

@H_404_4@

voID print_Floor(Floor *F);//输出楼层详情

@H_404_4@

voID print_Build(Building *F);//输出宿舍楼详情

@H_404_4@

Student *Tofind_stu(Student *F,char ID[]);//按学号查找学生

@H_404_4@

Dorm *Tofind_dorm(Dorm *F,char ID[],int n);//按寝室号查找寝室,n>4,嵌套查学生

@H_404_4@

Floor *Tofind_floor(Floor *F,char ID,int n);//按楼层号查找楼层

voID Find_Stu(Student *F);//查找 并输出学生详情

@H_404_4@

voID Find_Dorm(Dorm *F);//查找并输出寝室详情

@H_404_4@

voID Find_Floor(Floor *F);//查找并输出楼层详情

voID Sort_stu(Student *L);//按学号将学生从小到大排序

@H_404_4@

voID Sort_Dorm(Dorm *L);//按寝室号将寝室从小到大排序

@H_404_4@

voID Sort_Floor(Floor *L);//按楼层号将楼层从小到大排序

voID Studentinformation(struct Stu *F,char dorm[]);//录入学生信息

@H_404_4@

voID CreatStudent(Student **F,char dorm[],int n);//创建n个学生

@H_404_4@

voID CreatDorm(Dorm **F,int n);//创建n个寝室

@H_404_4@

voID CreatFloor(Floor **F,int n);//创建n层楼层

@H_404_4@

voID CreatBuild(Building **F,int n);//创建n栋大楼

voID modify_stu(Student *F);//修改学生信息

@H_404_4@

voID DeleteStudet(Student **F,char ID[]);//按学号删除学生

voID Delete_Stu(Student **D);//删除学生,寝室版

@H_404_4@

int Delete_Dorm(Dorm **L,char dorm[]);//删除寝室

@H_404_4@

int Delete_Floor(Floor **L,char floor[]);//删除楼层

int DestroyDorm(Student **L);//清空寝室内所有学生,需手动改变学生数量(D->date.stunum)

@H_404_4@

int DestroyFloor(Dorm **L);//清空楼层所有寝室,需手动改变寝室数量(D->date.dornNum)

@H_404_4@

int DestroyBuild(Floor **L);//清空大楼

int  OperationDorm(Dorm **F);//寝室 *** 作

@H_404_4@

int OperationFloor(Floor **F);//楼层 *** 作

@H_404_4@

int OperationBuild(Building **F);//大楼 *** 作

int fileStore(Building *B);//从文件读取

@H_404_4@

int fileRead(Building **D);//存储链表到文件

@H_404_4@

//判断选择

@H_404_4@

int SentenceFull(int n)

@H_404_4@

{

@H_404_4@

    int x;

@H_404_4@

    scanf("%d",&x);

@H_404_4@

    if(n+x<=MAX&&x>=0)

@H_404_4@

    {

@H_404_4@

        return x;

@H_404_4@

    }

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        printf("输入错误,请重新输入n");

@H_404_4@

        SentenceFull(n);

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID stringinput(char *str,int n)//合法输入

@H_404_4@

{

@H_404_4@

    scanf("%s",str);

@H_404_4@

    getchar();

@H_404_4@

    while(strlen(str)>n)

@H_404_4@

    {

@H_404_4@

        printf("长度超过 %d,重新输入n",n);

@H_404_4@

        scanf("%s",str);

@H_404_4@

        getchar();

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID Legalinput(char *str,int n)//数字字符串合法输入

@H_404_4@

{

@H_404_4@

    scanf("%s",str);

@H_404_4@

    getchar();

@H_404_4@

    int i=0;

@H_404_4@

    if(strlen(str)

@H_404_4@

    {

@H_404_4@

        for(int i=0; i

@H_404_4@

        {

@H_404_4@

            if(str[i]>'9'||str[i]<'0')

@H_404_4@

            {

@H_404_4@

                printf("输入的字符非数字,请重新输入n");

@H_404_4@

                Legalinput(str,n);

@H_404_4@

            }

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

    if(strlen(str)>n)

@H_404_4@

    {

@H_404_4@

        printf("长度超过 %d,n);

@H_404_4@

        Legalinput(str,n);

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID SexSelection(char *str)//性别选择

@H_404_4@

{

@H_404_4@

    printf("男0,女1  ");

@H_404_4@

    int n=0;

@H_404_4@

    scanf("%d",&n);

@H_404_4@

    if(n==0)

@H_404_4@

        strcpy(str,"男");

@H_404_4@

    if(n==1)

@H_404_4@

        strcpy(str,"女");

}

@H_404_4@

//输出

@H_404_4@

voID print_Stu(struct Stu F)

@H_404_4@

{

@H_404_4@

    printf("----------------------------n");

@H_404_4@

    printf("|                          |n");

@H_404_4@

    printf("|学号:     %s       n",F.seID);

@H_404_4@

    printf("|名字:     %s      n",F.sename);

@H_404_4@

    printf("|性别:     %s     n",F.cGender);

@H_404_4@

    printf("|寝室:     %s      n",F.seDrom);

@H_404_4@

    printf("|学院:     %s   n",F.seCollege);

@H_404_4@

    printf("|专业:     %s     n",F.seMajor);

@H_404_4@

    printf("|班级:     %s     n",F.seClass);

@H_404_4@

    printf("|                          |n");

@H_404_4@

    printf("----------------------------n");

@H_404_4@

}

@H_404_4@

voID print_Dorm(Dorm *F)

@H_404_4@

{

@H_404_4@

    printf("      寝室号:  %sn",F->date.dorm);

@H_404_4@

    Student *p1;

@H_404_4@

    p1=F->next1;

@H_404_4@

    if(F->date.stuNum==0)

@H_404_4@

        printf("寝室为空n");

@H_404_4@

    while(p1!=NulL)

@H_404_4@

    {

@H_404_4@

        printf("------------------------n");

@H_404_4@

        printf("学号:%s   n",p1->date.seID);

@H_404_4@

        printf("名字:%s n",p1->date.sename);

@H_404_4@

        printf("------------------------n");

@H_404_4@

        p1=p1->next;

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID print_Floor(Floor *F)

@H_404_4@

{

@H_404_4@

    printf("       楼层名:%s  n",F->date.floor);

@H_404_4@

    Dorm *p1;

@H_404_4@

    p1=F->next1;

@H_404_4@

    if(F->date.DormNum==0)

@H_404_4@

        printf("楼层为空n");

@H_404_4@

    while(p1!=NulL)

@H_404_4@

    {

@H_404_4@

        printf("---------------------------n");

@H_404_4@

        printf("寝室号:%s    n",p1->date.dorm);

@H_404_4@

        printf("学生数量:%dn",p1->date.stuNum);

@H_404_4@

        printf("---------------------------n");

@H_404_4@

        p1=p1->next;

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID print_Build(Building *F)

@H_404_4@

{

@H_404_4@

    printf("        大楼:  %sn",F->date.build);

@H_404_4@

    Floor *p1;

@H_404_4@

    p1=F->next1;

@H_404_4@

    if(F->date.floorNum==0)

@H_404_4@

        printf("大楼为空n");

@H_404_4@

    while(p1!=NulL)

@H_404_4@

    {

@H_404_4@

        printf("----------------------------n");

@H_404_4@

        printf("楼层名:%s    n",p1->date.floor);

@H_404_4@

        printf("寝室数量:%dn",p1->date.DormNum);

@H_404_4@

        printf("----------------------------n");

@H_404_4@

        p1=p1->next;

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

//查找

@H_404_4@

Student *Tofind_stu(Student *F,char ID[])//查学生

@H_404_4@

{

@H_404_4@

    Student *p1,*p2=NulL;

@H_404_4@

    p1=F;

@H_404_4@

    while(p1!=NulL)

@H_404_4@

    {

@H_404_4@

        if(strcmp(p1->date.seID,ID)==0)

@H_404_4@

        {

@H_404_4@

            p2=p1;

            break;

@H_404_4@

        }

@H_404_4@

        if(strcmp(p1->date.sename,ID)==0)

@H_404_4@

        {

@H_404_4@

            p2=p1;

@H_404_4@

            break;

@H_404_4@

        }

@H_404_4@

        else p1=p1->next;

@H_404_4@

    }

@H_404_4@

    if(p1==NulL)

@H_404_4@

        return p1;

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        return p2;

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

Dorm *Tofind_dorm(Dorm *F,int n)

@H_404_4@

{

@H_404_4@

    Dorm *p1,*p2=NulL;

@H_404_4@

    p1=F;

@H_404_4@

    int flag=0;

@H_404_4@

    while(p1!=NulL)

@H_404_4@

    {

@H_404_4@

        if(n>4)

@H_404_4@

        {

@H_404_4@

            Tofind_stu(p1->next1,ID);

@H_404_4@

        }

@H_404_4@

        if(strcmp(p1->date.dorm,ID)==0)

@H_404_4@

        {

@H_404_4@

            p2=p1;

@H_404_4@

            break;

@H_404_4@

        }

@H_404_4@

        else p1=p1->next;

@H_404_4@

    }

@H_404_4@

    if(p1==NulL)

@H_404_4@

        return p1;

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        return p2;

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

Floor *Tofind_floor(Floor *F,int n)

@H_404_4@

{

@H_404_4@

    Floor *p1,*p2=NulL;

@H_404_4@

    p1=F;

@H_404_4@

    int flag=0;

@H_404_4@

    while(p1!=NulL)

@H_404_4@

    {

@H_404_4@

        if(n>3)

@H_404_4@

        {

@H_404_4@

            Tofind_dorm(p1->next1,ID,n);

@H_404_4@

        }

@H_404_4@

        if(strcmp(p1->date.floor,ID)==0)

@H_404_4@

        {

@H_404_4@

            p2=p1;

@H_404_4@

            break;

@H_404_4@

        }

@H_404_4@

        else p1=p1->next;

@H_404_4@

    }

@H_404_4@

    if(p1==NulL)

@H_404_4@

        return p1;

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        return p2;

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

//查找加输出

@H_404_4@

voID Find_Stu(Student *F)

@H_404_4@

{

@H_404_4@

    Student *p1=NulL;

@H_404_4@

    char ID[20];

@H_404_4@

    printf("查询学生学号:    ");

@H_404_4@

    Legalinput(ID,20);

@H_404_4@

    p1=Tofind_stu(F,ID);

@H_404_4@

    if(p1==NulL)

@H_404_4@

    {

@H_404_4@

        printf("该学生不存在n");

@H_404_4@

        printf("----------------------------nn");

@H_404_4@

    }

@H_404_4@

    if(p1)

@H_404_4@

    {

@H_404_4@

        printf("----------------------------n");

@H_404_4@

        printf("|                          |n");

@H_404_4@

        print_Stu(p1->date);

@H_404_4@

        printf("|   修改信息 1     返回    |n");

@H_404_4@

        printf("|                          |n");

@H_404_4@

        printf("----------------------------nn");

@H_404_4@

        int n;

@H_404_4@

        scanf("%d",&n);

@H_404_4@

        if(n==1)

@H_404_4@

        {

@H_404_4@

            modify_stu(p1);

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID Find_Dorm(Dorm *F)

@H_404_4@

{

@H_404_4@

    Dorm *p1=NulL;

@H_404_4@

    char ID[20];

@H_404_4@

    printf("查询寝室:   ");

@H_404_4@

    scanf("%s",ID);

@H_404_4@

    p1=Tofind_dorm(F,4);

@H_404_4@

    if(p1==NulL)

@H_404_4@

    {

@H_404_4@

        printf("该寝室不存在n");

@H_404_4@

        printf("----------------------------nn");

@H_404_4@

    }

@H_404_4@

    if(p1)

@H_404_4@

    {

@H_404_4@

        printf("----------------------------n");

@H_404_4@

        printf("|                          |n");

@H_404_4@

        print_Dorm(p1);

@H_404_4@

        printf("|     *** 作   1      返回    |n");

@H_404_4@

        printf("|                          |n");

@H_404_4@

        printf("----------------------------nn");

@H_404_4@

        int n;

@H_404_4@

        scanf("%d",&n);

@H_404_4@

        if(n==1)

@H_404_4@

        {

@H_404_4@

            OperationDorm(&p1);

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID Find_Floor(Floor *F)

@H_404_4@

{

@H_404_4@

    Floor *p1=NulL;

@H_404_4@

    char ID[20];

@H_404_4@

    printf("查询楼层:   ");

@H_404_4@

    scanf("%s",ID);

@H_404_4@

    p1=Tofind_floor(F,3);

    if(p1==NulL)

@H_404_4@

    {

@H_404_4@

        printf("该楼层不存在n");

@H_404_4@

        printf("----------------------------nn");

@H_404_4@

    }

@H_404_4@

    if(p1)

@H_404_4@

    {

@H_404_4@

        printf("----------------------------n");

@H_404_4@

        printf("|                          |n");

@H_404_4@

        print_Floor(p1);

@H_404_4@

        printf("|     *** 作 1   返回         |n");

@H_404_4@

        printf("|                          |n");

@H_404_4@

        printf("----------------------------nn");

@H_404_4@

        int n;

@H_404_4@

        scanf("%d",&n);

@H_404_4@

        if(n==1)

@H_404_4@

        {

@H_404_4@

            OperationFloor(&p1);

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

//排序

@H_404_4@

voID Sort_stu(Student *L)

@H_404_4@

{

@H_404_4@

    Student *p,*q;

@H_404_4@

    Stu temp;

@H_404_4@

    for (p=L; p!=NulL; p=p->next)

@H_404_4@

    {

@H_404_4@

        for(q=p->next; q!=NulL; q=q->next)

@H_404_4@

        {

@H_404_4@

            if(strcmp(p->date.seID,q->date.seID)<0)

@H_404_4@

            {

@H_404_4@

                temp=q->date;

@H_404_4@

                q->date=p->date;

@H_404_4@

                p->date=temp;

@H_404_4@

            }

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID Sort_Dorm(Dorm *L)

@H_404_4@

{

@H_404_4@

    Dorm *p,*q;

@H_404_4@

    Dorm temp;

@H_404_4@

    for (p=L; p!=NulL; p=p->next)

@H_404_4@

    {

@H_404_4@

        for(q=p->next; q!=NulL; q=q->next)

@H_404_4@

        {

@H_404_4@

            if(strcmp(p->date.dorm,q->date.dorm)<0)

@H_404_4@

            {

@H_404_4@

                temp.date=q->date;

@H_404_4@

                temp.next1=q->next1;

@H_404_4@

                q->date=p->date;

@H_404_4@

                q->next1=p->next1;

@H_404_4@

                p->date=temp.date;

@H_404_4@

                p->next1=temp.next1;

@H_404_4@

            }

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID Sort_Floor(Floor *L)

@H_404_4@

{

@H_404_4@

    Floor *p,*q;

@H_404_4@

    Floor  temp;

@H_404_4@

    for (p=L; p!=NulL; p=p->next)

@H_404_4@

    {

@H_404_4@

        for(q=p->next; q!=NulL; q=q->next)

@H_404_4@

        {

@H_404_4@

            if(strcmp(p->date.floor,q->date.floor)<0)

@H_404_4@

            {

@H_404_4@

                temp.date=q->date;

@H_404_4@

                temp.next1=q->next1;

@H_404_4@

                q->date=p->date;

@H_404_4@

                q->next1=p->next1;

@H_404_4@

                p->date=temp.date;

@H_404_4@

                p->next1=temp.next1;

@H_404_4@

            }

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

//创建

@H_404_4@

voID Studentinformation(struct Stu *F,char dorm[])//录入学生信息

@H_404_4@

{

@H_404_4@

    char ID[20];

@H_404_4@

    printf("-------------------------------------n");

@H_404_4@

    printf("学号:  ");

@H_404_4@

    Legalinput(ID,20);

@H_404_4@

    if(ID=="000")

@H_404_4@

        F=NulL;

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        strcpy((*F).seID,ID);

@H_404_4@

        printf("名字:  ");

@H_404_4@

        stringinput( (*F).sename,20);

@H_404_4@

        printf("性别:  ");

@H_404_4@

        SexSelection((*F).cGender);

@H_404_4@

        printf("学院:  ");

@H_404_4@

        stringinput((*F).seCollege,40);

@H_404_4@

        printf("专业:   ");

@H_404_4@

        stringinput((*F).seMajor,40);

@H_404_4@

        printf("班级:   ");

@H_404_4@

        stringinput( (*F).seClass,40);

@H_404_4@

        strcpy((*F).seDrom,dorm);

@H_404_4@

        printf("n学生%s 信息录入成功n",(*F).sename);

@H_404_4@

        printf("-------------------------------------nn");

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID CreatStudent(Student **F,int n)//插入n个学生

@H_404_4@

{

@H_404_4@

    if(n==0)

@H_404_4@

        (*F)=NulL;

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        for(int i=0; i

@H_404_4@

        {

@H_404_4@

            Student *p1=new Student;

@H_404_4@

            Studentinformation(&(p1->date),dorm);

@H_404_4@

            p1->next = NulL;

@H_404_4@

            if(*F)

@H_404_4@

            {

@H_404_4@

                p1->next=(*F)->next;

@H_404_4@

                (*F)->next=p1;

@H_404_4@

            }

@H_404_4@

            else

@H_404_4@

            {

@H_404_4@

                *F = p1;

@H_404_4@

            }

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

}

voID CreatDorm(Dorm **F,int n)//创建寝室

@H_404_4@

{

@H_404_4@

    if(n==0)

@H_404_4@

        (*F)=NulL;

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        for(int i=0; i

@H_404_4@

        {

@H_404_4@

            Dorm *p1;

@H_404_4@

            int num;

@H_404_4@

            printf("n-------------------------------------n");

@H_404_4@

            printf("寝室号:   ");

@H_404_4@

            char ID[20];

@H_404_4@

            scanf("%s",ID);

@H_404_4@

            printf("寝室学生人数(<=10):    ");//输入寝室人数

@H_404_4@

            scanf("%d",&num);

@H_404_4@

            if(num<0)

@H_404_4@

                p1=NulL;

@H_404_4@

            else

@H_404_4@

            {

@H_404_4@

                p1=new Dorm;

@H_404_4@

                p1->date.stuNum=num;

@H_404_4@

                strcpy(p1->date.dorm,ID);

@H_404_4@

                Student * D = NulL;

@H_404_4@

                CreatStudent(&D,num);

@H_404_4@

                p1->next1=D;

@H_404_4@

            }

@H_404_4@

            p1->next=NulL;

@H_404_4@

            if(*F)

@H_404_4@

            {

@H_404_4@

                p1->next=(*F)->next;

@H_404_4@

                (*F)->next=p1;

@H_404_4@

            }

@H_404_4@

            else

@H_404_4@

            {

@H_404_4@

                *F = p1;

@H_404_4@

            }

@H_404_4@

        }

@H_404_4@

        printf("寝室%s创建成功n",(*F)->date.dorm);

@H_404_4@

        printf("-------------------------------------nn");

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID CreatFloor(Floor **F,int n)//创建楼层

@H_404_4@

{

@H_404_4@

    if(n==0)

@H_404_4@

        (*F)=NulL;

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        for(int i=0; i

@H_404_4@

        {

@H_404_4@

            Floor *p1;

@H_404_4@

            int num;

@H_404_4@

            printf("-------------------------------------nn");

@H_404_4@

            printf("楼层名:");

@H_404_4@

            char floor[20];

@H_404_4@

            scanf("%s",floor);

@H_404_4@

            printf("楼层寝室数量:(<=10)");//输入寝室数量

@H_404_4@

            scanf("%d",&num);

@H_404_4@

            if(num<0)

@H_404_4@

                p1=NulL;

@H_404_4@

            else

@H_404_4@

            {

                p1=new Floor;

@H_404_4@

                p1->date.DormNum=num;

@H_404_4@

                strcpy(p1->date.floor,floor);

                printf("请输入寝室信息n");

@H_404_4@

                Dorm * D = NulL;

@H_404_4@

                CreatDorm(&D,p1->date.DormNum);

@H_404_4@

                p1->next1=D;

@H_404_4@

            }

@H_404_4@

            p1->next=NulL;

@H_404_4@

            if(*F!=NulL)

@H_404_4@

            {

@H_404_4@

                p1->next=(*F)->next;

@H_404_4@

                (*F)->next=p1;

            }

@H_404_4@

            else

@H_404_4@

            {

@H_404_4@

                *F=p1;

@H_404_4@

            }

@H_404_4@

        }

@H_404_4@

        printf("楼层%s创建成功nn",(*F)->date.floor);

@H_404_4@

        printf("-------------------------------------nn");

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

voID CreatBuild(Building **F)

@H_404_4@

{

    Building *p1;

@H_404_4@

    printf("            创建宿舍楼n");

@H_404_4@

    printf("-------------------------------------n");

@H_404_4@

    printf("宿舍楼名称:  ");

@H_404_4@

    char build[20];

@H_404_4@

    scanf("%s",build);

@H_404_4@

    int num;

@H_404_4@

    printf("楼层数量:(<=10)  ");

@H_404_4@

    num=SentenceFull(0);

@H_404_4@

    if(num<0)

@H_404_4@

        p1=NulL;

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        p1=new  Building;

@H_404_4@

        p1->date.floorNum=num;

@H_404_4@

        strcpy(p1->date.build,build);

@H_404_4@

        printf("           请输入楼层信息n");

@H_404_4@

        printf("-------------------------------------nn");

@H_404_4@

        Floor * D = NulL;

@H_404_4@

        CreatFloor(&D,p1->date.floorNum);

@H_404_4@

        p1->next1=D;

@H_404_4@

    }

@H_404_4@

    *F = p1;

}

@H_404_4@

//修改

@H_404_4@

voID modify_stu(Student *F)//学生信息修改

@H_404_4@

{

@H_404_4@

    printf("_____________________________n");

@H_404_4@

    printf("|修改名字 1      ");

@H_404_4@

    printf("修改学号 2      n");

@H_404_4@

    printf("|修改性别 3      |");

@H_404_4@

    printf("修改班级 4      n");

@H_404_4@

    printf("|修改学院 5      ");

@H_404_4@

    printf("修改专业 6      |n");

@H_404_4@

    printf("_____________________________n");

@H_404_4@

    printf("请输入选择:");

@H_404_4@

    int n;

@H_404_4@

    scanf("%d",&n);

@H_404_4@

    if(F!=NulL)

@H_404_4@

    {

@H_404_4@

        if(n==1)

@H_404_4@

        {

@H_404_4@

            printf("输入修改后学生名字.");

@H_404_4@

            char name[20];

@H_404_4@

            stringinput(name,20);

@H_404_4@

            memset(F->date.sename,'',20*sizeof(char));

@H_404_4@

            strcpy(F->date.sename,name);

@H_404_4@

        }

@H_404_4@

        if(n==2)

@H_404_4@

        {

@H_404_4@

            printf("输入修改后学生学号 ");

@H_404_4@

            char ID[20];

@H_404_4@

            scanf("%s",ID);

@H_404_4@

            memset(F->date.seID,20*sizeof(char));

@H_404_4@

            strcpy(F->date.seID,ID);

@H_404_4@

        }

@H_404_4@

        if(n==3)

@H_404_4@

        {

@H_404_4@

            printf("输入学生性别");

@H_404_4@

            char Gender[10];

@H_404_4@

            SexSelection(Gender);

@H_404_4@

            memset(F->date.cGender,10*sizeof(char));

@H_404_4@

            strcpy(F->date.cGender,Gender);

@H_404_4@

        }

@H_404_4@

        if(n==4)

@H_404_4@

        {

@H_404_4@

            printf("输入修改后学生所在班级");

@H_404_4@

            char College[40];

@H_404_4@

            stringinput( College,40);

@H_404_4@

            memset(F->date.seCollege,40*sizeof(char));

@H_404_4@

            strcpy(F->date.seCollege,College);

@H_404_4@

        }

@H_404_4@

        if(n==5)

@H_404_4@

        {

@H_404_4@

            printf("输入修改后学生所在学院");

@H_404_4@

            char Major[40];

@H_404_4@

            stringinput(Major,40);

@H_404_4@

            memset(F->date.seMajor,40*sizeof(char));

@H_404_4@

            strcpy(F->date.seMajor,Major);

@H_404_4@

        }

@H_404_4@

        if(n==6)

@H_404_4@

        {

@H_404_4@

            printf("输入修改后学生所在专业 ");

@H_404_4@

            char Class[40];

@H_404_4@

            stringinput( Class,40);

@H_404_4@

            memset(F->date.seClass,40*sizeof(char));

@H_404_4@

            strcpy(F->date.seClass,Class);

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

//删除

@H_404_4@

voID  DeleteStudet(Student **F,char ID[])//删除学生

@H_404_4@

{

@H_404_4@

    Student  *p=*F;

@H_404_4@

    Student  *q=NulL;

@H_404_4@

    if(strcmp(p->date.seID,ID)==0)

@H_404_4@

    {

@H_404_4@

        *F=p->next;

@H_404_4@

        free(p);

@H_404_4@

    }

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        while(p!=NulL)

@H_404_4@

        {

@H_404_4@

            q=p;

@H_404_4@

            p=p->next;

@H_404_4@

            if (p == NulL)//遍历完也没找到

@H_404_4@

            {

@H_404_4@

                printf("没有找到要删除的学生n");

@H_404_4@

            }

@H_404_4@

            else if(strcmp(p->date.seID,ID)==0)

@H_404_4@

            {

@H_404_4@

                q->next = p->next;

@H_404_4@

                delete(p);

@H_404_4@

                break;

@H_404_4@

            }

@H_404_4@

            else

@H_404_4@

            {

@H_404_4@

                printf("没有找到要删除的学生n");

@H_404_4@

            }

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

}

voID Delete_Stu(Student **D)

@H_404_4@

{

@H_404_4@

    char ID[20];

@H_404_4@

    printf("-------------------------------------n");

@H_404_4@

    printf("请输入要删除学生的学号n");

@H_404_4@

    Legalinput(ID,20);

@H_404_4@

    DeleteStudet(D,ID);

@H_404_4@

    printf("学生%s已删除n",ID);

@H_404_4@

    printf("-------------------------------------nn");

@H_404_4@

}

@H_404_4@

int Delete_Dorm(Dorm **L,char dorm[])//删除寝室

@H_404_4@

{

@H_404_4@

    Dorm *p=*L;

@H_404_4@

    Dorm  *q=NulL;

@H_404_4@

    if(strcmp(p->date.dorm,dorm)==0)

@H_404_4@

    {

@H_404_4@

        *L=p->next;

@H_404_4@

        free(p);

@H_404_4@

    }

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        while(p!=NulL)

@H_404_4@

        {

@H_404_4@

            q=p;

@H_404_4@

            p=p->next;

@H_404_4@

            if (p == NulL)//遍历完也没找到

@H_404_4@

            {

@H_404_4@

                printf("没有找到要删除的寝室n");

@H_404_4@

            }

@H_404_4@

            else if(strcmp(p->date.dorm,dorm)==0)

@H_404_4@

            {

@H_404_4@

                DestroyDorm(&q->next1);

@H_404_4@

                q->next = p->next;

@H_404_4@

                delete(p);

@H_404_4@

                break;

@H_404_4@

            }

@H_404_4@

            else

@H_404_4@

            {

@H_404_4@

                printf("没有找到要删除的寝室n");

@H_404_4@

            }

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

int Delete_Floor(Floor **L,char floor[])

@H_404_4@

{

@H_404_4@

    Floor *p=*L;

@H_404_4@

    Floor  *q=NulL;

@H_404_4@

    if(strcmp(p->date.floor,floor)==0)

@H_404_4@

    {

@H_404_4@

        *L=p->next;

@H_404_4@

        free(p);

@H_404_4@

    }

@H_404_4@

    else

@H_404_4@

    {

@H_404_4@

        while(p!=NulL)

@H_404_4@

        {

@H_404_4@

            q=p;

@H_404_4@

            p=p->next;

@H_404_4@

            if (p == NulL)//遍历完也没找到

@H_404_4@

            {

@H_404_4@

                printf("没有找到要停用的楼层n");

@H_404_4@

            }

@H_404_4@

            else if(strcmp(p->date.floor,floor)==0)

@H_404_4@

            {

@H_404_4@

                DestroyFloor(&q->next1);

@H_404_4@

                q->next = p->next;

@H_404_4@

                delete(p);

@H_404_4@

                break;

@H_404_4@

            }

@H_404_4@

            else

@H_404_4@

            {

@H_404_4@

                printf("没有找到要停用的楼层n");

@H_404_4@

            }

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

int DestroyDorm(Student **L)//清空寝室

@H_404_4@

{

@H_404_4@

    Student *q;

@H_404_4@

    while(*L)

@H_404_4@

    {

@H_404_4@

        q=(*L)->next;

@H_404_4@

        free(*L);

@H_404_4@

        *L=q;

@H_404_4@

    }

@H_404_4@

    return 1;

@H_404_4@

}

@H_404_4@

int DestroyFloor(Dorm **L)//清空楼层

@H_404_4@

{

@H_404_4@

    Dorm *q;

@H_404_4@

    while(*L)

@H_404_4@

    {

@H_404_4@

        q=(*L)->next;

@H_404_4@

        Dorm * D =*L;

@H_404_4@

        DestroyDorm(&D->next1);

@H_404_4@

        free(*L);

@H_404_4@

        *L=q;

@H_404_4@

    }

@H_404_4@

    return 1;

@H_404_4@

}

@H_404_4@

int DestroyBuild(Floor **L)//清空大楼

@H_404_4@

{

@H_404_4@

    Floor *q;

@H_404_4@

    while(*L)

@H_404_4@

    {

@H_404_4@

        q=(*L)->next;

@H_404_4@

        Floor * D =*L;

@H_404_4@

        DestroyFloor(&D->next1);

@H_404_4@

        free(*L);

@H_404_4@

        *L=q;

@H_404_4@

    }

@H_404_4@

    return 1;

@H_404_4@

}

@H_404_4@

// *** 作

@H_404_4@

int  OperationDorm(Dorm **F)

@H_404_4@

{

@H_404_4@

    Dorm * D = NulL;

@H_404_4@

    D=*F;

@H_404_4@

    printf("------------------------------------n");

@H_404_4@

    printf("|                                  |n");

@H_404_4@

    printf("|    寝室详情 0      清空寝室 1    |n");

@H_404_4@

    printf("|    添加学生 2      查看学生 3    |n");

@H_404_4@

    printf("|    修改学生 4      删除学生 5    |n");

@H_404_4@

    printf("|               退出               |n");

@H_404_4@

    printf("|                                  |n");

@H_404_4@

    printf("------------------------------------n");

@H_404_4@

    int n;

@H_404_4@

    scanf("%d",&n);

@H_404_4@

    if(n==0)//寝室详情

@H_404_4@

    {

@H_404_4@

        print_Dorm(D);

@H_404_4@

        OperationDorm(&D);

@H_404_4@

    }

@H_404_4@

    if(n==1)//清空寝室

@H_404_4@

    {

@H_404_4@

        if(D->date.stuNum>0)

@H_404_4@

        {

@H_404_4@

            DestroyDorm(&D->next1);

@H_404_4@

            D->date.stuNum=0;

@H_404_4@

            printf("寝室已清空n");

@H_404_4@

        }

@H_404_4@

        else printf("寝室为空n");

@H_404_4@

        OperationDorm(&D);

@H_404_4@

    }

@H_404_4@

    if(n==2)//添加学生

@H_404_4@

    {

@H_404_4@

        if( D->date.stuNum

@H_404_4@

        {

@H_404_4@

            int x;

@H_404_4@

            printf("请输入添加学生数量<=%dn",MAX-D->date.stuNum);

@H_404_4@

            x=SentenceFull(D->date.stuNum);

@H_404_4@

            CreatStudent(&D->next1,*&(D->date.dorm),x);

@H_404_4@

            D->date.stuNum=D->date.stuNum+x;

@H_404_4@

            Sort_stu(D->next1);

@H_404_4@

        }

@H_404_4@

        else printf("寝室已满");

@H_404_4@

        OperationDorm(&D);

@H_404_4@

    }

@H_404_4@

    if(n==3)//查看学生

@H_404_4@

    {

@H_404_4@

        if(D->date.stuNum>0)

@H_404_4@

        {

@H_404_4@

            Find_Stu(D->next1);

@H_404_4@

            Sort_stu(D->next1);

@H_404_4@

        }

@H_404_4@

        else printf("寝室为空n");

@H_404_4@

        OperationDorm(&D);

@H_404_4@

    }

@H_404_4@

    if(n==4)

@H_404_4@

    {

@H_404_4@

        if(D->date.stuNum>0)

@H_404_4@

        {

@H_404_4@

            Student *p1=NulL;

@H_404_4@

            char ID[20];

@H_404_4@

            printf("请输入要修改学生的学号n");

@H_404_4@

            Legalinput(ID,20);

@H_404_4@

            p1=Tofind_stu(D->next1,ID);

@H_404_4@

            modify_stu(p1);

@H_404_4@

            print_Stu(p1->date);

@H_404_4@

            Sort_stu(D->next1);

@H_404_4@

        }

@H_404_4@

        OperationDorm(&D);

@H_404_4@

    }

@H_404_4@

    if(n==5)//删除学生

@H_404_4@

    {

@H_404_4@

        if(D->date.stuNum>0)

@H_404_4@

        {

@H_404_4@

            Delete_Stu(&D->next1);

@H_404_4@

            print_Dorm(D);

@H_404_4@

        }

@H_404_4@

        OperationDorm(&D);

@H_404_4@

    }

@H_404_4@

    if(n==6)

@H_404_4@

    {

@H_404_4@

        return 0;

@H_404_4@

    }

@H_404_4@

}

int OperationFloor(Floor **F)

@H_404_4@

{

@H_404_4@

    Floor* D = NulL;

@H_404_4@

    D=*F;

@H_404_4@

    printf("------------------------------------n");

@H_404_4@

    printf("|                                  |n");

@H_404_4@

    printf("|    楼层详情 0      清空楼层 1    |n");

@H_404_4@

    printf("|    添加寝室 2      查看寝室 3    |n");

@H_404_4@

    printf("|    寝室 *** 作 4      删除寝室 5    |n");

@H_404_4@

    printf("|               退出               |n");

@H_404_4@

    printf("|                                  |n");

@H_404_4@

    printf("------------------------------------n");

@H_404_4@

    int n;

@H_404_4@

    scanf("%d",&n);

@H_404_4@

    if(n==0)//楼层详情

@H_404_4@

    {

@H_404_4@

        print_Floor(D);

@H_404_4@

        OperationFloor(&D);

@H_404_4@

    }

@H_404_4@

    if(n==1)//清空楼层

@H_404_4@

    {

@H_404_4@

        if(D->date.DormNum>0)

@H_404_4@

        {

@H_404_4@

            DestroyFloor(&D->next1);

@H_404_4@

            D->date.DormNum=0;

@H_404_4@

        }

@H_404_4@

        else printf("寝室为空n");

@H_404_4@

        OperationFloor(&D);

@H_404_4@

    }

@H_404_4@

    if(n==2)//添加寝室

@H_404_4@

    {

@H_404_4@

        if( D->date.DormNum

@H_404_4@

        {

@H_404_4@

            int x;

@H_404_4@

            printf("请输入添加寝室数量<=%dn",MAX-D->date.DormNum);

@H_404_4@

            x=SentenceFull(D->date.DormNum);

@H_404_4@

            CreatDorm(&D->next1,x);

@H_404_4@

            D->date.DormNum=D->date.DormNum+x;

@H_404_4@

            Sort_Dorm(D->next1);

@H_404_4@

        }

@H_404_4@

        else printf("楼层已满");

@H_404_4@

        OperationFloor(&D);

@H_404_4@

    }

@H_404_4@

    if(n==3)//查看寝室

@H_404_4@

    {

@H_404_4@

        if(D->date.DormNum>0)

@H_404_4@

        {

@H_404_4@

            Find_Dorm(D->next1);

@H_404_4@

        }

@H_404_4@

        else printf("楼层为空n");

@H_404_4@

        OperationFloor(&D);

@H_404_4@

    }

@H_404_4@

    if(n==4)

@H_404_4@

    {

@H_404_4@

        if(D->date.DormNum>0)

@H_404_4@

        {

@H_404_4@

            printf("请输入要进行 *** 作的寝室号");

@H_404_4@

            Dorm *p1=NulL;

@H_404_4@

            char ID[20];

@H_404_4@

            Legalinput(ID,20);

@H_404_4@

            p1=Tofind_dorm(D->next1,4);

@H_404_4@

            OperationDorm(&p1);

@H_404_4@

        }

@H_404_4@

    }

@H_404_4@

    if(n==5)//删除寝室

@H_404_4@

    {

@H_404_4@

        if(D->date.DormNum>0)

@H_404_4@

        {

@H_404_4@

            printf("请输入要删除的寝室号");

@H_404_4@

            char ID[20];

@H_404_4@

            Legalinput(ID,20);

@H_404_4@

            Delete_Dorm(&D->next1,ID);

@H_404_4@

            print_Floor(D);

@H_404_4@

        }

@H_404_4@

        OperationFloor(&D);

@H_404_4@

    }

@H_404_4@

}

@H_404_4@

int OperationBuild(Building **F)

@H_404_4@

{

@H_404_4@

    Building* D = NulL;

@H_404_4@

    D=*F;

@H_404_4@

    printf("------------------------------------n");

@H_404_4@

    printf("|                                  |n");

@H_404_4@

    printf("|    大楼详情 0      清空大楼 1    |n");

@H_404_4@

    printf("|    启用楼层 2      查看楼层 3    |n");

@H_404_4@

    printf("|    楼层 *** 作 4      停用楼层 5    |n");

@H_404_4@

    printf("|               退出               |n");

@H_404_4@

    printf("|                                  |n");

@H_404_4@

    printf("------------------------------------n");

@H_404_4@

    int n;

@H_404_4@

    printf("请输入选择:  ");

@H_404_4@

    scanf("%d",&n);

@H_404_4@

    if(n==0)//大楼详情

@H_404_4@

    {

@H_404_4@

        print_Build(D);

@H_404_4@

        OperationBuild(&D);

@H_404_4@

    }

@H_404_4@

    if(n==1)

@H_404_4@

    {

@H_404_4@

        if(D->date.floorNum>0)

@H_404_4@

        {

@H_404_4@

            DestroyBuild(&D->next1);

            D->date.floorNum=0;

@H_404_4@

        }

@H_404_4@

        else printf("大楼为空n");

@H_404_4@

        OperationBuild(&D);

@H_404_4@

    }

@H_404_4@

    if(n==2)//添加寝室

@H_404_4@

    {

@H_404_4@

        if(D->date.floorNum

@H_404_4@

        {

@H_404_4@

            int x;

@H_404_4@

            printf("请输入启用楼层数量<=%dn",MAX-D->date.floorNum);

@H_404_4@

            x=SentenceFull(D->date.floorNum);

@H_404_4@

            CreatFloor(&D->next1,x);

@H_404_4@

            D->date.floorNum=D->date.floorNum+x;

@H_404_4@

            Sort_Floor(D->next1);

@H_404_4@

        }

@H_404_4@

        else printf("无空闲楼层");

@H_404_4@

        OperationBuild(&D);

@H_404_4@

    }

@H_404_4@

    if(n==3)//查看楼层

@H_404_4@

    {

@H_404_4@

        if(D->date.floorNum>0)

@H_404_4@

        {

@H_404_4@

            Find_Floor(D->next1);

@H_404_4@

        }

@H_404_4@

        else printf("大楼为空n");

@H_404_4@

        OperationBuild(&D);

@H_404_4@

    }

@H_404_4@

    if(n==4)

@H_404_4@

    {

@H_404_4@

        if(D->date.floorNum>0)

@H_404_4@

        {

@H_404_4@

            printf("请输入要进行 *** 作的楼层名");

@H_404_4@

            Floor *p1=NulL;

@H_404_4@

            char ID[20];

@H_404_4@

            Legalinput(ID,20);

@H_404_4@

            p1=Tofind_floor(D->next1,4);

@H_404_4@

            OperationFloor(&p1);

@H_404_4@

        }

@H_404_4@

        OperationBuild(&D);

@H_404_4@

    }

@H_404_4@

    if(n==5)//删除大楼

@H_404_4@

    {

@H_404_4@

        if(D->date.floorNum>0)

@H_404_4@

        {

@H_404_4@

            printf("请输入要停用的楼层名");

@H_404_4@

            char ID[20];

@H_404_4@

            Legalinput(ID,20);

@H_404_4@

            Delete_Floor(&D->next1,ID);

@H_404_4@

            D->date.floorNum--;

@H_404_4@

            print_Build(D);

@H_404_4@

        }

@H_404_4@

        OperationBuild(&D);

@H_404_4@

    }

@H_404_4@

    return 0;

@H_404_4@

}

@H_404_4@

int   fileRead(Building **D)//读文件

@H_404_4@

{

@H_404_4@

    file *fp,*floor,*dorm,*stu;

@H_404_4@

    fp=fopen("Build.txt","rb");

@H_404_4@

    floor=fopen("Floor.txt","rb");

@H_404_4@

    dorm =fopen("dorm.txt","rb");

@H_404_4@

    stu=fopen("student.txt","rb");

@H_404_4@

    if(fp==NulL||floor==NulL||dorm==NulL ||stu==NulL)

@H_404_4@

    {

@H_404_4@

        printf("打开文件失败!");

@H_404_4@

        return NulL;

@H_404_4@

    }

@H_404_4@

    Building *H=new Building;

@H_404_4@

    fread(&H->date,sizeof(BUILD),1,fp);

@H_404_4@

    Floor *p;

@H_404_4@

    Floor *q;

@H_404_4@

    FlOOR t;

@H_404_4@

    Floor* head=new Floor;

@H_404_4@

    p=q=head;

@H_404_4@

    while( fread(&t,sizeof(FlOOR),floor)==1)

@H_404_4@

    {

@H_404_4@

        q=new Floor;

@H_404_4@

        q->date=t;

@H_404_4@

        Dorm *a;

@H_404_4@

        Dorm *b;

@H_404_4@

        DORM x;

@H_404_4@

        Dorm *z=new Dorm;

@H_404_4@

        a=z;

@H_404_4@

        b=z;

@H_404_4@

        for(int r=0; r

@H_404_4@

        {

@H_404_4@

            fread(&x,sizeof(DORM),dorm);

@H_404_4@

            b=new Dorm;

@H_404_4@

            b->date=x;

@H_404_4@

            Student *m;

@H_404_4@

            Student *n=NulL;

@H_404_4@

            Stu y;

@H_404_4@

            Student* h=new Student;

@H_404_4@

            m=n=h;

@H_404_4@

            int k;

@H_404_4@

            for(k=0; k

@H_404_4@

            {

@H_404_4@

                fread(&y,sizeof(Stu),stu);

@H_404_4@

                n=new Student;

@H_404_4@

                n->date=y;

@H_404_4@

                m->next=n;

@H_404_4@

                m=n;

@H_404_4@

            }

@H_404_4@

            m->next=NulL;

@H_404_4@

            b->next1=h->next;

@H_404_4@

            a->next=b;

@H_404_4@

            a=b;

@H_404_4@

        }

@H_404_4@

        a->next=NulL;

@H_404_4@

        q->next1=z->next;

@H_404_4@

        p->next=q;

@H_404_4@

        p=q;

@H_404_4@

    }

@H_404_4@

    p->next=NulL;

@H_404_4@

    H->next1=head->next;

@H_404_4@

    fclose(floor);

@H_404_4@

    fclose(dorm);

@H_404_4@

    fclose(stu);

@H_404_4@

    fclose(fp);

@H_404_4@

    *D=H;

@H_404_4@

}

@H_404_4@

int fileStore(Building *B)//存文件

@H_404_4@

{

@H_404_4@

    file *fp,"wb");

@H_404_4@

    floor=fopen("Floor.txt","wb");

@H_404_4@

    dorm =fopen("dorm.txt","wb");

@H_404_4@

    stu=fopen("student.txt","wb");

@H_404_4@

    if(fp==NulL||floor==NulL||dorm==NulL ||stu==NulL)

@H_404_4@

    {

@H_404_4@

        printf("打开文件失败!");

@H_404_4@

        return NulL;

@H_404_4@

    }

@H_404_4@

    fwrite(&B->date,fp);

@H_404_4@

    Floor *F=NulL;

@H_404_4@

    F=B->next1;

@H_404_4@

    for(int i=0; idate.floorNum; i++)

@H_404_4@

    {

@H_404_4@

        fwrite(&F->date,floor);

@H_404_4@

        Dorm *D=NulL;

@H_404_4@

        D=F->next1;

@H_404_4@

        for(int y=0; ydate.DormNum; y++)

@H_404_4@

        {

@H_404_4@

            fwrite(&D->date,dorm);

            学生* S = NulL;

@H_404_4@

            S = D-> NEXT1;

@H_404_4@

            for(int k = 0; k date.stuNum; k ++)

@H_404_4@

            {

@H_404_4@

                fwrite(&S-> date,sizeof(Stu),1,stu);

@H_404_4@

                S = S->下;

@H_404_4@

            }

@H_404_4@

            D = D-> next;

@H_404_4@

        }

@H_404_4@

        F = F-> next;

@H_404_4@

    }

@H_404_4@

    fclose(floor);

@H_404_4@

    FCLOSE(宿舍);

@H_404_4@

    FCLOSE(STU);

@H_404_4@

    FCLOSE(FP);

@H_404_4@

}

@H_404_4@

int main()

@H_404_4@

{

@H_404_4@

    Building * F = NulL,* D = NulL;

@H_404_4@

    printf(“欢迎进入宿舍管理系统 n”);

@H_404_4@

    file * fp;

@H_404_4@

    char ch;

@H_404_4@

    if((fp = fopen(“Build.txt”,“r”))== NulL)

@H_404_4@

    {

@H_404_4@

        printf(“文件没打开! n”);

@H_404_4@

    }

@H_404_4@

    ch = fgetc(fp);

@H_404_4@

    if(ch == EOF)

@H_404_4@

    {

@H_404_4@

        printf(“没有相应信息,请创建 n”);

@H_404_4@

        睡眠(1000);

@H_404_4@

        系统( “CLS”);

        CreatBuild(F);

@H_404_4@

        fileStore的(F);

@H_404_4@

        fileREAD(d);

@H_404_4@

        OperationBuild(d);

@H_404_4@

        fileREAD(d);

@H_404_4@

    }

    else

@H_404_4@

    {

@H_404_4@

        fileRead(&D);

@H_404_4@

        OperationBuild(d);

@H_404_4@

    }

@H_404_4@

    fileStore(F);

@H_404_4@

}

@H_404_4@

总结

以上是内存溢出为你收集整理的数据结构与算法程序设计——宿舍管理系统全部内容,希望文章能够帮你解决数据结构与算法程序设计——宿舍管理系统所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264324.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存