欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    c程序课程设计实验室管理系统.docx

    • 资源ID:16154079       资源大小:20.22KB        全文页数:7页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c程序课程设计实验室管理系统.docx

    1、c程序课程设计实验室管理系统目 录 1需求分析 . 4 2 总体设计 . 4 2.1程序的总体设计 . 4 2.2数据结构. 5 3 详细设计 . 6 3.1主控模块设计 . 6 3.2实验设备信息录入模块设计 . 7 3.3实验设备信息更改模块设计 . 8 3.4实验设备信息删除模块设计 . 9 4主要函数功能描述 . 10 4.1 添加设备函数addEequipment(). 10 4.2 输入到文件函数 fpintE . 10 4.3 修改设备信息函数changeEquipment() . 10 4.4 删除设备信息函数 deleteEquipment() . 10 5 测试与调试. 1

    2、1 6 个人设计小结与心得体会 . 12 参考文献 . 12 致谢 . 13 附件1 程序源代码 . 13 1 前言 现在,科学技术的飞速发展把人类社会推向了一个崭新的时代信息时代。这已是无可争议的事实;信息对社会经济发展的巨大推动作用,使其与物质能源一起并列为现代社会的三大支柱,这已在全社会达到共识。随着对信息作为一种资源来管理的需求日益加强,信息研究领域出现了一种新的管理思想和模式信息管理。 计算机管理以其快捷高效的特点在很多领域已经取代了传统的手工管理方式,尤其是在繁复琐碎的物资设备管理中,计算机管理手段的这一优势更显得十分突出。与传统管理方式相比较,设备管理系统能更加有效的进行信息管理

    3、。设备管理系统应用数据库,对信息数据以数据库形式表示,更容易更新和管理。传统的管理方式往往以表格的形式进行管理,一旦数据过于庞大,要对这些数据进行管理时,就要花费大量的时间,而且很容易出错。由于现代信息化的普及化,因此现代信息化的设备管理模式很快取代了传统模式的管理方式。 2 摘 要 在此次课程设计中我们小组的课设题目是实验室设备信息管理系统,我们使用软件Visual C+6.0及C语言来完成此次课程设计。我在课设过程中实现了系统的主菜单,设备信息录入,设备信息修改,设备信息删除等功能。利用开发程序对实验室设备进行方便、有效、合理的管理。 系统使用Visual C+6.0。 关键词:数据库;信

    4、息管理;Visual C+6.0 3 1需求分析 (1)问题 根据需求,该系统所应包含的信息有以下一些: 实验室设备的基本信息: 实验设备编号、实验设备名称、型号、购入时间、价格 根据需求,该系统所应实现的功能有以下一些: 各种基本数据的录入。如:实验室设备基本信息录入。 各种基本数据的修改与删除。即:允许对已经录入的数据重新进行编辑、修改、删除。例如修改或删除实验室设备指定信息 基于各种数据的查询。例如输入实验室设备名称,查询实验室设备的编号、购入时间、价格。 基于各种数据的排序。即:实验室设备按编号排序。 各种数据的浏览。如:浏览实验室设备所有信息。 (2)系统 采用C语言实现,开发环境为

    5、VC,可以运行在操作系统windows98及以上皆可。 (3)运行要求 能不受限制的录入实验室设备信息 界面友好,操作方便,例如删除前需要提示用户是否删除 2 总体设计 2.1程序的总体设计 实验室设备信息管理系统 设备设备设备设备维修显示功能 信息信息信息查 找 记录所有选 择 录 入 更 改 删 除 管 理 设 备 图1.程序总体设计图 4 2.2数据结构 根据系统要求,系统中需要保存的数据有设备的信息,其结构如表1: 数据项名称 数据项系统表示 数据类型 数据长度 备注 编号 num 字符串 名称 name 字符串 20 型号 model 字符串 20 购入时间 time 字符串 20

    6、价格 price 字符串 20 表1.结构体 使用C语言创建的结构体如下: typedef shebei /*定义数据结构*/ int num; /编号 char name20; /名称 char model20; /型号 bnm char price20; /价格 char buy_date20; /购买日期 struct equipment *next; char repair_time20; typedef shebei * next; ; 5 3 详细设计 3.1主控模块设计 控制整个程序的运行,通过主函数模块分别调用各个模块,实现各项功能,流程如图2所示。 开始 显示一系列功能选择

    7、提示输入有误,操作失败! 输入n,判断m否 是否0到7? 是 据n值调用各功能模块函数 结束 图2.主模块流程图 6 3.2实验设备信息录入模块设计 信息输入,在系统中输入相关信息流程图如图3所示。 开始 提示输入编号已有,输入失败! 功能选择设备信息录入 是 输入编号,判断是否存在? 否 依次输入实验设备信息 提示录入成功 结束 图3.实验设备信息录入模块流程图 7 3.3实验设备信息更改模块设计 修改信息,系统要求用户输入要修改的设备编号,用户只需将设备新的信息按要求输入即可对信息进行修改,流程图如图4。 开始 功能选择设备信息更改 输入编号,判是 否 断是否存在 输入修改后的数据 提示没

    8、有设备!请先录入设备! 结束 图4.实验设备信息更改模块流程图 8 3.4实验设备信息删除模块设计 删除信息,系统要求用户输入要删除的设备编号,输入后即可删除设备信息,流程图如图5。 开始 提示删除失败,没有找到设备编号! 功能选择设备信息删除 否 输入设备编号,判读是否存在? 是 提示删除成功 结束 图5.实验设备信息删除模块流程图 9 4主要函数功能描述 4.1 添加设备函数addEequipment() 函数原型:void fprintE(Equipment *head) 功能描述:添加设备信息,如果编号不存在,则输入设备名称、型号、价格、购买日期;如果编号存在,则输入失败。 函数流程图

    9、如图3所示。 4.2 输入到文件函数 fpintE 函数原型:void fprintE(Equipment *head) 功能描述:打开data.txt文件,将设备当前信息指针指向头部,当设备当前信息不为空,将数目、名称、模型、价格、购买日期按指定格式写入到文本文件中。 4.3 修改设备信息函数changeEquipment()函数原型:void changeEquipment(Equipment *head,int num) 功能描述:先查找设备,如果没有会要求先录入设备,会对设备信息进行修改,包括设备的名称,型号,价格,购买日期,若未找到,会提示操作失败。 函数流程图如图4所示。 4.4

    10、删除设备信息函数 deleteEquipment() 函数原型:void deleteEquipment(Equipment *head,int num) 功能描述:先查找设备,如果没有会要求先录入设备,找到设备后可以删除该设备信息,并提示删除成功。 函数流程图如图5所示。 10 5 测试与调试 1、程序菜单测试 图6 2、设备信息录入测试 测试数据 输入:1 显微镜 111 1234 2013.7 2 望远镜 222 345678 2013.7 图7 3、设备信息更改测试 将设备编号1改为3,型号改为333,价格改为4321,购买时间改为2012.7 图8 4、设备信息删除测试 将设备编号为

    11、3的设备信息删除 11 图9 6 个人设计小结与心得体会 经过一周的调查、学习、研究和设计,系统的设计接近了尾声。在这里我将系统设计做如下总结。 1.本系统的功能已经达到设计的要求。系统中各个模块的功能均已实现,为整体系统的构建奠定了基础。 2.系统模块的功能可以被进一步扩展。 3.系统中模块划分明确,模块功能设计有较强的针对性。 4.系统的设计遵循软件开发的全过程,使我对软件系统的开发过程有了更深刻的认识。 系统的设计没有完美无缺的,这个系统在某些地方可能存在不足,还需要我们进一步的改进和完善。 参考文献 1 严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版社,2007 2 张长海.

    12、C语言程设计M.北京:高等教育出版社,2006 3 陈建新,李志敏.数据结构实验指导与课程设计教程.北京:科学出版社,2010 4 吴玉蓉,李劲.数据结构(C语言版).北京:中国水利水电出版社,2008 5 谭浩强 .C语言程设计. 北京:清华大学出版社,2005 6王为青,刘变红. C语言高级编程及实例剖析.北京:人民邮电出版社,2007 7王连相,赵付清.C/C+程序设计教程.北京:中国铁道出版社,2011 12 致谢 在本次课程设计过程中,得到了指导老师张墨逸老师的细心指导与支持。在此特别感谢张墨逸老师的大力帮助同时也特别感谢我的同学他们在我的这次课程设计中给了我很大的帮助。有了张墨逸老

    13、师的悉心指导和大力支持,我在总体结构、功能的把握上给予了非常大的帮助,同时给我们提供了非常优越的设计环境,并对我在编程等细节工作上给予了耐心的指导。在此我一并向她表示感谢。通过这次课程设计我还明白了作为一名信息与计算科学专业的学生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。 附件1 程序源代码 #include /宏定义函数 #include /动态存储分配函数头文件 #include /调用系统函数 typedef struct equipment int num; /编号 char name20; /名称 char model20; /型号 bnm char pri

    14、ce20; /价格 char buy_date20; /购买日期 struct equipment *next; char repair_time20; Equipment; void fprintE(Equipment *head); /将设备信息输出到文件 void addEquipment(Equipment *head); /添加设备信息 void deleteEquipment(Equipment *head,int num); /删除设备信息 void changeEquipment(Equipment *head,int num); /修改设备信息 void findEquipm

    15、ent(); /设备查找 Equipment* fscanE(); /从文件读取设备信息 void repairEquipment(); / 维修管理 void printList(Equipment *head); /输出设备信息列表 int checkNum(Equipment *head, int num);/检查信息 /将设备信息输出到文件 void addEquipment(Equipment *head) /Equipment *tail = head;指针指向头部 while(tail-next!=NULL) tail = tail-next;/当尾部不为空时,继续 Equipm

    16、ent *newnode = (Equipment*)malloc(sizeof(Equipment);/动态分配空间 printf(请输入设备编号:); scanf(%d,&newnode-num);/输出数据 if(checkNum(head,newnode-num) printf(输入编号已有,输入失败!); return; printf(请输入设备名称:); scanf(%s,&newnode-name); printf(请输入设备型号:); scanf(%s,&newnode-model); printf(请输入设备价格:); scanf(%s,&newnode-price); 13

    17、 printf(请输入设备购买日期:); scanf(%s,&newnode-buy_date); tail-next = newnode; newnode-next = NULL; fprintE(head); printf(录入成功!); /将链表输入到文件 void fprintE(Equipment *head) FILE *fp=fopen(data.txt,w); Equipment *current = head-next; while(current) fprintf(fp,%dn,current-num); fprintf(fp,%sn,current-name); fpri

    18、ntf(fp,%sn,current-model); fprintf(fp,%sn,current-price); fprintf(fp,%sn,current-buy_date); /printf(%d %s %s %s %s ,current-num,current-name,current-model,current-price,current-buy_date); current = current-next; fclose(fp); /删除设备信息 void deleteEquipment(Equipment *head,int num) if(head-next=NULL) pri

    19、ntf(没有设备!请先录入设备!); return; Equipment *current = head; Equipment *current_next = current-next; while(current_next) if(current_next-num=num) current-next = current_next-next; printf(删除成功!); fprintE(head); return; current = current-next; current_next = current_next-next; printf(删除失败,没有找到设备编号!); /修改设备信息

    20、 void changeEquipment(Equipment *head,int num) if(head-next=NULL) printf(没有设备!请先录入设备!); return; Equipment *current = head-next; while(current & (current-num!=num) current = current-next; if(current!=NULL) printf(请输入修改后的数据:n); printf(请输入设备编号:); scanf(%d,¤t-num); printf(请输入设备名称:); scanf(%s,&curr

    21、ent-name); printf(请输入设备型号:); scanf(%s,¤t-model); printf(请输入设备价格:); scanf(%s,¤t-price); printf(请输入设备购买日期:); scanf(%s,¤t-buy_date); fprintE(head); 14 else printf(操作失败,没有找到设备编号!); /设备查找 void findEquipment() Equipment *head = fscanE(); if(head-next=NULL) printf(没有设备!请先录入设备!); return; i

    22、nt num; printf(请输入查找设备的编号:); scanf(%d,&num); while(head) if(head-num=num) printf(编号为%d的信息为:n,num); printf(编号:%dn,head-num); printf(名称:%sn,head-name); printf(型号:%sn,head-model); printf(价格:%sn,head-price); printf(购买日期:%sn,head-buy_date); return; head = head-next; printf(查找失败,没有找到设备编号!); /从文件读取设备信息 Equ

    23、ipment* fscanE() Equipment *head1 = (Equipment*)malloc(sizeof(Equipment); head1-next = NULL; Equipment *current = head1; FILE *fp = fopen(data.txt,r); while(!feof(fp) Equipment *newnode = (Equipment*)malloc(sizeof(Equipment); fscanf(fp,%dn,&newnode-num); fscanf(fp,%sn,newnode-name); fscanf(fp,%sn,ne

    24、wnode-model); fscanf(fp,%sn,newnode-price); fscanf(fp,%sn,newnode-buy_date); current-next = newnode; newnode-next = NULL; current = current-next; fclose(fp); return head1; /维修信息管理 void repairEquipment() int num; int oper; char time16; printf(请输入维修操作(12):n1.记录t2.查找n); scanf(%d,&oper); getchar(); swit

    25、ch(oper) case 1: FILE *fp = fopen(myfile.txt,a); printf(请输入维修编号:); scanf(%d,&num); printf(请输入维修时间(xxxx-xx-xx):); scanf(%s,&time); fprintf(fp,%dn,num); fprintf(fp,%sn,time); 15 fflush(fp); fclose(fp); printf(记录成功!); break; case 2: int t = 0; printf(请输入查找编号:); scanf(%d,&num); int rnum; FILE *fp = fope

    26、n(myfile.txt,r); while(!feof(fp) fscanf(fp,%dn,&rnum); fscanf(fp,%sn,&time); if(rnum=num) printf(编号:%d,维修时间:%sn,rnum,time); t = 1; if(t=0) printf(查询错误,没有找到维修记录!); fclose(fp); break; default: printf(输入有误,操作失败!); /输出设备信息列表 void printList(Equipment *head) if(head-next=NULL) printf(没有设备,请先录入设备!); return; Equipment *current = head-next; printf(=n); printf( 编号 名称 型号 价格 购买日期 n); while(current) printf(t%dt%st%st%st%sn,current-num,current-name,current-model,current-price,


    注意事项

    本文(c程序课程设计实验室管理系统.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开