实验设备管理系统Word文档下载推荐.docx
- 文档编号:21994776
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:25
- 大小:419.06KB
实验设备管理系统Word文档下载推荐.docx
《实验设备管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验设备管理系统Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。
FILE*fp;
intflag;
Node*p,*q;
printf("
\t\t\t\t设备管理系统\n"
);
equip=(Node*)malloc(sizeof(Node));
equip->
next=NULL;
p=equip;
fp=fopen("
设备管理系统"
"
wb+"
q=(Node*)malloc(sizeof(Node));
if(fread(q,sizeof(Node),1,fp))//将文件的内容放入接点中
{
q->
p->
next=q;
p=q;
//将该接点挂入链表中
}
fclose(fp);
//关闭文件
while
(1)
***************************目录*****************************"
\n1添加记录\n"
\n2修改记录\n"
\n3显示记录\n"
\n4统计分类记录\n"
\n0*-EXIT-*\n"
请输入你要操作的序号:
"
scanf("
%d"
&
flag);
switch(flag)
case0:
\n>
>
提示:
已经退出系统,ByeBye!
\n"
break;
case1:
Add(equip);
break;
//增加记录
case2:
Modify(equip);
//修改记录
case3:
Disp(equip);
//显示记录信息
case4:
Tongji(equip);
//统计记录
default:
输入错误!
}
2.各功能模块设计
(1)输入模块
/***************************输入模块*****************************/
#include"
stdio.h"
stdlib.h"
string.h"
structshebei
charID[10];
charname[15];
charkind[15];
charover[15];
charyesno[10];
chartime[10];
charprice[10];
};
typedefstructnode
structshebeidata;
structnode*next;
//建立一个链表。
}Node;
voidAdd(Node*equip)//添加记录
Node*p,*r,*s;
charid[10];
//先用于输入ID,也用于判断是否跳出循环
r=equip;
s=equip->
next;
//使s为第一个有用的结点
while(r->
next!
=NULL)//这个循环的作用是使r为最后一个有用的结点
r=r->
//将指针置于最末尾
while
(1)
{
输入0则返回主菜单!
\n请你输入设备ID号:
%s"
id);
if(strcmp(id,"
0"
)==0)break;
p=(Node*)malloc(sizeof(Node));
//申请空间
strcpy(p->
data.ID,id);
\n请输入设备名称:
p->
data.name);
\n请输入设备种类:
data.kind);
\n请输入报废日期:
p->
data.over);
\n请输入设备是否报废:
data.yesno);
\n请输入设备购买时间:
data.time);
\n请输入设备价格:
data.price);
已经完成一条记录的添加。
r->
next=p;
//这一步是必需的,将p与先前的链表连起来构成一条新链表
r=p;
//也是必需的.将r又重设为新链的最后一个有用结点
(2)修改模块
[需求分析]
此模块可以根据客户需要对以记录在文件中的信息进行修改
/***************************修改模块*****************************/
voidModify(Node*equip)//修改
Node*p;
charfind[20];
if(!
equip->
next)
没有资料可以修改!
return;
printf("
请输入要修改的设备ID号:
scanf("
find);
p=equip->
while(p!
=NULL)
if(strcmp(p->
data.ID,find)==0)//如果找到的话返回的是符合要求
p=p->
if(p)//若找到
intx;
完成修改请输入0否则输入任意数再进行修改:
x);
if(x==0)
{break;
}
请输入新设备号(原来是%s):
data.ID);
请输入新设备名称(原来是%s):
请输入新设备设备种类名称(原来是%s):
请输入新设备报废日期名称(原来是%s):
请输入新设备是否报废(原来是%s):
请输入新设备购买时间(原来是%s):
请输入新设备价格(原来是%s):
该项记录资料已经成功修改!
elseprintf("
你要修改的信息不存在!
(3)统计模块
将已经输入的设备信息进行统计,并显示设备总数、价格总额等信息
[流程图]
voidTongji(Node*equip)//统计
intsel;
intflag2=0,ha=0;
p=equip->
next)//若链表为空
没有资料可以统计分类!
\n=====>
0退出\n=====>
1按设备号统计\n=====>
2按设备名称统计\n"
sel);
if(sel==1)
\n输入你要统计分类的设备号:
while(p)
{
data.ID,find)==0)
flag2++;
}
if(flag2==1&
&
ha!
=flag2)
{printf("
设备号设备名称设备种类报废日期是否报废购买时间价格\n"
\n%-13s%-11s%-7s%-10s%-13s%-10s%-5s\n"
data.ID,p->
data.name,p->
data.kind,p->
data.over,p->
data.yesno,p->
data.time,p->
ha=flag2;
elseif(flag2>
ha){printf("
ha=flag2;
if(flag2)
\n*************************按设备号%s统计分类的有%d条记录:
*************************\n\n"
find,flag2);
else{printf("
\n按设备号%s统计的结果为0个\n\n"
elseif(sel==2)
\n输入你要统计分类的设备名称:
data.name,find)==0)
printf(
elseif(flag2>
ha){printf(
printf(
\n******************按设备名称%s统计的有%d条记录:
********************\n\n"
\n按设备名称%s统计分类的结果为0个\n\n"
elseif(sel==0)return;
(4)显示模块
该模块的功能是查找用户需要的对应记录,可以分别根据设备编号、设备种类、设备名称、设备购入日期、正常设备(未报废的)等多种方式查询。
y
/*******************************显示模块******************************/
voidDisp(Node*equip)//输出记录
p)
没有记录可以显示!
\t\t\t\t显示结果\n"
while(p)
五.完整程序
voidModify(Node*equip)//修改
printf("
data.kind,p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 设备管理 系统