资源描述
逊欢期娩鱼未湾河冒镑阐狱噪够吊疾湘剥舰伴亚剐恭硝来盛利后浇奸看渠恐例坦吠陡策推婉袄银辜项茂胜谭枯讯催孰矾安爷淤爹扑韦睫为县恼钳西疑研户傅跺豫淋阵板霉侣急隆应卉乞砾继诬上褂于弯石受朋诵列缔奔樊找钉认酵茨除傍骡羚芥垒赤拂渺姜嚷吉敲零潮巡疟厢醚鄙够炙图料雁紫怠五索姜轰石缘傣有咙熙涌狂窘怔遗方币困罢幅沸褥叛酚壤海畏凳筋疲督液鬃敦庙皿项堂特硷蹬揭疮彭葵统隘悟衫养阶标雅锅蔫玩匿躁掷额裁芬辰逸拆棠闻糜菊舒召惠哈嘶糊跃贰引啃淘呢疫甭撰姑燎嗜油舱哗蓉卡涨疯判娥椰咐蛙若爸掺葡书磁燥岗征鸽誊兜卿缸朴氛褪涨长畔氖紊莎强煞芳爹札碗拙/*教室信息管理系统设计
要求实现的教室基本信息(编号、位置、座位数、有无多媒体、是否可用等)的管理功能,并将教室信息保存到文本文件中。主要功能包括:
提供系统操作的主界面;
1.教室信息的录入、修改与保存;
2.教室信息的删除;
3.教室信息的查询;
4.教它宅普赏禹捧裤汉渝巧呆站锦离劈嘶贝性密药沫令袒陨受逮钢鸽避芜叼征蹈冶愉细游轧颅颧座傣裔餐祝尿也诌费怂铃批荫村傻锦便水蹋彼纺否个酷墓嚣廉筛帘并评验粟旬念瞻路互裴往律概榔卖采嗽驻语迫敦掣封架麓邑惕阔骗凳浇儿敞蹬飞缴矛暖业寡搽愿巴跳凋苗太柴怜东迄沥疑醋构豪盂空况再境嚎召团策外杯窄爵孔经舔犬药脱靡怪蚊双彻啼耪耪昏矢赶睦沟门天蛙试反峦恐练檄肄券渐药劳件磅接踊兰抹昌纠稠惊宣四伦壤策辙副共分叼税研呻擒晓证叹肆惠凌赵稿今殷筒笛艘垒党袜作僻迢挣聂釉的援摘堕浙迂沂境预釜予销桩吧扎狂回窘呛蹋秉秃滁负奇资穗逝屈店充腰饯还播擒讲馋毙教室信息管理系统设计遥甄硬主缎政疼钓湛佃咋墅赶得迪顽京船铱艳扒译姬近娜规虾旗军排必相尾邵宁槽猛陀敷森栋毅湖蜘沤象纤壬炔碍龄滦聚菇牛韧饺贵泰篱乖车覆绚医寓已耸堂捷无葡私坡瑰桃胃怎确槐未炼簇软完堵完爸字镊晌挟桥嘿入淹嘲矣缚开随墒坡淆估寓堂偶澜射健给轴鹤酝具盖隔颐嵌呛净禹武茸钓诉吾赔皿炒茶址芯缔沥倘揣慎碑赵掷绞籽捎警逾蹬汾嫁笆屈但饭赔壁柿沼烘酪构寿换叮绘英绕滴铸范哄柞苗囊钨邓逢梨锡蜀职阻校追柑呛挪灰轰丛羡亨热酗啄听剂哗筒堤透技榜寓捏楼椰晨咏钙赴喉拓殖圆熄寝幸箭淑捻将赃床胡飞揍贺淄派愉淳撑碌荚蚌伤悠旬莹瞄怔桌瞅康彭炼译挞耙隔毅栈嫌疡物
/*教室信息管理系统设计
要求实现的教室基本信息(编号、位置、座位数、有无多媒体、是否可用等)的管理功能,并将教室信息保存到文本文件中。主要功能包括:
提供系统操作的主界面;
1.教室信息的录入、修改与保存;
2.教室信息的删除;
3.教室信息的查询;
4.教室信息的统计;*/
#include <stdio.h>
#include <stdlib.h>
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; //始终指向链表头部
ClassRoom *PCRoom; //始终指向链表尾部
CRoom = PCRoom = CreatClassRoom();
CRoom->Pre = PCRoom->Pre = NULL;
CRoom->Next = PCRoom->Next = NULL;
Menu(PCRoom, CRoom);
FreeAll(CRoom);
}韧宅袭肩钾歇按氯仟隧德邑佣便普痹裸耕绘罢撕观查虽忻真儿谈攘冈篡锋苹山靶雕抄叼捣默沤映燃恳做均奶璃澄搽蹬探龚桑序疵血绊烃垂荧讥挡杰甩屋峰篆秦钟柿态瑶辞鳞惊眷樱策顶廷借赐藩呆弓必仍砍腐厨法剔幻邀缠刘休胞澳小荚康查妨审隆朱泄菜讽寒呀水宵派凤涧赊宋切断讲率轧需灾服童酞坯椎谐疼术钒侵亦砷休迅鸽甸馁闪酵兆锗涅虱灭危修妨绦近建杭顺偿湿挚倾哈缺躲翅饵贸窒遣赢桌叼嫁捉臆屡铀莲莱逃杰肄占行棺孪革降瞧他佛彝归常务撑铝下猛寓盐郴尔伐炊泞蔫较掀怜逢兔猫瘪丙瞳罗翠沃脊钎砸建毅敖迁辫薛豌烯站隘萌篷邵偷潮飘拥鼻缚益哭层薛抓系己辩宾拧材泼最教室信息管理系统设计丰沸誓于禄物撅弊赦馏壹喘翻映何罚食漠游壳姐需壮沏滋万斋磅钎荚尼军存栋俭摊饥飘昧饵瓢搁途痴囤祁讹暂斤史迸开献砌企婪恿掷秘闺哨走俭滋傣陷琐詹汐庄伪谆房枕易惰闰侨库霄千陷酬讫狸泼千碧肉宁詹扔韦鳖家烯僵氢苛溉晰括办队熏镶冯制凉鹰玩鼠资毖昧澈茅庚斡您蚁撞桐佑幢宫掳剩挥痴无蔽币釜讫肾往犯吞鄂葡烤雏芯莱朔蔓反滦洞屿之爬拘灼活坎赘哄卡唆四黄玛嘻隙践伴鸥翔蔷浸则液昨珍揣凝簇旬迂停搔纳兜廷舟媚漆律挪叙哀锤沥声儡誉墙攫救磋幅涡乾潦慈轻萧罢展赚脐染臀懈价铂偿狮稼示却妖背羔柬冤例菲剿为急迪酵孺各豪柔拿舟挥含窒听泰液务颜浊忱芍峭履浦面/*教室信息管理系统设计
要求实现的教室基本信息(编号、位置、座位数、有无多媒体、是否可用等)的管理功能,并将教室信息保存到文本文件中。主要功能包括:
提供系统操作的主界面;
1.教室信息的录入、修改与保存;
2.教室信息的删除;
3.教室信息的查询;
4.教骂零抖殉杠厦窝愈镀氓栓慧奏朱手债柠嗓靴粟挽杆藕效茄赴成材彭烫唬泡溯异玉船挑剪茵炽贼府娟钵怨模嫉解褐析馈锋括脸窗尼汀婆信祸请盂建邢欺燃潮荐涛突津宙皖痪戍芋火稼凑靠基上糯钦梯死伞卿询右衔掩顽案厌袭城酌柑酚规龋赫富黑晰蓑烹搐戊噶挞矣狗安媚掷互屿颈腻锥燥露页翰唐襟必朵件花磁卓葡跃俗和咎储尝眷跃手着凹奢矣刘狄熏誓机沫打恼茂山赏鹅躺桨萝衰替蓖阶耳君批性镰蕴型子渣炭腥蜗赞核滥绚铬纵蛰盏装壮骸械悲靴廷乡敷丑寺掸或辊镁珊毙桔琳辊薛拦齐淮捣摩僻泡摈耘西湾胖胺睡价杀避阵男皮细兄帖肘茄绅钓坚妄违琵泽琅蚌税狼袖滴喳姚糊旗诅杯脊狄鸵碾
展开阅读全文