还剩72页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
成都职业技术学院力学实验设备管理系统姓名DEV-C编辑2017年1月目录TOC\o1-3\h\z\u第1章设计目的2第2章总体设计
22.1力学实验设备管理系统的要求
22.2流程图
32.3模块图
72.4设置的主要函数82.5设置文件保存位置及文件名91D:\shebei.dat9第三章需求规定
93.1功能规定
91.设备管理员
92.设备使用者
103.2其余功能分析表
113.3性能规定
111.精度112.灵活性11第4章分工合作12第1章设计目的本次C语言课程设计是对本学期程序设计基础课程的实际应用,通过课程设计主要达到如下目的
1.巩固和加深对C语言课程的基本知识的理解和掌握
2.掌握C语言编程和程序调试的基本技能
3.利用C语言进行基本的软件设计
4.掌握书写程序设计说明文档的能力
5.提高运用C语言解决实际问题的能力第2章总体设计
2.1力学实验设备管理系统的要求通过该系统实现对力学实验设备信息进行录入、修改、统计、查询、保存、删除等操作的管理实验设备信息包括设备编号,设备种类,设备名称如烧杯、酒精灯等,设备价格,设备购入日期,是否报废,报废日期等主要功能1)、能够完成对设备的录入和修改2)、对设备进行分类统计3)、设备的破损耗费和遗损处理4)、设备的查询5)、将设备信息保存到文件中
2.2流程图根据设计要求,画出如下流程图1整体流程图2设备使用者流程图3设备管理者流程图
2.3模块图
2.4设置的主要函数voidmenu//菜单函数voidBrowse//显示M*Input//录入增加成员M*Delet//删除voidSearch//查找voidFindchoice//选择查找方式函数M*Modify//修改信息结构体Typedefstructmechanical//定义力学设备结构体{charno
[6];//编号charname
[20];//名称charkind
[20];//种类charprice
[10];//价格charpurtime
[8];//购买日期charscrtime
[8];//报废日期charscrap
[3];//是否报废charcost
[10];//破损耗费structmechanical*next;//指向结构体数据类型的指针}M;2.5设置文件保存位置及文件名1D:\shebei.dat第三章需求规定
3.1功能规定功能需求分析举例
1.设备管理员建立设备库流程1)登录者选择“管理员登陆”菜单,打开“管理员”页面2)输入密码,验证通过后进入“管理员”界面3)选择“录入”对应选项,打开录入设备界面4)按照要求输入需要新增的设备信息,完成设备新增操作5)新增完成后,返回“管理员”页面列表输入输入名称数据类型长度限制备注编号char*6名称char*20种类char*20价格char*10购买日期char*8报废日期char*8是否报废char*3破损耗费char*10输出图书保存成功!按任意键返回主菜单
2.设备使用者浏览设备查询设备流程1)登录者选择“使用者”登陆菜单,打开“使用者”页面2)选择“查询,浏览”对应的选项,打开界面3)按照要求输入需要查询的设备信息,完成使用者查询操作4)查询完成后,返回“使用者”页面列表输入输入名称数据类型长度限制备注名称char*20编号char*6种类char*20输出登记成功!
3.2其余功能分析表设备管理员建立设备库查询设备信息(根据编号、名称、种类)添加设备修改设备删除设备设备使用者浏览设备信息编号查询名称查询种类查询
3.3性能规定
1.精度
1.要按照严格的数据格式输入,否则软件不予响应进行处理2.查询是要保证查全率,所有相应域包含查询关键字的记录都应能查到由于通常有文件的记录会很多,所以本软件采用两种方法进行查询直接查询和模糊查询2.灵活性当需求发生某些变化时,该软件具有较强的适应能力,如a.本软件的运行环境将不会变化b.精度与有效时限不会改变c.计划将会进行改进第4章分工合作
4.1暂时分工附录#includewindows.h#includestdio.h#includestring.h#includestdlib.h#includeconio.h#includetime.h#defineMaxPwdLen32//密码的最大长度structmechanical{charno
[8];//编号charname
[20];//名称charkind
[20];//种类charprice
[10];//价格charpurtime
[12];//购买日期charscrtime
[12];//报废日期charscrap
[4];//是否报废charcost
[10];//破损耗费structmechanical*next;}*root_mechanicals
[1000];structregis//注册信息结构体定义{charnumber1
[32];//注册使用者账号charpwd1
[32];//charpwd2
[32];//注册使用者密码charpwd3
[32];//}R
[1000];FILE*fp;//文件指针voidgotoxyintint;//光标定位structmechanical*inputvoid;//录入voidBrowsestructmechanical*;//浏览structmechanical*insertstructmechanical*;//增加voiddelvoid;//删除voidpassword;//密码intsjvoid;//时间//systemcolorf0;//------------主菜单caidan{intchoice;systemcls;systemcolorf0;//颜色背景白前景黑while1{systemcls;printf\n\t\t\t┏━━━━━━━━━━━━━━━━━━━━━━━┓\n;printf\t\t\t┃\n;printf\t\t\t┃力学实验室设备管理系统\n;printf\t\t\t┃\n;printf\t\t\t┣━━━━━━━━━━━━━━━━━━━━━━━━━\n;printf\t\t\t┣━━━━━━━━━━━━━━━━━━━━━━━━━\n;printf\t\t\t┃\n;printf\t\t\t┃
1.设备使用者登录界面\n;printf\t\t\t┃\n;printf\t\t\t┃
2.设备管理员界面\n;printf\t\t\t┃\n;printf\t\t\t┃
3.设备使用者注册界面\n;printf\t\t\t┃\n;printf\t\t\t┃
0.退出系统\n;printf\t\t\t┃\n;printf\t\t\t┃\n;printf\t\t\t┗━━━━━━━━━━━━━━━━━━━━━━━━\n;gotoxy6025;sj;gotoxy4018;printf请输入选项[]\b\b\b;scanf%dchoice;switchchoice{case2:PassWord;//管理员break;case1:password1;//使用者break;case3:R_register;//使用者注册break;case0:tc;exit0;getch;default:printf输入错误!!!...\n按任意键返回\n;getch;break;}}}//-----------------使用者菜单people{intchoice;systemcolorf0;while1{systemcls;printf\t\t\t┏━━━━━━━━━━━━━━━━┓\n;printf\t\t\t┃┃\n;printf\t\t\t┃设备使用者界面┃\n;printf\t\t\t┃┃\n;printf\t\t\t┣━━━━━━━━━━━━━━━━┫\n;printf\t\t\t┣━━━━━━━━━━━━━━━━┫\n;printf\t\t\t┃┃\n;printf\t\t\t┃
1.浏览┃\n;printf\t\t\t┃┃\n;printf\t\t\t┃
2.查询┃\n;printf\t\t\t┃┃\n;printf\t\t\t┃
0.返回┃\n;printf\t\t\t┃┃\n;printf\t\t\t┃┃\n;printf\t\t\t┗━━━━━━━━━━━━━━━━┛\n;gotoxy6025;sj;gotoxy3518;printf请输入选项[]\b\b\b;scanf%dchoice;switchchoice{case1:Browseroot_mechanical;//----浏览break;case2:Search2;//-----查询break;case0:caidan;//----返回菜单break;default:printf输入错误!!!...\n按任意键返回\n;getch;break;}}}//-------------------------管理员菜单adm{intc;root_mechanical=NULL;while1{systemcls;printf\t\t\t┏━━━━━━━━━━━━━━━━━━━━━━━━━\n;printf\t\t\t┃\n;printf\t\t\t┃设备管理员界面\n;printf\t\t\t┃\n;printf\t\t\t┣━━━━━━━━━━━━━━━━━━━━━━━━━\n;printf\t\t\t┣━━━━━━━━━━━━┳┳━━━━━━━━━━━\n;printf\t\t\t┃┃┃\n;printf\t\t\t┃
1.录入┃┃
2.显示\n;printf\t\t\t┃┃┃\n;printf\t\t\t┃
3.添加┃┃
4.删除\n;printf\t\t\t┃┃┃\n;printf\t\t\t┃
5.修改┃┃
6.查询\n;printf\t\t\t┃┃┃\n;printf\t\t\t┃
7.查看注册信息┃┃
8.删除注册信息\n;printf\t\t\t┃┃┃\n;printf\t\t\t┣━━━━━━━━━━━━┻┻━━━━━━━━━━\n;printf\t\t\t┃\n;printf\t\t\t┃
0.返回\n;printf\t\t\t┃\n;printf\t\t\t┗━━━━━━━━━━━━━━━━━━━━━━━━\n;gotoxy6025;sj;gotoxy4020;printf请输入选项[]\b\b\b;scanf%dc;switchc{case1:root_mechanical=input;break;//-----录入case2:Browseroot_mechanical;break;//-----显示case3:root_mechanical=insertroot_mechanical;break;//------添加case4:del;break;//----删除case5:Modify;break;//-----修改case6:Search;break;//-----查询case7:zc;break;//-----查看注册信息case8:zcscR;break;//-----查看注册信息case0:caidan;break;//---退出default:printf输入错误!!!...\n按任意键返回\n;getch;break;}}}//---------------------------------------建立链表structmechanical*inputvoid{structmechanical*root*p1*p2;charc;intf=0nim=1;systemcls;fp=fopend:\\shebei.datwb;root=p1=structmechanical*mallocsizeofstructmechanical;gotoxy40f+10;printf请输入你需要输入的数量[]\b\b\b\b\b\b;scanf%dn;systemcls;printf\n---------------------------------------------------------------------------------------------------------\n;printf|编号|名称|种类|价格|购买日期|报废日期|是否报废|破损耗费|\n;printf---------------------------------------------------------------------------------------------------------\n;fori=1;i=n;i++{//printf|||||||||\n;//printf---------------------------------------------------------------------------------------------------------\n;//gotoxy220+m;//printf---------------------------------------------------------------------------------------------------------\n;gotoxy221+m;printf;gotoxy221+m;printf提示最多六位数\n;gotoxy2f+4;scanf%sp1-no;//gotoxy220+m;//printf---------------------------------------------------------------------------------------------------------\n;gotoxy221+m;printf;gotoxy221+m;printf提示最多五个字\n;gotoxy12f+4;scanf%sp1-name;//gotoxy220+m;//printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221+m;printf;gotoxy221+m;printf提示最多五个字\n;gotoxy27f+4;scanf%sp1-kind;//gotoxy220+m;//printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221+m;printf;gotoxy221+m;printf提示最多9位数\n;gotoxy41f+4;scanf%sp1-price;//gotoxy220+m;//printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221+m;printf;gotoxy221+m;printf提示输入格式如20011011\n;gotoxy55f+4;scanf%sp1-purtime;//gotoxy220+m;//printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221+m;printf;gotoxy221+m;printf提示输入格式如20011011\n;gotoxy68f+4;scanf%sp1-scrtime;//gotoxy220+m;//printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221+m;printf;gotoxy221+m;printf提示输入(是\否)\n;gotoxy83f+4;scanf%sp1-scrap;//gotoxy220+m;//printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221+m;printf;gotoxy221+m;printf提示最多8位数\n;gotoxy95f+4;scanf%sp1-cost;gotoxy221+m;printf;gotoxy95f+4;//printf\n;f+=2;m++;fwritep1sizeofstructmechanical1fp;p2=structmechanical*mallocsizeofstructmechanical;p1-next=p2;//链接到下一个链表p1=p2;}fclosefp;returnroot;}//--------------------------------------------------浏览voidBrowsestructmechanical*root{structmechanical*p1;inti=0;p1=root;fp=fopend:\\shebei.datrb;iffp==NULL{printf\n\n文件打开失败按任意键返回主菜单;getch;return;}systemcls;printf\n---------------------------------------------------------------------------------------------------------\n;printf|编号|名称|种类|价格|购买日期|报废日期|是否报废|破损耗费|\n;printf---------------------------------------------------------------------------------------------------------\n;while1{p1=structmechanical*mallocsizeofstructmechanical;freadp1sizeofstructmechanical1fp;iffeoffp!=0break;printf|%10s|%14s|%13s|%11s|%12s|%12s|%11s|%13s|\np1-nop1-namep1-kindp1-pricep1-purtimep1-scrtimep1-scrapp1-cost;printf---------------------------------------------------------------------------------------------------------\n;ifi==5{getch;i=0;printf\n\n;}}getch;fclosefp;printf数据浏览完毕,按任意键返回;getch;}//-----------------------------------链表末尾添加structmechanical*insertstructmechanical*root{structmechanical*new_stu*p;charc;intf=0in;fp=fopend:\\shebei.datab;systemcls;gotoxy40f+10;printf请输入你需要输入的数量[]\b\b\b\b\b\b;scanf%dn;systemcls;printf\n---------------------------------------------------------------------------------------------------------\n;printf|编号|名称|种类|价格|购买日期|报废日期|是否报废|破损耗费|\n;printf---------------------------------------------------------------------------------------------------------\n;//new_stu=structmechanical*mallocsizeofstructmechanical;fori=0;in;i++{printf|||||||||\n;printf---------------------------------------------------------------------------------------------------------\n;new_stu=structmechanical*mallocsizeofstructmechanical;gotoxy220;printf---------------------------------------------------------------------------------------------------------\n;gotoxy221;printf;gotoxy221;printf提示最多六位数\n;gotoxy2f+4;scanf%snew_stu-no;gotoxy220;printf---------------------------------------------------------------------------------------------------------\n;gotoxy221;printf;gotoxy221;printf提示最多五个字\n;gotoxy12f+4;scanf%snew_stu-name;gotoxy220;printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221;printf;gotoxy221;printf提示最多五个字\n;gotoxy27f+4;scanf%snew_stu-kind;gotoxy220;printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221;printf;gotoxy221;printf提示最多9位数\n;gotoxy41f+4;scanf%snew_stu-price;gotoxy220;printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221;printf;gotoxy221;printf提示输入格式如20011011\n;gotoxy55f+4;scanf%snew_stu-purtime;gotoxy220;printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221;printf;gotoxy221;printf提示输入格式如20011011\n;gotoxy68f+4;scanf%snew_stu-scrtime;gotoxy220;printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221;printf;gotoxy221;printf提示输入(是\否)\n;gotoxy83f+4;scanf%snew_stu-scrap;gotoxy220;printf-----------------------------------------------------------------------------------------------------------\n;gotoxy221;printf;gotoxy221;printf提示最多8位数\n;gotoxy95f+4;scanf%snew_stu-cost;printf\n;f+=2;fwritenew_stusizeofstructmechanical1fp;new_stu-next=p;//链接到下一个链表new_stu=p;}fclosefp;return;}//----------------------------------------根据名称删除结点voiddel{structmechanical*p*p1*current*p2;structmechanical*root;charc;intn=0i=0m=0j;charnno
[6];root=p=p2=structmechanical*mallocsizeofstructmechanical;systemcls;fp=fopend:\\shebei.datrb;iffp==NULL{printfopenerror!\n;getch;return;}while1//从文件中读取重现建立链表{//iffeoffp!=0break;freadpsizeofstructmechanical1fp;iffeoffp!=0break;p1=structmechanical*mallocsizeofstructmechanical;p2/*倒数第二条*/=p;p-next=p1;//链接到下一个链表p=p1;}p2-next=NULL;/*强行去除最后一条乱码*/fclosefp;/*p=root;whilep!=NULL{printf编号;printf%sp-no;printf名称;printf%sp-name;printf种类;printf%sp-kind;printf价格;printf%sp-price;printf购买日期;printf%sp-purtime;printf报废日期;printf%sp-scrtime;printf是否报废;printf%sp-scrap;printf破损耗费;printf%s\np-cost;p=p-next;}getch;*/fp=fopend:\\shebei.datwb;gotoxy6025;sj;gotoxy4013;printf需要删除的编号;scanf%snno;p=root;ifp==NULL{gotoxy4014;printf无删除信息!!\n;getch;return;}ifstrcmpp-nonno==0//删除的为头结点{root=p-next;freep;gotoxy4014;printf删除完成!!!\n;getch;}whilep!=NULLstrcmpp-nonno!=0//删除在中间{current=p;p=p-next;}ifp==NULL{gotoxy4014;printf查无此设备!!!\n;getch;}else{current-next=p-next;freep;gotoxy4014;printf删除完成!!\n;getch;}/*p=root;whilep!=NULL{printf编号;printf%sp-no;printf名称;printf%sp-name;printf种类;printf%sp-kind;printf价格;printf%sp-price;printf购买日期;printf%sp-purtime;printf报废日期;printf%sp-scrtime;printf是否报废;printf%sp-scrap;printf破损耗费;printf%s\np-cost;p=p-next;}getch;*///删除的为尾p=root;whilep!=NULL{//p=structmechanical*mallocsizeofstructmechanical;fwritepsizeofstructmechanical1fp;p=p-next;}fclosefp;return;}//----根据编号修改Modify{structmechanical*p*p1*current/*当前位置*/;intchooseflog=0;charnno
[6];systemcls;gotoxy4010;printf请输入需要修改的设备编号;scanf%snno;fp=fopend:\\shebei.datrb+;iffp==NULL{gotoxy4012;printf\n\n文件打开失败按任意键返回主菜单;getch;return;}systemcls;while1{p1=structmechanical*mallocsizeofstructmechanical;freadp1sizeofstructmechanical1fp;iffeoffp!=0break;ifstrcmpp1-nonno==0{printf\n---------------------------------------------------------------------------------------------------------\n;printf|编号|名称|种类|价格|购买日期|报废日期|是否报废|破损耗费|\n;printf---------------------------------------------------------------------------------------------------------\n;printf|%10s|%14s|%13s|%11s|%12s|%12s|%11s|%13s|\np1-nop1-namep1-kindp1-pricep1-purtimep1-scrtimep1-scrapp1-cost;printf---------------------------------------------------------------------------------------------------------\n;getch;flog=1;break;}}ifflog==0{gotoxy4012;printf查无设备,按任意键返回\n;fclosefp;getch;return;}systemcls;aaa:printf\t\t\t┏━━━━━━━━━━━━━━━━━━━━━━━━━\n;printf\t\t\t┃\n;printf\t\t\t┃设备修改界面\n;printf\t\t\t┃\n;printf\t\t\t┣━━━━━━━━━━━━━━━━━━━━━━━━━\n;printf\t\t\t┣━━━━━━━━━━━━┳┳━━━━━━━━━━━\n;printf\t\t\t┃┃┃\n;printf\t\t\t┃
1.修改编号┃┃
2.修改名称\n;printf\t\t\t┃┃┃\n;printf\t\t\t┃
3.修改种类┃┃
4.修改价格\n;printf\t\t\t┃┃┃\n;printf\t\t\t┃
5.修改购买日期┃┃
6.修改报废日期\n;printf\t\t\t┃┃┃\n;printf\t\t\t┃
7.修改是否报废┃┃
8.修改破损耗费\n;printf\t\t\t┃┃┃\n;printf\t\t\t┣━━━━━━━━━━━━┻┻━━━━━━━━━━\n;printf\t\t\t┃\n;printf\t\t\t┃
0.返回\n;printf\t\t\t┃\n;printf\t\t\t┗━━━━━━━━━━━━━━━━━━━━━━━\n;gotoxy6025;sj;gotoxy4022;printf请输入选项[]\b\b\b;scanf%dchoose;switchchoose{case1:{systemcls;gotoxy221;printf---------------------------------------------------------------------------------------------------------\n;printf;gotoxy222;printf提示最多六位数\n;gotoxy4012;printf请输入修改后的编号;scanf%sp1-no;break;}case2:{systemcls;gotoxy221;printf---------------------------------------------------------------------------------------------------------\n;printf;gotoxy222;printf提示最多五个字\n;gotoxy4012;printf请输入修改后的名称;scanf%sp1-name;break;}case3:{systemcls;gotoxy221;printf---------------------------------------------------------------------------------------------------------\n;printf;gotoxy222;printf提示最多五个字\n;gotoxy4012;printf请输入修改后的种类;scanf%sp1-kind;break;}case4:{systemcls;gotoxy221;printf---------------------------------------------------------------------------------------------------------\n;printf;gotoxy222;printf提示最多9位数\n;gotoxy4012;printf请输入修改后的价格;scanf%sp1-price;break;}case5:{systemcls;gotoxy221;printf---------------------------------------------------------------------------------------------------------\n;printf;gotoxy222;printf提示格式为20010101\n;gotoxy4012;printf请输入修改后的购进日期;scanf%sp1-purtime;break;}case6:{systemcls;gotoxy221;printf---------------------------------------------------------------------------------------------------------\n;printf;gotoxy222;printf提示格式为20010101\n;gotoxy4012;printf请输入修改后的报废日期;scanf%sp1-scrtime;break;}case7:{systemcls;gotoxy221;printf---------------------------------------------------------------------------------------------------------\n;printf;gotoxy222;printf提示输入为(是\否)\n;gotoxy4012;printf请输入修改后的是否报废;scanf%sp1-scrap;break;}case8:{systemcls;gotoxy221;printf---------------------------------------------------------------------------------------------------------\n;printf;gotoxy222;printf提示最多8位数\n;gotoxy4012;printf请输入修改后的破损耗费;scanf%sp1-cost;break;}case0:{printf\n退出;adm;break;}default:printf输入错误!!!...\n按任意键返回\n;getch;break;}fseekfp-1*sizeofstructmechanical1;fwritep1sizeofstructmechanical1fp;fclosefp;printf\n数据修改完成!按任意键返回菜单......;getch;}//-------------------------------------管理员查询菜单Search{intchoice;while1{systemcls;printf\t\t\t┏━━━━━━━━━━━━━━━━━━━━━━━━━┓\n;printf\t\t\t┃┃\n;printf\t\t\t┃设备查询界面┃\n;printf\t\t\t┃┃\n;printf\t\t\t┣━━━━━━━━━━━━━━━━━━━━━━━━━┫\n;printf\t\t\t┣━━━━━━━━━━━━┳┳━━━━━━━━━━━┫\n;printf\t\t\t┃┃┃┃\n;printf\t\t\t┃
1.编号查询┃┃
2.名称查询┃\n;printf\t\t\t┃┃┃┃\n;printf\t\t\t┃
3.种类查询┃┃
0.返回┃\n;printf\t\t\t┃┃┃┃\n;printf\t\t\t┗━━━━━━━━━━━━┻┻━━━━━━━━━━━┛\n;gotoxy6025;sj;gotoxy4013;printf请输入[]\b\b\b;scanf%dchoice;switchchoice{case1:bh;break;case2:mc;break;case3:zl;break;case0:caidan;break;default:printf输入错误!!!...\n按任意键返回\n;getch;break;}}}//-----使用者查询菜单2Search2{intchoice;do{systemcls;printf\t\t\t┏━━━━━━━━━━━━━━━━━━━━━━━━━┓\n;printf\t\t\t┃┃\n;printf\t\t\t┃设备查询界面┃\n;printf\t\t\t┃┃\n;printf\t\t\t┣━━━━━━━━━━━━━━━━━━━━━━━━━┫\n;printf\t\t\t┣━━━━━━━━━━━━┳┳━━━━━━━━━━━┫\n;printf\t\t\t┃┃┃┃\n;printf\t\t\t┃
1.编号查询┃┃
2.名称查询┃\n;printf\t\t\t┃┃┃┃\n;printf\t\t\t┃
3.种类查询┃┃
0.返回┃\n;printf\t\t\t┃┃┃┃\n;printf\t\t\t┗━━━━━━━━━━━━┻┻━━━━━━━━━━━┛\n;gotoxy6025;sj;gotoxy4013;printf请输入[]\b\b\b;scanf%dchoice;switchchoice{case1:bh;//-----编号查询break;case2:mc;//-----名称查询break;case3:zl;//-----种类查询break;case0:people;//-----返回使用者菜单break;default:printf输入错误!!!...\n按任意键返回\n;getch;break;}}whilechoice==0;}//------编号查询bh{structmechanical*p1;inti=1;charno
[8];intflog=0;//p1=root;fp=fopend:\\shebei.datrb;iffp==NULL{printf\n\n文件打开失败按任意键返回主菜单;getch;return;}printf请输入你想查询的编号;[]\b\b\b\b\b\b\b\b\b;scanf%sno;systemcls;printf\n---------------------------------------------------------------------------------------------------------\n;printf|编号|名称|种类|价格|购买日期|报废日期|是否报废|破损耗费|\n;printf---------------------------------------------------------------------------------------------------------\n;while1{p1=structmechanical*mallocsizeofstructmechanical;freadp1sizeofstructmechanical1fp;iffeoffp!=0break;ifstrcmpp1-nono==0{printf|%10s|%14s|%13s|%11s|%12s|%12s|%11s|%13s|\np1-nop1-namep1-kindp1-pricep1-purtimep1-scrtimep1-scrapp1-cost;printf---------------------------------------------------------------------------------------------------------\n;getch;flog=1;break;}}ifflog==0{printf查无设备,按任意键返回\n;fclosefp;getch;return;}fclosefp;}//----名称查询mc{structmechanical*p1;inti=1flog=0;charname
[20];//p1=root;fp=fopend:\\shebei.datrb;iffp==NULL{printf\n\n文件打开失败按任意键返回主菜单;getch;return;}printf请输入你想查询的名称;[]\b\b\b\b\b\b\b\b\b\b\b\b\b\b;scanf%sname;systemcls;printf\n---------------------------------------------------------------------------------------------------------\n;printf|编号|名称|种类|价格|购买日期|报废日期|是否报废|破损耗费|\n;printf---------------------------------------------------------------------------------------------------------\n;while1{p1=structmechanical*mallocsizeofstructmechanical;freadp1sizeofstructmechanical1fp;iffeoffp!=0break;ifstrstrp1-namename!=0{printf|%10s|%14s|%13s|%11s|%12s|%12s|%11s|%13s|\np1-nop1-namep1-kindp1-pricep1-purtimep1-scrtimep1-scrapp1-cost;printf---------------------------------------------------------------------------------------------------------\n;getch;flog=1;}}ifflog==0{printf查无设备,按任意键返回\n;fclosefp;getch;return;}fclosefp;}//---类别查询zl{structmechanical*p1;inti=1flog=0;charkind
[20];//p1=root;fp=fopend:\\shebei.datrb;iffp==NULL{printf\n\n文件打开失败按任意键返回主菜单;getch;return;}printf请输入你想查询的种类;[]\b\b\b\b\b\b\b\b\b\b\b\b\b;scanf%skind;systemcls;printf\n---------------------------------------------------------------------------------------------------------\n;printf|编号|名称|种类|价格|购买日期|报废日期|是否报废|破损耗费|\n;printf---------------------------------------------------------------------------------------------------------\n;while1{p1=structmechanical*mallocsizeofstructmechanical;freadp1sizeofstructmechanical1fp;iffeoffp!=0break;ifstrstrp1-kindkind!=0{printf|%10s|%14s|%13s|%11s|%12s|%12s|%11s|%13s|\np1-nop1-namep1-kindp1-pricep1-purtimep1-scrtimep1-scrapp1-cost;printf---------------------------------------------------------------------------------------------------------\n;getch;flog=1;}}ifflog==0{printf查无设备,按任意键返回\n;fclosefp;getch;return;}fclosefp;}//--------------------------管理员密码登录页面PassWord{charkey
[32]=enter
[32]=105501;intij;charc;systemcls;gotoxy258;printf\n\t\t\t┏━━━━━━┓\n;gotoxy3510;printf┃┃\n;printf\t\t\t┗━━━━━━┛;gotoxy1510;printf请输入密码:\b\b\b\bi;gotoxy3810;color1;gotoxy3810;printf;gotoxy3810;fori=3;i=1;i--{j=0;whilec=getch!=\r{ifj20isprintc//isprint函数限定只接收可显示(打印)字符{key[j++]=c;putchar*;}elseifj0c==\b{j--;putchar\b;putchar;putchar\b;}}putchar\n;key[j]=\0;//添加字符串结束标志ifstrcmpkeyenter==0{systemcolorf0;systemcls;printf\n\n\n\n;printf\t\t***************************************\n;printf\t\t**\n;printf\t\t*欢迎使用力学实验室设备管理系统*\n;printf\t\t**\n;printf\t\t***************************************\n;gotoxy2020;sj;gotoxy3512;printf正在进入;fori=0;i3;i++{gotoxy5012;printf·;gotoxy5012;Sleep200;printf··;Sleep200;gotoxy5012;printf···;Sleep200;gotoxy5012;printf····;gotoxy5012;printf;}Sleep600;adm;break;}elseifi1{printf\n\t\t密码错误!请重新输入!\n;gotoxy3810;continue;}}ifi==0{systemcolor04;systemcls;gotoxy258;printf对不起!您无权使用管理系统!\n;gotoxy3512;printf正在退出;fori=0;i3;i++{gotoxy5012;printf·;gotoxy5012;Sleep200;printf··;Sleep200;gotoxy5012;printf···;Sleep200;gotoxy5012;printf····;gotoxy5012;printf;}Sleep600;printf\n;getch;exit0;printf\n;}getch;return;}voidgotoxyintxinty{HANDLEhout;COORDcoord;coord.X=x;coord.Y=y;hout=GetStdHandleSTD_OUTPUT_HANDLE;SetConsoleCursorPositionhoutcoord;}//-------------------时间intsjvoid{time_ttimer=timeNULL;printf%s\nctimetimer;return0;}//-----------退出界面tc{systemcls;gotoxy3210;printf谢;Sleep350;printf谢;Sleep350;printf使;Sleep350;printf用!\n;Sleep600;gotoxy3210;printf正在退出.;Sleep300;printf.;Sleep300;printf.;Sleep300;printf.;Sleep300;printf.\n;Sleep600;gotoxy3212;sj;Sleep1000;exit0;}//------进入界面main{inti;systemcolorf0;printf\n;printf\n;printf\n;printf\n;printf\n;printf\n;printf\n********************************************************************************\n;printf\n\t\t\t力学实验室设备管理系统\n;printf\n********************************************************************************\n;sj;printf\n\t\t\t\t请稍后;fori=0;i3;i++{gotoxy4015;printf·;gotoxy4015;Sleep200;gotoxy4015;Sleep200;gotoxy4015;printf···;Sleep200;gotoxy4015;printf····;gotoxy4015;printf;}Sleep300;systemcls;caidan;}//------密码变色调用color1{SetConsoleTextAttributeGetStdHandleSTD_OUTPUT_HANDLEFOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE;}//----------------使用者注册R_register{structregisR;FILE*fp;inti=1j=0;charb;systemcls;printf\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n;printf\t┃┃\n;printf\t┃使用者注册┃\n;printf\t┃┃\n;printf\t┃┏━━━━━━━━━━━━━━━━━┓┃\n;printf\t┃账号┃┃┃\n;printf\t┃┗━━━━━━━━━━━━━━━━━┛┃\n;printf\t┃┃\n;printf\t┃请设置密码┃\n;printf\t┃┃\n;printf\t┃┏━━━━━━━━━━━━━━━━━┓┃\n;printf\t┃密码┃┃┃\n;printf\t┃┗━━━━━━━━━━━━━━━━━┛┃\n;printf\t┃┃\n;printf\t┃请再次输入密码┃\n;printf\t┃┃\n;printf\t┃┏━━━━━━━━━━━━━━━━━┓┃\n;printf\t┃密码┃┃┃\n;printf\t┃┗━━━━━━━━━━━━━━━━━┛┃\n;printf\t┃┃\n;printf\t┃提示密码只能输入三次┃\n;printf\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n;gotoxy245;scanf%sR.number1;//---账号gotoxy2411;color1;gotoxy2411;printf;gotoxy2411;scanf%sR.pwd1;//----密码fp=fopend:\\
[100];intij=0flag=0;charc;charnumber3
[32];charpwd5
[32];FILE*fp;systemcls;printf\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n;printf\t┃┃\n;printf\t┃使用者登录┃\n;printf\t┃┃\n;printf\t┃┏━━━━━━━━━━━━━━━━━┓┃\n;printf\t┃账号┃┃┃\n;printf\t┃┗━━━━━━━━━━━━━━━━━┛┃\n;printf\t┃┃\n;printf\t┃┏━━━━━━━━━━━━━━━━━┓┃\n;printf\t┃密码┃┃┃\n;printf\t┃┗━━━━━━━━━━━━━━━━━┛┃\n;printf\t┃┃\n;printf\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n;gotoxy245;scanf%snumber3;gotoxy249;color1;gotoxy249;printf;gotoxy249;whilec=getch!=\r{ifjMaxPwdLenisprintc//isprint函数限定只接收可显示(打印)字符{pwd5[j++]=c;putchar*;}elseifj0c==\b{j--;putchar\b;putchar;putchar\b;}}putchar\n;pwd5[j]=\0;//添加字符串结束标志fp=fopend:\\
1.datrb;iffp==NULL{printf\n\n文件打开失败按任意键返回主菜单;getch;return;}printf%10s%10s\n\n账号密码;while1{freadRsizeofstructregis1fp;iffeoffp!=0break;printf%10s%10s\n\nR.number1R.pwd1;//getch;i++;ifi==5{getch;printf\n\n;i=0;}}fclosefp;printf数据浏览完毕,按任意键返回;getch;}//-----------------注册删除zcscstructregisR[]{inti=0jnumberm;charnum
[32];FILE*fp;fp=fopend:\\
1.datrb;iffp==NULL{printfopenerror!\n;getch;return;}while1{freadR[i]sizeofstructregis1fp;iffeoffp!=0break;i++;}m=i;fclosefp;fp=fopend:\\
1.datwb;printf请输入需要删除的账号;scanf%snum;fori=0;im;i++{ifstrcmpR[i].pwd1num!=0{printf无此账号!!!\n;break;}ifstrcmpR[i].pwd1num==0{forj=i;jm-1;j++s[j]=s[j+1];}}fori=0;im-1;i++{fwriteR[i]sizeofstructregis1fp;}fclosefp;printf\n账号删除数组完成!按任意键返回菜单......;getch;}YNNYYNNY退出返回录入浏览修改删除查询返回查询浏览密码菜单开始设备管理员设备使用者编号查询种类查询名称查询返回删除修改显示查询录入管理员开始菜单种类查询名称查询编号查询浏览开始退出返回录入浏览修改删除查询返回查询设备管理员设备使用者1。