收藏 分销(赏)

力学实验设备管理系统--课程设计.doc

上传人:可**** 文档编号:2019684 上传时间:2024-05-13 格式:DOC 页数:74 大小:639KB
下载 相关 举报
力学实验设备管理系统--课程设计.doc_第1页
第1页 / 共74页
力学实验设备管理系统--课程设计.doc_第2页
第2页 / 共74页
力学实验设备管理系统--课程设计.doc_第3页
第3页 / 共74页
力学实验设备管理系统--课程设计.doc_第4页
第4页 / 共74页
力学实验设备管理系统--课程设计.doc_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、 成都职业技术学院力学实验设备管理系统姓 名 : 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语言编程和程

2、序调试的基本技能。 3. 利用C语言进行基本的软件设计。 4. 掌握书写程序设计说明文档的能力。 5. 提高运用C语言解决实际问题的能力。第2章 总体设计2.1力学实验设备管理系统的要求通过该系统实现对力学实验设备信息进行录入、修改、统计、查询、保存、删除等操作的管理。实验设备信息包括:设备编号,设备种类,设备名称(如烧杯、酒精灯等),设备价格,设备购入日期,是否报废,报废日期等。主要功能:1)、能够完成对设备的录入和修改2)、对设备进行分类统计3)、设备的破损耗费和遗损处理4)、设备的查询5)、将设备信息保存到文件中2.2流程图根据设计要求,画出如下流程图:1 整体流程图YNNYYNNY退出

3、返回录入浏览修改删除查询返回查询浏览密码 菜单开 始设备管理员设备使用者2 设备使用者流程图3 设备管理者流程图编号查询种类查询名称查询返回删除修改显示查询录入管理员开始菜单2.3模块图种类查询名称查询编号查询浏览开 始退出返回录入浏览修改删除查询返回查询设备管理员设备使用者2.4设置的主要函数void menu()/菜单函数void Browse()/显示M *Input()/录入(增加)成员M *Delet()/删除void Search()/查找void Findchoice() /选择查找方式函数M *Modify()/修改信息结构体Typedef struct mechanical/

4、定义力学设备结构体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) 输入密码,验证通过后进入“管理员”界

5、面。3) 选择“录入”对应选项,打开录入设备界面4) 按照要求输入需要新增的设备信息,完成设备新增操作。5) 新增完成后,返回“管理员”页面列表。 输入:输入名称数据类型长度限制备注编号char *6名称char *20种类char *20价格char *10购买日期char *8报废日期char *8是否报废char *3破损耗费char *10输出:图书保存成功!按任意键返回主菜单。2.设备使用者浏览设备查询设备流程:1) 登录者选择“使用者”登陆菜单,打开“使用者”页面2) 选择“查询,浏览”对应的选项,打开界面3) 按照要求输入需要查询的设备信息,完成使用者查询操作。4) 查询完成后,

6、返回“使用者”页面列表。输入:输入名称数据类型长度限制备注名称char*20编号char*6种类char*20输出:登记成功!3.2其余功能分析表设备管理员1. 建立设备库2. 查询设备信息(根据:编号、名称、种类)3. 添加设备4. 修改设备5. 删除设备设备使用者1. 浏览设备信息2. 编号查询3. 名称查询4. 种类查询3.3性能规定1. 精度1.要按照严格的数据格式输入,否则软件不予响应进行处理。2查询是要保证查全率,所有相应域包含查询关键字的记录都应能查到。由于通常有文件的记录会很多,所以本软件采用两种方法进行查询:直接查询和模糊查询2灵活性当需求发生某些变化时,该软件具有较强的适应

7、能力,如: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 scr

8、time12;/报废日期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 mechani

9、cal *);/浏览 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);p

10、rintf(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); s

11、witch(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 设备使用者界面

12、 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_me

13、chanical); /-浏览 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);print

14、f(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

15、(%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;/-查看注册信息 ca

16、se 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(请输入你需要输

17、入的数量: 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); gotox

18、y(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(

19、提示:输入格式如: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(8

20、3,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(sizeo

21、f(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(| 编号 | 名称 | 种类 | 价格 | 购买日期 |

22、 报废日期 | 是否报废 | 破损耗费 | 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);

23、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(-

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服