




免费预览已结束,剩余12页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课程设计实验报告学生姓名 李云龙 指导教师 方红琴 学生学号 110201118 日 期: 2012.6.29 1课程题目 实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。主要功能:1录入设备信息2修改设备信息3查询设备信息(1)按设备编号查询(2)按设备名称查询4对设备按种类进行分类统计5报废设备登记。6报废设备统计。2程序设计思路 需求分析 实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号 设备种类 设备购入日期 正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。 整个系统可设计为实验设备信息输入模块 实验设备信息修改模块 实验设备分类统计模块 实验设备查询模块和实验设备报废信息模块。 建立实验设备信息结构体,结构体成员包括设备编号 设备种类 设备名称 设备价格 设备购入日期 是否报废 报废日期。实验报废设备信息模块实验设备信息输入模块实验设备信息修改模块实验设备信息查询模块实验设备分类统计模块退出实验设备管理系统设计3功能模块图4数据结构设计由需求分析可知,系统分为6大部分,每部分通过主函数完成选择,分别提供添加、修改、查询、统计、报废、退出等功能,为了方便使用,采取了两个选择菜单,分别是在主函数和统计函数下的选择菜单。主函数提供输入、功能处理和输出部分的函数调用。使用结构体来存放数据。因此,对于实验设备信息的修改、调用均在结构体中进行。在数据的存储中,将文件存储在设备信息管理的文件中,使用循环语句实现对设备信息的添加和修改,每循环一次读入一个设备信息。使用修改语句时,执行的是追加操作。 5程序代码 #includestdio.h#includestring.h#define null 0int t=0;int menu();/菜单 void lr();/录入信息 void xg();/修改 void cx();/查询 void cx_sbh();/设备号查询 void cx_mc();/设备名称查询 void tj();/统计 void bf();/报废信息 void bf_dj();/报废登记 void bf_tj();/报废统计 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; t=0; printf(请输入要修改的设备ID号:); scanf(%s,find); while(1) if(strcmp(sbt.id,find)=0) /如果找到的话返回的是符合要求 break; else t+; int x; 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:main();break; case 1:xg();break; default:printf(输入无效,自动返回主菜单n);main();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);cx_sbh()/设备号查询 int choice;char find20;int t=0; printf(请输入您要查询的设备号n);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) main(); else cx();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) main(); else cx(); tj()/统计t=0;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:main();break; case 1:bf();break; default:printf(输入无效,自动返回主菜单n);main();break; 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 (t提示:已经退出系统,ByeBye!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提示:输入错误!n); break; while(choice!=0); 6程序运行结果1、主函数运行,显示主菜单2、输入数字1,进入录入菜单3 、返回主菜单,选择2,进入修改界面: 4、选择3, 进入设备查询菜单: 4.1、选择1,进入按设备号查找信息4.2、选择2,进入按设备名称查找信息5、选择4,进入统计界面,按照设备种类进行统计。 6、选择5,进入报废信息菜单6.1、 选择1,进入报废信息登记。6.2、选择2,进入报废信息统计。7、选择0,退出系统. 7编程中遇到的困难及解决方法 在编程的过程中,很容易出现一个问题,就时少大括号“”的问题。按照计算机所指出的错误位置寻找是不容易找出错误的。直到整个程序看了一遍后才会发现是一个大括号的问题。通常少的是“”或着“”,错误位置会出现在缺少括号位置之后的其他大括号出现的地方。只要这种情况发生后,往前找是否有大括号缺失就可以将问题很快解决了。还有就是一些变量没有搞清楚是什么类型的,导致程序出错,有时少一个地址符号就出现一大堆错误,我在这上面吃了很多亏。 在帮同学修改程序的过程中,也遇到过一个问题。在头文件后定义了子函数,可是之后忘了编写子函数,在纠错时,有的是不会发现错误的,但是连接过程中就会报告出错。我觉得在以后的编程过程中,最好用什么函数写什么函数,后者在写完一个子函数后再在头文件底下声明。8总结心得及良好建议C语言实习基本上由老师引导,自己很多都靠自学,不明白的问老师,自学能力得到了很大的培养。在实习过程中,我感觉到一点,程序是不能一气呵成的。至少一气呵成的程序不会尽善尽美。程序编写要一步一步的完成。首先,对于要编的程序要有一个总体思路。要明确想要什么。只要把思路理清楚了,程序就好编写了。把程序分割成几个块,即多个函数,一块一块的编写。然后将分散的函数用另外的函数连接起来或者用main函数连接。到这一步,程序也就初步编成了,之后便是调试,检查错误。最后我觉得还可以对于已经编写好的程序进行一些修改添加,使它更加人性化。优化程序的阶段是很重要的。19致谢在C语言的实习过程中,让我巩固了C语言的基础知识,以前
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业务标准化与质量管理
- 2025中国邮政储蓄银行威海市分行招聘4人考试备考试题及答案解析
- 2025至2030年中国报关行业市场发展现状及投资前景展望报告
- 2025浙江绍兴市疾控中心招聘编外人员1人笔试模拟试题及答案解析
- 书籍如明灯照亮前行之路
- 仪表工业智能化规划方案
- 网络推广新思路与方法
- 农业绿色发展总结
- 2025四川长虹空调有限公司招聘IE工程师等岗位3人笔试备考试题及答案解析
- 割席断交演练规定
- 履约保函标准文本与应用示例
- 2025下半年新疆生产建设兵团事业单位招聘(2398人)考试参考试题及答案解析
- 经桡动脉脑血管造影护理课件
- 医疗质量 岗前培训课件
- 2025年湖北省公务员公开遴选笔试试题及答案(综合类)
- 电子产品出厂质量验收标准
- 项目可行性研究报告评估咨询管理服务方案投标文件(技术方案)
- 2025年事业单位工勤技能-广东-广东水生产处理工一级(高级技师)历年参考题库典型考点含答案解析
- 公共机构建筑能源审计和能耗基准值技术服务方案投标文件(技术标)
- 2025-2026学年人教PEP版(2024)小学英语四年级上册教学计划及进度表
- 2025年廉政知识竞赛答题题目及答案
评论
0/150
提交评论