首页 教室信息管理系统设计

教室信息管理系统设计

举报
开通vip

教室信息管理系统设计/*教室信息管理系统设计 要求实现的教室基本信息(编号、位置、座位数、有无多媒体、是否可用等)的管理功能,并将教室信息保存到文本文件中。主要功能包括: 提供系统操作的主界面; 1.教室信息的录入、修改与保存; 2.教室信息的删除; 3.教室信息的查询; 4.教室信息的统计;*/ #include #include typedef struct ClassRoom {     unsigned int ClassNum;  //教室编号     char Adress[10];        //教室地址  ...

教室信息管理系统设计
/*教室信息管理系统设计 要求实现的教室基本信息(编号、位置、座位数、有无多媒体、是否可用等)的管理功能,并将教室信息保存到文本文件中。主要功能包括: 提供系统操作的主界面; 1.教室信息的录入、修改与保存; 2.教室信息的删除; 3.教室信息的查询; 4.教室信息的统计;*/ #include #include typedef struct ClassRoom {     unsigned int ClassNum;  //教室编号     char Adress[10];        //教室地址     short SeatNum;          //座位数     bool IfMedia;          //是否有多媒体     bool IfCanUse;          //是否能用     ClassRoom *Next;        //链接下一个     ClassRoom *Pre;        //链接上一个 }ClassRoom; //////////////////////////////////////////////////////////////////////// void Menu(ClassRoom *&PCRoom, ClassRoom *&CRoom);//菜单 ClassRoom * CreatClassRoom();          //开辟空间创建结构体 void BuyClassRoom(ClassRoom *&PCRoom);  //创建新教室 void PutInImfor(ClassRoom *&PRoom);    //录入教室信息 void DeleteClass(ClassRoom *&CRoom);  //删除教室 void SaveImfor(ClassRoom *&CRoom);    //保存教室信息到本地 void LookFor(ClassRoom *&CRoom);      //查询教室信息 void Change(ClassRoom *&CRoom);        //改变教室信息 void DisPlatClass(ClassRoom *&CRoom);  //打印教室信息 void PrintClass(ClassRoom *&CRoom);    //打印当前教室的编号 void ClassCount(ClassRoom *&CRoom);    //教室数据统计 void FindNum(ClassRoom *&CRoom, unsigned int Num);  //查询教室编号 void FreeAll(ClassRoom *&CRoom);      //退出时释放空间 //////////////////////////////////////////////////////////////////////// ClassRoom * CreatClassRoom()    //开辟空间创建结构体 {     ClassRoom *temp;     temp=(ClassRoom *)malloc(sizeof(ClassRoom));     return temp; } void BuyClassRoom(ClassRoom *&PCRoom)    //创建新教室 {     ClassRoom *tmp;     tmp=CreatClassRoom();     if(tmp == NULL)     {         printf("创建教室失败!");         system("pause");         return;     }     PCRoom->Next = tmp;     tmp->Pre = PCRoom;     PCRoom = PCRoom->Next;     PCRoom->Next = NULL;     PutInImfor(PCRoom); } //////////////////////////////////////////////////////////////////////// void PutInImfor(ClassRoom *&PRoom)    //录入教室信息 {     char tp,cp;     system("cls");     printf("请输入教室编号:");     scanf("%d", &PRoom->ClassNum);     printf("请输入教室位置:");     scanf("%s", &PRoom->Adress);     printf("请输入教室座位数:");     scanf("%d", &PRoom->SeatNum);     fflush(stdin);     printf("是否有多媒体?(Y/N):");     scanf("%c", &tp);     if (tp == 'Y' || tp == 'y')     {         PRoom->IfMedia = true;     }else     {         PRoom->IfMedia = false;     }     fflush(stdin);     printf("是否可用?(Y/N):");     scanf("%c", &cp);     if (cp == 'Y' || cp == 'y')     {         PRoom->IfMedia = true;     }else     {         PRoom->IfMedia = false;     }     printf("创建教室成功!\n");     system("pause"); } //////////////////////////////////////////////////////////////////////// void Menu(ClassRoom *&PCRoom, ClassRoom *&CRoom) {     unsigned int t=0; loop:  //跳转     system("cls");     printf("********************************************************************\n");     printf("*********************欢迎使用教室管理系统***************************\n");     printf("**            1.创建教室                                          **\n");     printf("**            2.删除教室                                          **\n");     printf("**            3.修改教室信息                                      **\n");     printf("**            4.查询教室信息                                      **\n");     printf("**            5.统计教室信息                                      **\n");     printf("**            6.保存当前信息                                      **\n");     printf("**            7.退出                                              **\n");     printf("********************************************************************\n\n\n");     printf("请输入编号:");     scanf("%d", &t);     while (t < 1 || t > 7)     {         fflush(stdin);         printf("输入错误,请重新输入:");         scanf("%d",&t);            }     switch(t)     {         case 1:             BuyClassRoom(PCRoom);             break;         case 2:             DeleteClass(CRoom);             break;         case 3:             Change(CRoom);             break;         case 4:             LookFor(CRoom);             break;         case 5:             ClassCount(CRoom);             break;         case 6:             SaveImfor(CRoom);             break;     }     if (t != 7)     {         goto loop;     } } //////////////////////////////////////////////////////////////////////// void DeleteClass(ClassRoom *&CRoom)  //删除教室 {     system("cls");     unsigned int Num;     ClassRoom *tmp = CRoom;     PrintClass(CRoom);     printf("请选择需要删除的教室编号:");     scanf("%d", &Num);     FindNum(CRoom, Num);     CRoom->Next->Pre = CRoom->Pre;     CRoom->Pre->Next = CRoom->Next;     free(CRoom);     CRoom = tmp;     printf("删除教室成功!\n");     system("pause"); } //////////////////////////////////////////////////////////////////////// void SaveImfor(ClassRoom *&CRoom)    //保存教室信息到本地 {     system("cls");     FILE *fp=fopen("ClassRoomMng.txt","w");     ClassRoom *p = CRoom;     if(p != NULL)     {         while (p != NULL)         {             fwrite(p, sizeof(struct ClassRoom), 1, fp);             p = p->Next;         }        }     fclose(fp);     system("pause"); } //////////////////////////////////////////////////////////////////////// void LookFor(ClassRoom *&CRoom)        //查询教室信息 {     system("cls");     ClassRoom *tmp = CRoom;     unsigned int Num;     PrintClass(CRoom);     printf("请选择需要查询的教室编号:");     scanf("%d", &Num);     FindNum(CRoom, Num);             DisPlatClass(CRoom);     CRoom = tmp; } void DisPlatClass(ClassRoom *&CRoom)    //打印教室信息 {     printf("教室编号:    %d\n", CRoom->ClassNum);     printf("教室地址:    %s\n", CRoom->Adress);     printf("教室座位数:  %d\n", CRoom->SeatNum);     printf("是否有多媒体:%s\n", CRoom->IfMedia == true? "有":"没有");     printf("是否可用:    %s\n", CRoom->IfCanUse == true? "能":"不能");     system("pause"); } //////////////////////////////////////////////////////////////////////// void Change(ClassRoom *&CRoom)        //修改教室信息 {     system("cls");     unsigned int Num;     ClassRoom *tmp = CRoom;         PrintClass(CRoom);     printf("请输入需要修改的教室编号:");     scanf("%d", &Num);     FindNum(CRoom, Num);     PutInImfor(CRoom);     CRoom = tmp;     printf("修改成功!\n");     system("pause"); } void PrintClass(ClassRoom *&CRoom)    //打印当前教室的编号 {     ClassRoom *tmp = CRoom;     tmp = tmp->Next;     printf("当前已有教室编号:\n");     while (tmp != NULL)     {         printf("%d\n",tmp->ClassNum);         tmp = tmp->Next;     }     printf("\n"); } void FindNum(ClassRoom *&CRoom, unsigned int Num)  //查询教室编号 {     while (CRoom != NULL)     {         if (CRoom->ClassNum == Num)         {             break;         }         CRoom = CRoom->Next;     } } //////////////////////////////////////////////////////////////////////// void ClassCount(ClassRoom *&CRoom)  //教室数据统计 {     system("cls");     ClassRoom *tmp = CRoom;     int MediaNum = 0;     int CanUseNum = 0;     int AllSeatNum = 0;     tmp = tmp->Next;     printf("教室编号:\n");     while (tmp != NULL)  //记录所有教室的特征信息     {         printf("%d\n",tmp->ClassNum);         if (tmp->IfCanUse == true)         {             ++CanUseNum;         }         if (tmp->IfMedia == true)         {             ++MediaNum;         }         AllSeatNum += tmp->SeatNum;         tmp = tmp->Next;     }     printf("\n");     printf("有多媒体的教室有%d个\n", MediaNum);     printf("可用的教室有%d个\n", CanUseNum);     printf("作为一共有%d个\n", AllSeatNum);     system("pause"); } void FreeAll(ClassRoom *&CRoom)  //释放空间 {     ClassRoom *tmp = *&CRoom;     while (CRoom != NULL)     {         tmp = CRoom;         CRoom = CRoom->Next;         free(tmp);     } } void main() {     ClassRoom *CRoom;  //始终指向链 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 头部     ClassRoom *PCRoom;  //始终指向链表尾部     CRoom = PCRoom = CreatClassRoom();     CRoom->Pre = PCRoom->Pre = NULL;     CRoom->Next = PCRoom->Next = NULL;         Menu(PCRoom, CRoom);     FreeAll(CRoom); }
本文档为【教室信息管理系统设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_594886
暂无简介~
格式:doc
大小:34KB
软件:Word
页数:9
分类:生活休闲
上传时间:2017-09-19
浏览量:36