#include "stdio.h"
#include "stdlib.h"
#include "string.h"
struct shebei
{
int ID;
char name[100];
char kind[50];
int over;
char yesno[50];
int time;
int price;
};
typedef struct node
{
struct shebei data;
struct node *next; //建立一个链表。
}Node;
void writeto(Node *equip)
{
Node *p;
p=equip->next ;
if(p==NULL)
{
printf("无设备记录!!!");
}
else
{
printf("存放成功!!!!\n文件存放在D:\\设备管理系统\n");
}
}
void Add(Node *equip) //添加记录
{
Node *p,*r,*s;
int id; //先用于输入ID,也用于判断是否跳出循环
r=equip;
s=equip->next; //使s为第一个有用的结点
while(r->next!=NULL) //这个循环的作用是使r为最后一个有用的结点
r=r->next; //将指针置于最末尾
while(1)
{
printf(">>>>>>>>>>提示:输入0则返回主菜单!\n");
printf("\n请你输入设备ID号:");
scanf("%d",&id);
if(id==0) {break;}
p=(Node *)malloc(sizeof(Node)); //申请空间
p->data.ID=id;
printf("\n请输入设备名称:");
scanf("%s",p->http://doc.xuehai.net);
printf("\n请输入设备种类:");
scanf("%s",p->data.kind);
printf("\n请输入报废日期:");
scanf("%d",&p->data.over);
printf("\n请输入设备是否报废:");
scanf("%s",&p->data.yesno);
printf("\n请输入设备购买时间:");
scanf("%d",&p->data.time);
printf("\n请输入设备价格:");
scanf("%d",&p->data.price);
printf(">>>>>>>>>>提示:已经完成一条记录的添加。\n");
Node *p0, *p1;
if(equip==NULL)
{
equip=p;
p->next=NULL;
}
if( p->data.IDdata.ID)
{
p->next=equip;
equip=p;
}
p1=equip;
while((p->data.ID > p1->data.ID)&&(p1->next != NULL))
{
p0 = p1;
p1 = p1->next;
}
if(p->data.ID data.ID)
{
p->next=p1;
p0->next=p;
}
else
{
p1->next = p;
p->next = NULL;
}
}
}
void Modify(Node *equip)//修改
{
Node *p;
int find;
if(!equip->next)
{
printf("\n>>>>>>>>>>提示:没有资料可以修改!\n");
return;
}
printf("请输入要修改的设备ID号:");
scanf("%d",&find);
p=equip->next;
while(p!=NULL)
{
if(p->data.ID==find) //如果找到的话返回的是符合要求
break;
p=p->next;
}
if(p) //若找到
{
int x;
while(1)
{
printf("完成修改请输入0否则输入任意数再进行修改:");
scanf("%d",&x);
if(x==0)
{break;}
printf("请输入新设备号(原来是 %d ):",p->data.ID);
scanf("%d",&p->data.ID);
printf("请输入新设备名称(原来是