




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成都职业技术学院力学实验设备管理系统姓 名 : DEV-C编辑 2017年1月目录第1章 设计目的2第2章 总体设计22.1力学实验设备管理系统的要求22.2流程图32.3模块图72.4设置的主要函数825设置文件保存位置及文件名91 :D: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 整体流程图YNNYYNNY退出返回录入浏览修改删除查询返回查询浏览密码 菜单开 始设备管理员设备使用者2 设备使用者流程图3 设备管理者流程图编号查询种类查询名称查询返回删除修改显示查询录入管理员开始菜单2.3模块图种类查询名称查询编号查询浏览开 始退出返回录入浏览修改删除查询返回查询设备管理员设备使用者2.4设置的主要函数void menu()/菜单函数void Browse()/显示M *Input()/录入(增加)成员M *Delet()/删除void Search()/查找void Findchoice() /选择查找方式函数M *Modify()/修改信息结构体Typedef struct mechanical/定义力学设备结构体char no6;/编号char name20;/名称char kind20;/种类char price10;/价格 char purtime8;/购买日期char scrtime8;/报废日期 char scrap3; /是否报废char cost10 ; /破损耗费struct mechanical *next;/指向结构体数据类型的指针M;25设置文件保存位置及文件名1 :D: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其余功能分析表设备管理员1. 建立设备库2. 查询设备信息(根据:编号、名称、种类)3. 添加设备4. 修改设备5. 删除设备设备使用者1. 浏览设备信息2. 编号查询3. 名称查询4. 种类查询3.3性能规定1. 精度1.要按照严格的数据格式输入,否则软件不予响应进行处理。2查询是要保证查全率,所有相应域包含查询关键字的记录都应能查到。由于通常有文件的记录会很多,所以本软件采用两种方法进行查询:直接查询和模糊查询2灵活性当需求发生某些变化时,该软件具有较强的适应能力,如:a 本软件的运行环境将不会变化。b 精度与有效时限不会改变。c 计划将会进行改进。第4章 分工合作 4.1 暂时分工 附录 #include windows.h #include stdio.h#include string.h#include stdlib.h#include conio.h#include time.h#define MaxPwdLen 32 /密码的最大长度struct mechanical char no8;/编号char name20;/名称char kind20;/种类char price10;/价格char purtime12;/购买日期char scrtime12;/报废日期char scrap4;/是否报废char cost10;/破损耗费 struct mechanical *next; *root_mechanical,s1000;struct regis /注册信息结构体定义char number132; /注册使用者账号char pwd132; /char pwd232; /注册使用者密码char pwd332; /R1000;FILE *fp;/文件指针 void gotoxy(int,int);/光标定位 struct mechanical *input(void);/录入 void Browse(struct mechanical *);/浏览 struct mechanical * insert(struct mechanical *);/增加 void del(void);/ 删除 void password();/密码 int sj(void);/时间 / system(color f0);/-主菜单 caidan() int choice; system(cls); system(color f0);/颜色 背景 白 前景 黑 while(1) system(cls);printf(ntttn);printf(ttt n);printf(ttt 力学实验室设备管理系统 n);printf(ttt n);printf(tttn);printf(tttn);printf(ttt n); printf(ttt 1.设备使用者登录界面 n); printf(ttt n); printf(ttt 2.设备管理员界面 n);printf(ttt n); printf(ttt 3.设备使用者注册界面 n); printf(ttt n); printf(ttt 0.退出系统 n); printf(ttt n); printf(ttt n); printf(tttn);gotoxy(60,25);sj();gotoxy(40,18); printf(请输入选项 bbb);scanf(%d,&choice); switch(choice) case 2: PassWord();/管理员 break; case 1:password1();/使用者 break; case 3:R_register();/使用者注册 break; case 0:tc();exit(0); getch(); default:printf(输入错误!.n按任意键返回n);getch();break; /-使用者菜单 people() int choice ; system(color f0); while(1) system(cls);printf(tttn);printf(ttt n);printf(ttt 设备使用者界面 n);printf(ttt n);printf(tttn);printf(tttn);printf(ttt n); printf(ttt 1.浏览 n); printf(ttt n); printf(ttt 2.查询 n); printf(ttt n); printf(ttt 0.返回 n); printf(ttt n); printf(ttt n); printf(tttn); gotoxy(60,25);sj();gotoxy(35,18); printf(请输入选项 bbb);scanf(%d,&choice); switch(choice) case 1:Browse(root_mechanical); /-浏览 break; case 2:Search2();/-查询 break; case 0:caidan();/-返回菜单 break; default:printf(输入错误!.n按任意键返回n);getch();break; /-管理员菜单 adm() int c; root_mechanical=NULL; while(1) system(cls);printf(tttn);printf(ttt n);printf(ttt 设备管理员界面 n);printf(ttt n);printf(tttn);printf(tttn);printf(ttt n);printf(ttt 1.录入 2.显示 n); printf(ttt n); printf(ttt 3.添加 4.删除 n); printf(ttt n); printf(ttt 5. 修改 6.查询 n); printf(ttt n); printf(ttt 7.查看注册信息 8.删除注册信息 n); printf(ttt n); printf(tttn); printf(ttt n); printf(ttt 0.返回 n); printf(ttt n); printf(tttn); gotoxy(60,25);sj();gotoxy(40,20); printf(请输入选项: bbb);scanf(%d,&c); switch(c) case 1:root_mechanical=input();break; /-录入 case 2:Browse(root_mechanical);break;/-显示 case 3:root_mechanical=insert(root_mechanical);break;/-添加 case 4:del();break;/-删除 case 5:Modify();break;/ -修改 case 6:Search();break;/-查询 case 7:zc();break;/-查看注册信息 case 8:zcsc(R);break;/-查看注册信息 case 0:caidan();break;/-退出 default:printf(输入错误!.n按任意键返回n);getch();break; /-建立链表struct mechanical *input(void) struct mechanical *root,*p1,*p2; char c; int f=0,n,i,m=1; system(cls); fp=fopen(d:shebei.dat,wb); root=p1=(struct mechanical *)malloc(sizeof(struct mechanical); gotoxy(40,f+10); printf(请输入你需要输入的数量: bbbbbb); scanf(%d,&n); system(cls);printf(n-n); printf(| 编号 | 名称 | 种类 | 价格 | 购买日期 | 报废日期 | 是否报废 | 破损耗费 | n);printf(-n);for(i=1;ino); / gotoxy(2,20+m);/printf(-n); gotoxy(2,21+m); printf( ); gotoxy(2,21+m); printf(提示:最多五个字n); gotoxy(12,f+4); scanf(%s,p1-name);/ gotoxy(2,20+m);/printf(-n); gotoxy(2,21+m); printf( ); gotoxy(2,21+m); printf(提示:最多五个字 n); gotoxy(27,f+4); scanf(%s,p1-kind);/ gotoxy(2,20+m);/printf(-n); gotoxy(2,21+m); printf( ); gotoxy(2,21+m); printf(提示:最多9位数 n); gotoxy(41,f+4); scanf(%s,p1-price);/ gotoxy(2,20+m);/printf(-n); gotoxy(2,21+m); printf( ); gotoxy(2,21+m); printf(提示:输入格式如:20011011 n); gotoxy(55,f+4); scanf(%s,p1-purtime);/ gotoxy(2,20+m);/printf(-n); gotoxy(2,21+m); printf( ); gotoxy(2,21+m); printf(提示:输入格式如:20011011 n); gotoxy(68,f+4); scanf(%s,p1-scrtime);/ gotoxy(2,20+m);/printf(-n); gotoxy(2,21+m); printf( ); gotoxy(2,21+m); printf(提示:输入(是否) n); gotoxy(83,f+4); scanf(%s,p1-scrap);/ gotoxy(2,20+m);/ printf(-n); gotoxy(2,21+m); printf( ); gotoxy(2,21+m); printf(提示:最多8位数 n); gotoxy(95,f+4); scanf(%s,p1-cost); gotoxy(2,21+m); printf( ); gotoxy(95,f+4); /printf(n); f+=2; m+; fwrite(p1,sizeof(struct mechanical),1,fp); p2=(struct mechanical *)malloc(sizeof(struct mechanical); p1-next=p2;/链接到下一个链表 p1=p2; fclose(fp); return root;/-浏览void Browse(struct mechanical *root) struct mechanical *p1; int i=0; p1=root; fp=fopen(d:shebei.dat,rb); if(fp=NULL) printf(nn文件打开失败,按任意键返回主菜单); getch(); return; system(cls);printf(n-n); printf(| 编号 | 名称 | 种类 | 价格 | 购买日期 | 报废日期 | 是否报废 | 破损耗费 | n);printf(-n);while(1) p1=(struct mechanical *)malloc(sizeof(struct mechanical); fread(p1,sizeof(struct mechanical),1,fp); if(feof(fp)!=0) break;printf(|%10s|%14s|%13s|%11s|%12s|%12s|%11s|%13s|n,p1-no,p1-name,p1-kind,p1-price,p1-purtime,p1-scrtime,p1-scrap,p1-cost);printf(-n); if(i=5) getch();i=0; printf(nn); getch(); fclose(fp); printf(数据浏览完毕,按任意键返回。); getch();/-链表末尾添加 struct mechanical * insert(struct mechanical *root) struct mechanical *new_stu,*p; char c; int f=0,i,n; fp=fopen(d:shebei.dat,ab); system(cls); gotoxy(40,f+10); printf(请输入你需要输入的数量: bbbbbb); scanf(%d,&n); system(cls);printf(n-n); printf(| 编号 | 名称 | 种类 | 价格 | 购买日期 | 报废日期 | 是否报废 | 破损耗费 | n);printf(-n); / new_stu=(struct mechanical *)malloc(sizeof(struct mechanical); for(i=0;ino); gotoxy(2,20);printf(-n); gotoxy(2,21); printf( ); gotoxy(2,21); printf(提示:最多五个字n); gotoxy(12,f+4); scanf(%s,new_stu-name); gotoxy(2,20);printf(-n); gotoxy(2,21); printf( ); gotoxy(2,21); printf(提示:最多五个字 n); gotoxy(27,f+4); scanf(%s,new_stu-kind); gotoxy(2,20);printf(-n); gotoxy(2,21); printf( ); gotoxy(2,21); printf(提示:最多9位数 n); gotoxy(41,f+4); scanf(%s,new_stu-price); gotoxy(2,20);printf(-n); gotoxy(2,21); printf( ); gotoxy(2,21); printf(提示:输入格式如:20011011 n); gotoxy(55,f+4); scanf(%s,new_stu-purtime); gotoxy(2,20);printf(-n); gotoxy(2,21); printf( ); gotoxy(2,21); printf(提示:输入格式如:20011011 n); gotoxy(68,f+4); scanf(%s,new_stu-scrtime); gotoxy(2,20);printf(-n); gotoxy(2,21); printf( ); gotoxy(2,21); printf(提示:输入(是否) n); gotoxy(83,f+4); scanf(%s,new_stu-scrap); gotoxy(2,20);printf(-n); gotoxy(2,21); printf( ); gotoxy(2,21); printf(提示:最多8位数 n); gotoxy(95,f+4); scanf(%s,new_stu-cost); printf(n); f+=2; fwrite(new_stu,sizeof(struct mechanical),1,fp); new_stu-next=p;/链接到下一个链表 new_stu=p; fclose(fp); return ;/-根据名称删除结点void del() struct mechanical *p,*p1,*current,*p2; struct mechanical *root; char c; int n=0,i=0,m=0,j; char nno6; root=p=p2=(struct mechanical *)malloc(sizeof(struct mechanical); system(cls); fp=fopen(d:shebei.dat,rb); if(fp=NULL) printf(open error!n); getch(); return; while(1)/从文件中读取重现建立链表 /if(feof(fp)!=0) break; fread(p,sizeof(struct mechanical),1,fp); if(feof(fp)!=0) break; p1=(struct mechanical *)malloc(sizeof(struct mechanical); p2/*倒数第二条*/=p; p-next=p1;/链接到下一个链表 p=p1; p2-next=NULL;/*强行去除最后一条乱码*/ fclose(fp); /* p=root; while(p!=NULL) printf(编号:); printf(%s ,p-no); printf(名称:); printf(%s ,p-name); printf(种类:); printf(%s ,p-kind); printf(价格:); printf(%s ,p-price); printf(购买日期:); printf(%s ,p-purtime); printf(报废日期:); printf(%s ,p-scrtime); printf(是否报废:); printf(%s ,p-scrap); printf(破损耗费:); printf(%s n,p-cost); p=p-next;getch(); */ fp=fopen(d:shebei.dat,wb); gotoxy(60,25);sj(); gotoxy(40,13); printf(需要删除的编号:);scanf(%s,nno); p=root; if(p=NULL)gotoxy(40,14); printf(无删除信息!n);getch();return; if(strcmp(p-no,n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度沙发厂厂长聘用合同范本
- 2025版公路运输合同服务质量保障协议
- 2025版外汇市场交易执行顾问服务合同专业
- 2025年度房地产抵押权转让合同模板
- 2025照明灯具行业合作研发合同范本
- 2025版全新协议离婚财产放弃及共同子女财产租赁合同
- 2025年仓储服务与仓储设施租赁及仓储管理合同
- 2025民法典宣传周·旅游合同法律风险评估合同
- 2025年度新能源产业第三方担保服务合同
- 2025年大学生实习安全协议汇编及法律风险提示
- 2025年注册安全工程师考试(初级)安全生产法律法规试题及答案
- 电机电路安全知识培训课件
- 2025年建筑师考试备考策略与实战经验
- 13.2.1三角形的边 教案 人教版数学八年级上册
- 2025年征兵考试题目及答案
- 新员工社保讲解
- DB1508T 152-2024 玉米品字型播种北斗导航机械化作业技术规程
- 2025年固定矫治器粘接护理常规流程试题(含答案)
- 湖北省武汉市洪山区2024-2025学年七年级下学期期末质量检测英语试卷(含答案无听力)
- 统编版五年级上册《道德与法治》全册教案(表格式)
- 2025年蔬菜专业面试题库及答案
评论
0/150
提交评论