已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 报 告课程名称 C语言课程设计 课题名称 实验设设备管理系统 专 业 计算机科学与技术 班 级 191114班 学 号 20111001948 姓 名 吕浙明 指导教师 2010年 08 月 27日 中国地质大学计算机高级语言(C)课程设计报告姓 名 吕浙明 学 号 20111001948 班 级 191114 专 业 计算机科学与技术 指导教师 刘文中 2012年1月15 日目录1、 系统程序需求分析2、 系统程序总体设计与模块划分3、 系统程序详细设计与程序调试4、实习总结和心得体会C语言程序设计报告-实验设备信息管理系统一 课程设计的目的 提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。二 课程设计报告正文课程设计题目 实验设备信息包括:设备编号、设备种类(如:微机 打印机 扫描仪 等等)、设备名称、设备价格、设备购入日期、是否报废、报废日期等。试设计一实验设备信息管理系统,使之能提供以下功能: (1)能够完成对设备的录入和修改 (2)对设备进行分类统计 (3)设备的查询 1 需求分析 实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号 设备种类 设备购入日期 正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。 2总体设计与模块的划分 整个系统可设计为实验设备信息输入模块 实验设备信息添加模块 实验设备信息修改模块 实验设备分类统计模块和实验设备查询模块。 4 建立实验设备信息结构体,结构体成员包括设备编号 设备种类 设备名称 设备价格 设备购入日期 是否报废 报废日期。实验设备管理系统进入实验设备信息添加模块实验设备信息修改模块实验设备分内统计模块实验设备查询模块实验设备管理系统退出实验设备管理系统设计3 详细设计3.1流程图显示开始显示一系列函数功能选择输入n,判断n 是否是1到5? 根据n值调用各功能模块函数程序结束3.2 程序源代码A (1) 各种各样的头文件以及各样的函数定义 #includestdio.h#includestdlib.h#includestring.h#define N 50void menu();void add();void modify(); /修改void stat(); /统计void search();int load(); (2) 主函数 主函数是整个程序的核心。它将其他函数包含在其中,是整个程序的“大脑”,它调用很多函数,为了是读者更加的清晰,明白,在主函数中又调用了其他的函数。void menu() int n;开始 puts(tt*MENU*nn); puts(tttt 1.添加您所需实验设备的信息); puts(tttt 2.修改您所需实验设备的信息);显示一系列函数功能选择 puts(tttt 3.统计您所需实验设备的信息); puts(tttt 4.查询您所需实验设备的信息); puts(tttt 5.退出); puts(nntt*n); 输入n,判断n 是否是1到5? printf(清选择你所需服务的号码(1-5): bb); scanf(%d,n); switch(n) case 1:add();break;y根据n值调用各功能模块函数 case 2:modify();break; case 3:stat();break; case 4:search();break; case 5:exit(0);结束 default:menu(); void main() /*主函数*/ menu(); getchar();B 各功能模块设计(1) 添加实验设备信息模块void add() int i; FILE *fp; fp=fopen(eup.txt,a); if(fp=fopen(eup.txt,a)=NULL) printf(cannot open filen); printf(n 输入:编号 t 种类 t 名称 t 价格 t 购入日期 t是否报废t 报废日期n); scanf(%s,temp.id); scanf(%s,temp.kind); scanf(%s,); scanf(%s,temp.price); scanf(%s,temp.in_date); scanf(%s,temp.reject); scanf(%s,temp.out_date);fprintf(fp,n %s t %s t%s t %s t %s t %s t %s,temp.id,temp.kind,,temp.price,temp.in_date,temp.reject,temp.out_date); fclose(fp); printf(nnt Successful._ nn); printf(n*n); printf(What do you want to do?nn); printf(t 1.继续添加 t 2.返回主菜单 t 3.退出 n); printf(n*n); printf(nn 输入你要选择的号码 (1-3):); scanf(%d,i); if(i=1) add(); if(i=2) menu(); if(i=3)开始 exit(0); 是否能打开文件(eup.txt)结束输入我的值,判断输入的值是否在1到3之间根据我值在进行下一步的程序保存追加记录I从到k调用输入函数input();kmn输入要追加备记录的个数m调用加载函数;计算记录的个数n(3) 修改模块先判断是否能找到要修改的信息,如果找不到用户要修改实验设备信息的编号,则提醒用户“对不起,没有你所需的文件信息!”,若能找到用户要修改的信息的编号,则依次输出要修改的项目提示进行逐项修改,完成各项修改后输出提示:“1.继续修改 t 2.返回主菜单 t 3.退出”void modify() FILE *fp; int n,k=0,b,c,i,e; char a10; n=load(); for(i=0;in;i+) printf(%s t %s t %s t %s t %s t %s t %s n,eupi.id,eupi.kind,,eupi.price,eupi.in_date,eupi.reject,eupi.out_date); printf(n 输入你要修改的设备的编号! nn 实验设备的编号:); scanf(%s,a); for(i=0;in;i+) if(strcmp(a,eupi.id)=0) /*查找要修改的设备信息*/ k=1; c=i; break;if(k=0) printf(nn 对不起,没有你所需的文件信息!); printf(t1).文件内容在这里 2).返回 主菜单 bb); scanf(%d,b); if(b=1)modify(); if(b=2)menu(); if(k=1) printf(n 找到要修改的设备! n); printf(n 请输入你要修改的新信息 :n); printf(n 编号 种类 名称 价格 购入日期 是否报废 报废日期 n); scanf(%s,eupc.id); scanf(%s,eupc.kind); scanf(%s,); scanf(%s,eupc.price); scanf(%s,eupc.in_date); scanf(%s,eupc.reject); scanf(%s,eupc.out_date); fp=fopen(eup.txt,w); 统for(i=0;in;i+) fprintf(fp,%s t %s t %s t %s t %s t %s t %s n,eupi.id,eupi.kind,,eupi.price,eupi.in_date,eupi.reject,eupi.out_date); fclose(fp); printf(nnt Successful._ nn); printf(n*n); printf( 你还想做什么?nn); printf(t 1.继续修改 t 2.返回主菜单 t 3.退出 n); printf(n*n); printf(nn 你的选择(1-3):); scanf(%d,e); if(e=1) modify(); if(e=2) menu(); if(e=3) exit(0); 修改记录功能函数的值输入要修改的设备号是否存在提示没有找到显示找到的并调用修改函数继续修改返回主菜单YNNY (4) 统计模块void stat() FILE *fp; fp=fopen(eup.txt,r); if(fp=fopen(eup.txt,r)=NULL) printf(cannot open filen); while(!feof(fp) fscanf(fp,n%s %s %s %s %s %s %s,temp.id,temp.kind,,temp.price,temp.in_date,temp.reject,temp.out_date); printf(n%st%st%st%st%st%st%s,temp.id,temp.kind,,temp.price,temp.in_date,temp.reject,temp.out_date); fclose(fp); menu();(5)查询模块void search() int i,n,k=-1,w1,w2,w3; char c10; n=load(); printf(n n 按照具体条件进行查找: n n 1).实验设备的编号 2).种类 3).名称 4).购入日期 bb); scanf(%d,w3); switch(w3) case 1: printf(nn 请输入要查找的设备的编号! 设备的编号:); scanf(%s,c); for(i=0;in;i+) if(strcmp(c,eupi.id)=0) k=i; printf(n已经找到实验的设备!n); printf(n该设备的实验信息:n); printf(n 编号 种类 名称 价格 购入日期 是否报废 报废日期 n n); printf(%st%st%st%st%st%st%sn,eupi.id,eupi.kind,,eupi.price,eupi.in_date,eupi.reject,eupi.out_date); if (k!=-1) printf(nn Successful._.); if (k=-1) printf( 不能找到该设备的信息!n); printf(nt 1).重新查找 2).返回主菜单 bb); scanf(%d,w2); if(w2=2) menu(); if(w2=1) search(); break;case 2: printf(nn输入要查找的实验的设备的种类! 设备的种类:); scanf(%s,c); for(i=0;in;i+) if(strcmp(c,eupi.kind)=0) k=i; printf(n 能找到该设备哦! n); printf(n该设备的信息:n); printf(n编号 种类 名称 价格 购入日期 是否报废 报废日期 nn); printf(%st%st%st%st%st%st%sn,eupi.id,eupi.kind,,eupi.price,eupi.in_date,eupi.reject,eupi.out_date); if (k!=-1) printf(nn Successful._.); if (k=-1) printf(不能找到该设备!n); printf(nt1).重新查找 2).返回主菜单 bb); scanf(%d,w2); if(w2=2) menu(); if(w2=1) search(); break;case 3: printf(nn输入要查找的设备的名称! 名称:); scanf(%s,c); for(i=0;in;i+) if(strcmp(c,)=0) k=i; printf(n已经找到该设备!n); printf(n设备的信息:n); printf(n编号 种类 名称 价格 购入日期 是否报废 报废日期nn); printf(%st%st%st%st%st%st%sn,eupi.id,eupi.kind,,eupi.price,eupi.in_date,eupi.reject,eupi.out_date); if (k!=-1) printf(nn Successful._.); if (k=-1) printf(不能找到该设备的信息); printf(nt1).再次查找 2).返回主菜单 bb); scanf(%d,w2); if(w2=2) menu(); if(w2=1) search(); break;case 4: printf(nn输入要查找的实验设备的购入的日期! 购入的日期:); scanf(%s,c); for(i=0;in;i+) if(strcmp(c,eupi.in_date)=0) k=i; printf(n已经能够找到该设备!n); printf(n该设备的信息:n); printf(n编号 种类 名称 价格 购入日期 是否报废 报废日期nn); printf(%st%st%st%st%st%st%sn,eupi.id,eupi.kind,,eupi.price,eupi.in_date,eupi.reject,eupi.out_date); if (k!=-1) printf(nnSuccessful._.); if (k=-1) printf(不能找到该设备!n); printf(nt1).再次查找 2).返回主菜单 bb); scanf(%d,w2); if(w2=2) menu(); if(w2=1) search(); 输入查找依据是否找到设备显示找到的记录提示没有找到是否继续查找用户选择1)。查找另一个2)。修改3。回主菜单NNYY主菜单5、总结与体会 这一次课程设计着实考研了我们对C语言知识的掌握情况。真可谓是让我无从下手,焦头烂额啊。因为我们在大一刚学完C语言这一门课程,就要让我们进行系统的C语言编程训练,让我们设计一个无懈可击的程序,这简直比登天还难。刚开始感觉确实有点力不从心,但是经过开始的学习、摸索,我的程序也终于初具雏形了。虽然在许多的功能方面有所欠缺,但是我觉得我是在进步的。经过的慢慢上机实践学习,给我的不只是疲惫更多的是收获。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学生来说掌握计算机开发技术是十分重要的。在本次实践中,给我印象最为深刻的是在文件查询程序的编译过程中,先有我的各个子程序都已经编辑成功,那么这最后的程序就将是我成功的关键。老天不会让我太过顺利,他在这最后的时刻设置的障碍,是要考验我的能力,他要置我于死地?在这个问题的解决上,我打了退堂鼓,我不能忍受长时间的无功而反,时间正
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国石油大学(北京)《法律职业能力入门》2023-2024学年第一学期期末试卷
- 郑州商学院《形式基础2》2023-2024学年第一学期期末试卷
- 小学学校劳动教育实施方案
- 长春工程学院《生物技术特色创新》2023-2024学年第一学期期末试卷
- 生态大数据平台建设构想
- 硕士答辩实务指导模板
- 专业基础-房地产经纪人《专业基础》押题密卷2
- 房地产交易制度政策-《房地产基本制度与政策》全真模拟试卷3
- 二零二五年餐饮企业市场信息保密协议模板下载2篇
- 二零二五年绿色建筑标准住宅买卖契约合同样本3篇
- 耕地质量等别调查评价与监测技术理论与方法概述课件
- 烟道中安装导流板的说明
- 北师大版五年级数学上学期解决问题专项完整版
- 系统运维管理方案
- 质量管理体系过程相互关系图
- 相亲相爱 简谱
- 城市更新改造流程
- 低压成套开关设备出厂检验报告
- 关键施工技术、工艺及工程项目实施的重点、难点和解决方案资料
- 电缆压降计算用表格
- 二年级乘除法竖式计算题
评论
0/150
提交评论