实验室管理系统—C语言.doc_第1页
实验室管理系统—C语言.doc_第2页
实验室管理系统—C语言.doc_第3页
实验室管理系统—C语言.doc_第4页
实验室管理系统—C语言.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西安郵電大学软件课程设计报告题 目:实验室设备管理系统院系名称:电子工程学院专业名称:电子信息工程班 级: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.程序代码#includestdio.h#includestring.h#define null 0int 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 id10; char name15; char kind15; char over15; int yesno; char time10; char price10; shebei;shebei sb200;void lr()/录入信息 while(1) printf(提示:输入0则返回主菜单!n); printf(n请你输入设备ID号:); scanf(%s,sbt.id); if(strcmp(sbt.id,0)=0) main(); printf(n请输入设备名称:); scanf(%s,); printf(n请输入设备种类:); scanf(%s,sbt.kind); printf(n请输入报废日期:); scanf(%s,sbt.over); printf(n请输入设备是否报废,1、没报废,0、报废:); scanf(%d,&sbt.yesno); printf(n请输入设备购买时间:); scanf(%s,sbt.time); printf(n请输入设备价格:); scanf(%s,sbt.price); printf(提示:已经完成一条记录的添加。n); t+; void xg()/修改 char find20; int x; t=0; printf(请输入要修改的设备ID号:); scanf(%s,find); while(1) if(strcmp(sbt.id,find)=0) /如果找到的话返回的是符合要求 break; else t+; while(1) printf(确认修改请输入任意数字否则输入0重新输入设备原id:); scanf(%d,&x); if(x=0) break; else printf(请输入新设备号(原来是 %s ):,sbt.id); scanf(%s,sbt.id); printf(请输入新设备名称(原来是 %s ):,); scanf(%s,); printf(请输入新设备设备种类名称(原来是 %s ):,sbt.kind); scanf(%s,sbt.kind); printf(请输入新设备报废日期名称(原来是 %s ):,sbt.over); scanf(%s,sbt.over); printf(请输入新设备是否报废,1、没报废,0、报废(原来是 %d):,sbt.yesno); scanf(%d,&sbt.yesno); printf(请输入新设备购买时间(原来是 %s ):,sbt.time); scanf(%s,sbt.time); printf(请输入新设备价格(原来是 %s ):,sbt.price); scanf(%s,sbt.price); printf(n提示:该项记录资料已经成功修改!n); printf(退回主菜单请输入0n); printf(继续操作请输入1n); scanf(%d,&x); switch(x) case 0:choose();break; case 1:xg();break; default:printf(输入无效,自动返回主菜单n);choose();break; void cx()/查询 int choice; do printf(ttt-n); printf(ttt* 1-按设备号查找 *n); printf(ttt* 2-按设备名称查找 *n); printf(ttt* 0-退出 *n); printf(ttt*|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 find20;int t=0; printf(请输入您要查询的设备号:);scanf (%s,find);getchar();do if(strcmp(sbt.id,find)=0&sbt.yesno=1) /1表示设备没报废 printf(设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格n); printf(n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn,sbt.id,,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+;else t+; while (t100); printf(键入数字1返回主菜单n); printf(键入数字任意键返回上层菜单n); scanf(%d,&choice); if (choice=1) choose(); else cx();void cx_mc()/设备名称查询 int choice;char ming20;t=0; printf(n输入你要查询的设备名称:); scanf(%s,ming); do if(strcmp(,ming)=0&sbt.yesno=1) /1表示设备没报废 printf(设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格n); printf(n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn,sbt.id,,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+; else t+; while (t100); printf(键入数字1返回主菜单n); printf(键入数字任意键返回上层菜单n); scanf(%d,&choice); if (choice=1) choose(); else cx(); void tj()/统计int choice;char tong20;printf(n输入你要统计的设备种类:); scanf(%s,tong); do if(strcmp(sbt.kind,tong)=0&sbt.yesno=1) /1表示设备没报废 printf(设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格n);printf(n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn,sbt.id,,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+; else t+; while (t提示:该项记录资料已经成功登记!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 find20;t=0;printf(n输入你要统计的报废设备种类:); scanf(%s,find); do if(strcmp(sbt.kind,find)=0&sbt.yesno=0) /0表示设备报废 printf(设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格n); printf(n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn,sbt.id,,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+; else t+; while (t3); printf(键入数字1返回主菜单n); printf(键入数字任意键返回上层菜单n); scanf(%d,&choice); if (choice=1) choose(); int menu(int choice) printf(nnn); printf(ttt-n); printf(ttt+ 实验设备管理系统 |n); printf(ttt-n); printf(ttt+ 1-录入设备信息 |n); printf(ttt+ 2-修改设备信息 |n); printf(ttt+ 3-查询设备信息 |n); printf(ttt+ 4-统计设备信息 |n); printf(ttt+ 5-报废设备信息 |n); printf(ttt+ 0-*-EXIT-* |n); printf(ttt+*|n); printf(ttt-n);printf(请输入你要操作的序号:); scanf(%d, &choice); return choice; void choose() int choice; choice=1; choice=menu(choice); do switch (choice) case 0: printf(n提示:你已经退出系统ntt 再见!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 s20;int i;if(mmcsz=0)printf(请输入登录密码:);/密码为:1314mmcsz+; for(i=0;i4;i+)si=getch();printf(*);s4=0;if(strcmp(s,1314)=0)choose();else printf(密码错误n);elsechoose();6.程序运行结果7.编程中遇到的困难和解决方法 在编程的过程中,很容易出现很多个个问题,就时少大括号“”、等号“=”。按照计算机所指出的错误位置寻找是不容易找出错误的。直到整个程序看了一遍后才会发现是一个大括号的问题。通常少的是“”或着“”,错误位置会出现在缺少括号位置之后的其他大括号出现的地方。只要这种情况发生后,往前找是否有大括号缺失就可以将问题很快解决了。还有就是一些变量没有搞清楚是什么类型的,导致程序出错,有时少一个地址符号就出现一大堆错误,我在这上面吃了很多亏另外在帮同学修改程序的过程中,也遇到过一个问题。在头文件后定义了子函数,可是之后忘了编写子函数,在纠错时,有的是不会发现错误的,但是连接过程中就会报告出错。我觉得在以后的编程过程中,最好用什么函数写什么函数,后者在写完一个子函数后再在头文件底下声明8.心得体会C语言实习基本上由老师引导,自己很多都靠自学,不明白的问老师,自学能力得到了很大的培养。在实习过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论