3.设备名称 4.设备价格
5.设备购入日期 6.是否报废 7.报废日期等。
四总体分析
主要功能:
(1) 完成对设备信息的录入函数 (2) 完成修改某个设备信息的函数 (3) 根据给定信息对设备进行分类统计
(4) 设备的破损耗费和遗损处理(删除某个指定设备) (5) 设备的查询
如何执行:
(1)编写算法;
(2)算法测试,并有具体的测试结果和结果分析; (3)撰写课程设计报告。内容包括:
详细设计
实验设备管理系统设计 实验设备信息输入模块 实验设备信息添加模块 实验设备信息修改模块 实验设备分内统计模块 实验设备查询模块 功能选择
五源代码
界面模板
void main() {
Node *equip; FILE *fp; int flag; Node *p,*q;
printf(\设备管理系统\\n\
equip=(Node*)malloc(sizeof(Node)); equip->next=NULL; p=equip;
fp=fopen(\设备管理系统\ q=(Node*)malloc(sizeof(Node));
if(fread(q,sizeof(Node),1,fp)) //将文件的内容放入接点中 {
q->next=NULL; p->next=q;
p=q; //将该接点挂入链表中
开始 显示一系列功能选择 输入n,判断m 是否是0到4? N }
fclose(fp); //关闭文件 根据n值调用各 while(1) 功能模块函数 {
printf(\目录********************************\ printf(\添加记录\\n\ printf(\修改记录\\n\ printf(\显示记录\\n\ printf(\统计分类记录\\n\ printf(\
printf(\请输入你要操作的序号:\ scanf(\ switch(flag) {
case 0: printf(\提示:已经退出系统,ByeBye!\\n\ case 1: Add(equip); break; //增加记录 case 2: Modify(equip); break;//修改记录 case 3: Disp(equip); break;//显示记录信息 case 4: Tongji(equip); break;//统计记录
default: printf(\提示:输入错误!\\n\ } } }
B 各功能模块设计 (1)输入模块 Struct shebei
{ char ID[10]; char name[15]; char kind[15]; char over[15]; char yesno[10]; char time[10];
char price[10]; };
(2)追加模块
void Add(Node *equip) //添加记录 {
Node *p,*r,*s; char id[10]; //先用于输入ID,也用于判断是否跳出循环 r=equip;
s=equip->next; //使s为第一个有用的结点
while(r->next!=NULL) //这个循环的作用是使r为最后一个有用的结点 r=r->next; //将指针置于最末尾 while(1) 开始 {
printf(\提示:输入0则返回主菜单!\\n\
输入ID号,并将指针置于最末printf(\请你输入设备ID号:\
尾
scanf(\
if(strcmp(id,\
p=(Node *)malloc(sizeof(Node)); //申请空间 依次输入shebei 结构体内容,strcpy(p->data.ID,id); 完成一条添加记录 printf(\请输入设备名称:\ scanf(\ printf(\请输入设备种类:\
scanf(\
提示以完成一条记录添加 printf(\请输入报废日期:\ scanf(\
printf(\请输入设备是否报废:\ scanf(\ 结束 printf(\请输入设备购买时间:\ scanf(\ printf(\请输入设备价格:\ scanf(\
printf(\提示:已经完成一条记录的添加。\\n\ p->next=NULL;
r->next=p; //这一步是必需的,将p与先前的链表连起来构成一条新链表 r=p; //也是必需的.将r 又重设为新链的最后一个有用结点 } }
(3)修改模块
void Modify(Node *equip)//修改 {
Node *p; char find[20]; if(!equip->next) {
printf(\提示:没有资料可以修改!\\n\ return; 开始 }
printf(\请输入要修改的设备ID号:\
判断是否有内容可以修scanf(\ 改 p=equip->next; while(p!=NULL) 没有资料可以修改,{ 跳出 if(strcmp(p->data.ID,find)==0) //如果找到的话返回的是符合要求 break; p=p->next; 请输入要修改的设} 备ID号 if(p) //若找到 {
N