实验室管理系统—C语言.doc
《实验室管理系统—C语言.doc》由会员分享,可在线阅读,更多相关《实验室管理系统—C语言.doc(13页珍藏版)》请在咨信网上搜索。
西安郵電大学 软件课程设计报告 题目: 实验室设备管理系统 院系名称 : 电子工程学院 专业名称 : 电子信息工程 班 级 : 1204 班内序号 : 5 学生姓名 : 诺贝尔杨 时间 : 2013年3月18日至2013年3月29日 1。课程设计目的 实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。 主要功能: 1.录入设备信息 2.修改设备信息 3.查询设备信息 (1)按设备编号查询 (2)按设备名称查询 4.对设备按种类进行分类统计 5.报废设备登记. 6.报废设备统计。 2。设计思路 需求分析 实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号 设备种类 设备购入日期 正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择.整个系统可设计为实验设备信息输入模块 实验设备信息修改模块 实验设备分类统计模块实验设备查询模块和实验设备报废信息模块.建立实验设备信息结构体,结构体成员包括设备编号 设备种类 设备名称 设备价格 设备购入日期 是否报废 报废日期。 实验报废设备信息模块 实验设备信息输入模块 实验设备信息修改模块 实验设备信息查询模块 实验设备分类统计模块 退 出 实验设备管理系统设计 3.功能模块图 读取数据 主菜单 退出系统 1 录入信息 2 修改信息 3 查询信息 4 分类统计 5 报废登记 6 查询信息 7 报废统计 退出系统 开始 选择 错误退出系统,break; 4.主函数模块流程图 密码 5。程序代码 #include”stdio.h" #include”string。h" #define null 0 int t=0; int mmcsz=0; int mima; int menu();//菜单 void lr();//录入信息 void xg();//修改 void cx();//查询 void cx_sbh();//设备号查询 void cx_mc();//设备名称查询 void tj();//统计 void bf();//报废信息 void bf_dj();//报废登记 void bf_tj();//报废统计 void choose(); typedef struct shebei { char id[10]; char name[15]; char kind[15]; char over[15]; int yesno; char time[10]; char price[10]; }shebei; shebei sb[200]; void lr()//录入信息 { while(1) { printf("提示:输入0则返回主菜单!\n”); printf("\n请你输入设备ID号:”); scanf(”%s”,sb[t]。id); if(strcmp(sb[t].id,”0")==0) main(); printf("\n请输入设备名称:"); scanf(”%s”,sb[t].name); printf("\n请输入设备种类:”); scanf(”%s",sb[t]。kind); printf(”\n请输入报废日期:"); scanf(”%s",sb[t].over); printf(”\n请输入设备是否报废,1、没报废,0、报废:”); scanf(”%d”,&sb[t]。yesno); printf(”\n请输入设备购买时间:”); scanf(”%s",sb[t]。time); printf(”\n请输入设备价格:”); scanf("%s”,sb[t].price); printf("提示:已经完成一条记录的添加。\n”); t++; } } void xg()//修改 { char find[20]; int x; t=0; printf("请输入要修改的设备ID号:"); scanf(”%s",find); while(1) { if(strcmp(sb[t].id,find)==0) //如果找到的话返回的是符合要求 { break; } else t++; } while(1) { printf(”确认修改请输入任意数字否则输入0重新输入设备原id:”); scanf(”%d”,&x); if(x==0) break; else { printf(”请输入新设备号(原来是 %s ):",sb[t].id); scanf("%s",sb[t]。id); printf(”请输入新设备名称(原来是 %s ):”,sb[t].name); scanf(”%s",sb[t]。name); printf(”请输入新设备设备种类名称(原来是 %s ):”,sb[t]。kind); scanf(”%s”,sb[t]。kind); printf("请输入新设备报废日期名称(原来是 %s ):”,sb[t]。over); scanf(”%s",sb[t].over); printf(”请输入新设备是否报废,1、没报废,0、报废(原来是 %d):",sb[t].yesno); scanf(”%d",&sb[t].yesno); printf("请输入新设备购买时间(原来是 %s ):”,sb[t]。time); scanf(”%s",sb[t].time); printf("请输入新设备价格(原来是 %s ):”,sb[t]。price); scanf(”%s”,sb[t].price); printf("\n提示:该项记录资料已经成功修改!\n”); printf("退回主菜单请输入0\n"); printf("继续操作请输入1\n"); scanf("%d",&x); switch(x) { case 0:choose();break; case 1:xg();break; default:printf(”输入无效,自动返回主菜单\n");choose();break; } } } } void cx()//查询 { int choice; do { printf(”\t\t\t——-—--—-----———-————--———---—————-\n”); printf("\t\t\t* [1]--——按设备号查找 *\n”); printf("\t\t\t* [2]-———按设备名称查找 *\n"); printf("\t\t\t* [0]-———退出 *\n”); printf("\t\t\t*·*·*·*·*·*·*·*·*·*·*·*|\n”); scanf("%d”,&choice); getchar(); switch(choice) { case 0:menu();break; case 1:cx_sbh();break; case 2:cx_mc();break; default:printf(”输入无效请重新输入\n");cx(); break; } } while(choice!=0); } void cx_sbh()//设备号查询 { int choice; char find[20]; int t=0; printf(”请输入您要查询的设备号:"); scanf ("%s”,find); getchar(); do { if(strcmp(sb[t]。id,find)==0&&sb[t].yesno==1) //1表示设备没报废 { printf(”设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格\n”); printf("\n%—13s%—11s%—7s%—10s%—13d%-10s%—5s\n”,sb[t].id,sb[t]。name,sb[t]。kind,sb[t]。over,sb[t].yesno,sb[t]。time,sb[t]。price); t++; } else t++; } while (t〈100); printf("键入数字1返回主菜单\n"); printf("键入数字任意键返回上层菜单\n”); scanf(”%d”,&choice); if (choice==1) choose(); else cx(); } void cx_mc()//设备名称查询 { int choice; char ming[20]; t=0; printf("\n输入你要查询的设备名称:”); scanf(”%s",ming); do { if(strcmp(sb[t]。name,ming)==0&&sb[t].yesno==1) //1表示设备没报废 { printf(”设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格\n"); printf(”\n%—13s%-11s%—7s%-10s%—13d%-10s%-5s\n”,sb[t]。id,sb[t].name,sb[t]。kind,sb[t]。over,sb[t]。yesno,sb[t]。time,sb[t].price); t++; } else t++; } while (t<100); printf(”键入数字1返回主菜单\n”); printf("键入数字任意键返回上层菜单\n”); scanf("%d",&choice); if (choice==1) choose(); else cx(); } void tj()//统计 { int choice; char tong[20]; printf(”\n输入你要统计的设备种类:”); scanf("%s",tong); do { if(strcmp(sb[t].kind,tong)==0&&sb[t]。yesno==1) //1表示设备没报废 { printf("设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格\n”); printf("\n%—13s%—11s%-7s%-10s%-13d%—10s%-5s\n",sb[t].id,sb[t]。name,sb[t]。kind,sb[t]。over,sb[t].yesno,sb[t].time,sb[t].price); t++; } else t++; } while (t〈100); printf(”键入数字1返回主菜单\n”); printf(”键入数字任意键返回上层菜单\n”); scanf("%d",&choice); if (choice==1) choose() ; } void bf() //报废信息 { int choice; do { printf(”\t\t\t—-————-—————-----————-——————-—--——\n”); printf("\t\t\t* [1]--——登记报废信息 *\n”); printf(”\t\t\t* [2]——-—报废设备统计 *\n”); printf(”\t\t\t* [0]--——退出 *\n”); printf("\t\t\t*·*·*·*·*·*·*·*·*·*·*·*|\n”); scanf("%d”,&choice); getchar(); switch(choice) { case 0:menu();break; case 1:bf_dj();break; case 2:bf_tj();break; default:printf(”输入无效请重新输入\n”);bf(); break; } } while(choice!=0); } void bf_dj()//报废登记 { char find[20]; int x; t=0; printf(”请输入要登记的设备ID号:”); scanf(”%s”,find); while(1) { if(strcmp(sb[t].id,find)==0) //如果找到的话返回的是符合要求 { break; } else t++; } while(1) { printf(”完成登记请输入0否则输入任意数再进行修改:"); scanf(”%d”,&x); if(x==0) break; { printf("请输入新设备是否报废1、没报废,0、报废(原来是 %d ):”,sb[t]。yesno); scanf("%d”,&sb[t]。yesno); printf(”\n〉〉〉〉>〉>〉>〉提示:该项记录资料已经成功登记!\n”); scanf(”%d”,&x); switch(x) { case 0:choose();break; case 1:bf();break; default:printf(”输入无效,自动返回主菜单\n”);choose();break; } } } } void bf_tj()//报废统计 { int choice; char find[20]; t=0; printf("\n输入你要统计的报废设备种类:”); scanf("%s”,find); do { if(strcmp(sb[t].kind,find)==0&&sb[t].yesno==0) //0表示设备报废 { printf("设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格\n"); printf("\n%—13s%—11s%-7s%-10s%—13d%—10s%—5s\n",sb[t].id,sb[t].name,sb[t]。kind,sb[t]。over,sb[t]。yesno,sb[t]。time,sb[t]。price); t++; } else t++; } while (t〈3); printf(”键入数字1返回主菜单\n”); printf(”键入数字任意键返回上层菜单\n”); scanf("%d”,&choice); if (choice==1) choose(); } int menu(int choice) { printf(”\n\n\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+ [2]——-—修改设备信息 |\n”); printf(”\t\t\t+ [3]—-—-查询设备信息 |\n”); printf(”\t\t\t+ [4]——--统计设备信息 |\n”); printf(”\t\t\t+ [5]——-—报废设备信息 |\n"); printf("\t\t\t+ [0]---—*—EXIT—* |\n”); printf(”\t\t\t+*·*·*·*·*·*·*·*·*·*·|\n"); printf(”\t\t\t———--—-—---——-—-—————-———————---\n”); printf("请输入你要操作的序号:"); scanf(”%d”, &choice); return choice; } void choose() { int choice; choice=1; choice=menu(choice); do{ switch (choice) { case 0: printf(”\n提示:你已经退出系统\n\t\t 再见!\n"); break; case 1: lr(); break; case 2: xg(); break; case 3: cx(); break; case 4: tj(); break; case 5: bf(); break; default: printf(”提示:输入错误!\n”); break; } } while(choice!=0); } main() {char s[20]; int i; if(mmcsz==0) {printf("请输入登录密码:”);//密码为:1314 mmcsz++; for(i=0;i<4;i++) { s[i]=getch(); printf(”*"); } s[4]=’\0'; if(strcmp(s,"1314”)==0) choose(); else printf("密码错误\n”); } else choose(); } 6.程序运行结果 7。编程中遇到的困难和解决方法 在编程的过程中,很容易出现很多个个问题,就时少大括号“}"、等号“==”。按照计算机所指出的错误位置寻找是不容易找出错误的.直到整个程序看了一遍后才会发现是一个大括号的问题。通常少的是“{”或着“}",错误位置会出现在缺少括号位置之后的其他大括号出现的地方.只要这种情况发生后,往前找是否有大括号缺失就可以将问题很快解决了。还有就是一些变量没有搞清楚是什么类型的,导致程序出错,有时少一个地址符号就出现一大堆错误,我在这上面吃了很多亏…… 另外在帮同学修改程序的过程中,也遇到过一个问题。在头文件后定义了子函数,可是之后忘了编写子函数,在纠错时,有的是不会发现错误的,但是连接过程中就会报告出错。我觉得在以后的编程过程中,最好用什么函数写什么函数,后者在写完一个子函数后再在头文件底下声明…… 8。心得体会 C语言实习基本上由老师引导,自己很多都靠自学,不明白的问老师,自学能力得到了很大的培养。在实习过程中,我感觉到一点,程序是不能一气呵成的。至少一气呵成的程序不会尽善尽美。程序编写要一步一步的完成。首先,对于要编的程序要有一个总体思路.要明确想要什么。只要把思路理清楚了,程序就好编写了。把程序分割成几个块,即多个函数,一块一块的编写。然后将分散的函数用另外的函数连接起来或者用main函数连接。到这一步,程序也就初步编成了,之后便是调试,检查错误.最后我觉得还可以对于已经编写好的程序进行一些修改添加,使它更加人性化。 在C语言的实习过程中,让我巩固了C语言的基础知识,以前从来没有这样编过完整的程序,实习让我有这样的一个机会,自己独立编写程序。我觉得自己说学的东西不多,但是可以将它们运用出来。在这次实习中,王燕老师对我的帮助对我最难忘。题目本身是很简单的,在老师的教学风格影响下,我在编写完最初程序后,有自己添加了很多功能。程序可以跟数学方法如此紧密的结合。这是非常有意思的事情.王燕老师给过我很多启迪,因此,我要感谢她。最后,我还要感谢给我帮助的同学,在一些程序问题上,我和同学交流经验,他们帮我检查错误,学到了很多在书本上学不到的东西。 总之,我真诚的感谢在这次实习中给过我帮助的人! 9。参考文献 《C语言实例解析精粹》(人民邮电出版社) 《C语言程序设计》(电子科技大学出版社) 《C语言程序设计》(第二版)(科学出版社) 13- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验室 管理 系统 语言
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文