




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件基础课程设计化学仪器管理系统编 写 人: 同组成员:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX完成日期:2011年6月24日辅导教师:批阅日期:分 数:目录一程序功能简介2二总体设计部分2三源程序及注释4四运行结果10五小组分工及讨论14一程序功能简介我们所制作的化学仪器管理系统是一个基本的仪器管理程序,具有录入、删除、显示、修改和查询五个功能功能。存储的数据包括:仪器名称,仪器数量,仪器借出数量,新增仪器名称,新增仪器数量。有如下功能:1) 仪器添加记录(仪器名称,仪器代号,仪器数量);2) 仪器删除记录;3) 查询功能(仪器名称查询);要求:程序运行开始,首先显示一个命令菜单。用户选择那条命令,就调用那项功能。主菜单如图(1)所示:每个菜单项功能如下:1添加仪器记录:请输入储存仪器的名称,如果该用户已经存在则显示,否则,输入进行添加。2显示仪器详细记录:显示所录入仪器信息。3查找仪器记录:输入仪器名称,显示信息,进行修改。4删除仪器记录:显示删除仪器后的记录。5. 修改仪器记录:修改原有仪器记录。0退出:退出此次操作。二总体设计部分1、 设计思路开始进入主循环调用函数输出菜单输入05中的一个数值,选择相应操作输入是否为0 ?否是判断键值,调用相应函数,完成相应功能调用函数结束2、 功能模块设计:本程序主要的数据结构是线性链表,它由四大模块组成3、 所调用函数:1.main函数:通过显示各个部分的功能,再用开关语句进行需选择,以调用各相关函数;2.delete函数:通过对此函数的运用,进行删除整条记录的操作;3.insert函数:通过对此函数的运用,进行添加一次记录的操作:4.modify函数:通过对此函数的运用,进行分别修改相关记录的操作;5.printf函数:通过对此函数的运用,进行显示相关记录的操作;6.search函数:通过对此函数的运用,输入首字母后可进行查找相关整条记录的操作。三源程序及注释#include #include #include #include #include #define CM struct cm struct cm char chemistrystrumentname30; char chemistrystrumentnumber40; int chemistrystrumentcount; CM *next; ;int pc=0;/*输入添加记录*/ CM *insert(CM *head) system(cls);system(color 17); CM *temp,*p1,*p2; printf(插入操作开始!n); temp=( CM *)malloc(sizeof(CM); printf(请输入化学仪器名称:n);scanf(%s, temp-chemistrystrumentname);getchar();printf(请输入仪器代号: n);scanf(%s, temp-chemistrystrumentnumber);getchar();printf(请输入仪器数量: n);scanf(%d, &temp-chemistrystrumentcount);getchar(); if (head=NULL) head=temp; temp-next=NULL; else p1=head; while(p1!=NULL) p2=p1; p1=p1-next; p2-next=temp; temp-next=p1; printf(插入成功); pc+; return (head); /*查找记录*/ CM *search(CM*head) system(cls); system(color 17); CM*p1,*p2; int flag=0; char c; printf(请输入仪器名称的首字母: );scanf(%s,&c);getchar(); p1=head; while( p1!=NULL) if(p1- chemistrystrumentname 0=c) printf(化学仪器名称:%st仪器代号:%st仪器数量:%dn,p1-chemistrystrumentname,p1- chemistrystrumentnumber, p1- chemistrystrumentcount); flag=1; p2=p1;p1=p1-next; if(flag=0) printf(未找到符合记录!n); return head; /*删除记录*/ CM *delet(CM *head) system(cls);system(color 17); CM *p1,*p2; char str20; printf(请输入要删除的仪器名称:);scanf(%s,str); getchar(); p1=head; if (head=NULL) printf(没有记录n); goto end; while(p1!=NULL & strcmp(p1- chemistrystrumentname,str)!=0) p2=p1;p1=p1-next; if(p1=NULL) printf(未找到符合记录!n); else if(strcmp(p1- chemistrystrumentname,str)=0) if (p1=head) head=p1-next; else p2-next=p1-next; printf(成功!n); pc-; end:return (head); /*修改记录*/ CM *modify(CM *head) system(color 17); CM *p1,*p2; int mode; char str20; printf(n请输入要修改记录的化学仪器名称:n); scanf(%s,str); getchar(); p1=head; while( p1!=NULL) if(strcmp(p1-chemistrystrumentname,str)=0) printf(n 1.化学仪器名称:%sn,p1-chemistrystrumentname); printf(n 2.仪器代号:%sn,p1- chemistrystrumentnumber); printf(n 3.仪器数量:%dn, p1- chemistrystrumentcount); printf(n 请选择要修改选项:n); scanf(%d,&mode); getchar(); if(mode=1) printf(请输入修改后的化学仪器名称n); scanf(%s,p1- chemistrystrumentname);printf(tt n); printf( * * * 修改成功* * * n);getchar(); else if(mode=2) printf(请输入修改后的仪器代号n); scanf(%s,p1- chemistrystrumentnumber);printf(tt n); printf( * * * 修改成功* * * n);getchar(); else if(mode=3) printf(请输入修改后的仪器数量n); scanf(%d,&p1- chemistrystrumentcount);printf(tt n); printf(修改成功!n);getchar(); else printf(输入有误!n); break; p2=p1;p1=p1-next; if(p1=NULL) printf(未找到符合要求的记录!n); return head;/*显示结果函数*/ void print(CM *head) system(cls); system(color 17); CM *p; p=head; printf(显示结果是:n); printf(化学仪器名称ttt仪器代号ttt仪器数量n); if(head!=NULL) do printf(%stttt%stttt%dn,p-chemistrystrumentname,p-chemistrystrumentnumber,p-chemistrystrumentcount); p=p-next; while(p!=NULL); /*主函数*/ void main() system(cls); system(color 17); CM *head=NULL; int choise; printf(tt n); printf(tt n); printf(tt n); printf(tt * * * * 软件基础课程设计 * * * *n); while(1) printf(tt n); printf(tt 欢迎使用化学仪器管理系统 n); printf( * * * * * * * * * * * * * * * * *tn); printf( * 1.添加仪器记录 *tn); printf( * 2.显示仪器详细记录 *tn); printf( * 3.查找仪器记录 *tn); printf( * 4.删除仪器记录 *tn); printf( * 5.修改仪器记录 *tn); printf( * 0.退出 *tn); printf( * * * * * * * * * * * * * * * * *n); printf(ttn); printf(请选择(0-5):); scanf(%d,&choise);getchar(); switch(choise) case 1: head=insert(head); break; case 2: print(head); break; case 3: head=search(head); break; case 4: head=delet(head); break; case 5: head=modify(head); break; case 0: exit(0); break; default :printf(输入错误,请重新输入!n); 四运行结果 1.添加仪器记录:输出结果:2.显示仪器详细记录:3.查找仪器:4.借出仪器记录:5.修改仪器记录:输出结果:五小组分工及讨论1、小组分工: 我们组有五名人员组成,杨永强为组长。在课程设计过程中有关于程序的分析及设计由五人共同讨论得出,其他部分根据个人能力进行相应分工。 五人中吴贵兴编程能力较强,何涛、王顺强读程序能力较强,因此由吴贵兴同学主编,其他组员辅助编写代码; 若出现小组解决不了的问题可以向老师寻求帮助; 由于杨永强熟悉word及相关软件操作,因此代码编写完成后由杨永强、吴丽娃编写课程设计报告。2、讨论:化学仪器管理系统程序原来设计的程序较长,算法比较复杂,调试的过程中遇到了各种各样的问题。加之小组人员编程能力有限,因此将原有设计进行简化后制作了化学仪器管理系统;程序设计及分析由五人讨论,由于成员都有一定的程序设计及分析能力,困难较小;由于五人编程能力高低不等,因此源代码编写编程能力较强的三人进行主编,其他人员辅助。可以说代码编写过程困难最大,在调试过程中更是倍受挫折。遇到了程序输入数字显示不正常及选项4无显示等问题,后向老师寻求帮助后得以解决;由于能力有限,该程序比较的简单,在实际应用中也存在一定的问题,如只能在一页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文物古迹展览数字化创新创业项目商业计划书
- 油制护肤品基础油创新创业项目商业计划书
- 2025年超市合作伙伴合同
- 影视拍摄创新创业项目商业计划书
- 家禽健康饮食市场趋势创新创业项目商业计划书
- 硬装设计合同(标准版)
- 潮州市安全员考及答案
- 2025石材销售合同
- 2025重庆餐饮员工劳动合同模板
- 影视作品的署名权转让合同7篇
- 2025中远海运港口有限公司社会招聘2人笔试历年参考题库附带答案详解
- 2024年无锡工艺职业技术学院公开招聘辅导员笔试题含答案
- 高压氧治疗脑卒中
- 2025年三峡银行考试真题及答案
- 2025年度哈尔滨市平房区纪委监委公开招聘雇员2人考试参考题库及答案解析
- 10KV变电送受电安全作业方案
- 2025年江西省高考化学试卷真题(含答案)
- 海上作业安全培训教学课件
- 2025年ARVR行业研究报告及未来行业发展趋势预测
- 【初中数学】单项式与单项式相乘(课件)+华东师大版(2024)数学八年级上册
- 情绪管理课2025年职场压力释放与心灵成长分析报告
评论
0/150
提交评论