You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

254 lines
6.1 KiB

6 years ago
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
struct shebei
{
char ID[10];
char name[15];
char kind[15];
char over[15];
char yesno[10];
char time[10];
char price[10];
};
typedef struct node
{
struct shebei data;
struct node *next; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}Node;
void Add(Node *machine) //<2F><><EFBFBD>Ӽ<EFBFBD>¼
{
system("cls");
Node *p,*r,*s;
char id[10]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID,Ҳ<><D2B2><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
r=machine;
s=machine->next; //ʹ<73><CEAA>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>õĽ<C3B5><C4BD><EFBFBD>
while(r->next!=NULL) //<2F><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<72><CEAA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>õĽ<C3B5><C4BD><EFBFBD>
r=r->next; //<2F><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĩβ
while(1)
6 years ago
{
6 years ago
printf("<EFBFBD><EFBFBD>ʾ:<3A><><EFBFBD><EFBFBD>0<EFBFBD>򷵻<EFBFBD><F2B7B5BB><EFBFBD><EFBFBD>˵<EFBFBD>!\n");
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ID<EFBFBD><EFBFBD>:");
scanf("%s",id);
if(strcmp(id,"0")==0) break;
p=(Node *)malloc(sizeof(Node)); //<2F><><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>
strcpy(p->data.ID,id);
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:");
scanf("%s",p->data.name);
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:");
scanf("%s",p->data.kind);
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ񱨷<EFBFBD>:");
scanf("%s",&p->data.yesno);
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:");
scanf("%s",&p->data.over);
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>:");
scanf("%s",&p->data.time);
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۸<EFBFBD>:");
scanf("%s",&p->data.price);
printf("<EFBFBD><EFBFBD>ʾ:<3A>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD>\n");
p->next=NULL;
r->next=p; //<2F><>һ<EFBFBD><D2BB><EFBFBD>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>,<2C><>p<EFBFBD><70><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
r=p; //Ҳ<>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>.<2E><>r <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><C3BD><EFBFBD>
}
}
void Modify(Node *machine)//<2F>޸<EFBFBD>
{
system("cls");
6 years ago
Node *p;
char find[20];
6 years ago
if(!machine->next)
6 years ago
{
6 years ago
printf("\n<EFBFBD><EFBFBD>ʾ<><C3BB><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD>޸<EFBFBD>!\n");
6 years ago
return;
}
6 years ago
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>޸ĵ<EFBFBD><EFBFBD>豸ID<EFBFBD><EFBFBD>:");
scanf("%s",find);
p=machine->next;
while(p!=NULL)
6 years ago
{
6 years ago
if(strcmp(p->data.ID,find)==0) //<2F><><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>ص<EFBFBD><D8B5>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA>
6 years ago
break;
p=p->next;
}
6 years ago
if(p) //<2F><><EFBFBD>ҵ<EFBFBD>
6 years ago
{
int x;
while(1)
{
6 years ago
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>:");
6 years ago
scanf("%d",&x);
if(x==0)
{break;}
6 years ago
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D4AD><EFBFBD><EFBFBD> %s ):",p->data.ID);
scanf("%s",p->data.ID);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D4AD><EFBFBD><EFBFBD> %s ):",p->data.name);
scanf("%s",p->data.name);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D4AD><EFBFBD><EFBFBD> %s ):",p->data.kind);
scanf("%s",p->data.kind);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ񱨷<EFBFBD><><D4AD><EFBFBD><EFBFBD> %s ):",p->data.yesno);
scanf("%s",p->data.yesno);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D4AD><EFBFBD><EFBFBD> %s ):",p->data.over);
scanf("%s",p->data.over);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><><D4AD><EFBFBD><EFBFBD> %s ):",p->data.time);
scanf("%s",p->data.time);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۸<EFBFBD><><D4AD><EFBFBD><EFBFBD> %s ):",p->data.price);
scanf("%s",p->data.price);
printf("\n>>>>>>>>>><3E><>ʾ:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE>ɹ<EFBFBD><C9B9>޸<EFBFBD>!\n");
}
}
else printf("\n<EFBFBD><EFBFBD>ʾ:<3A><>Ҫ<EFBFBD>޸ĵ<DEB8><C4B5><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\n");
}
void Disp(Node *machine)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
{
system("cls");
6 years ago
Node *p;
6 years ago
p=machine->next;
6 years ago
if(!p)
{
6 years ago
printf("\n<EFBFBD><EFBFBD>ʾ<>м<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ!\n");
6 years ago
return;
}
6 years ago
printf("<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
6 years ago
while(p)
{
6 years ago
printf("<EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.ID);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.name);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.kind);
printf("<EFBFBD>Ƿ񱨷<EFBFBD>%s\n",p->data.yesno);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.over);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>%s\n",p->data.time);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۸<EFBFBD>%s\n",p->data.price);
6 years ago
p=p->next;
}
}
6 years ago
void Tongji(Node *machine)//ͳ<><CDB3>
6 years ago
{
6 years ago
system("cls");
6 years ago
Node *p;
int sel;int flag2=0,ha=0;
6 years ago
p=machine->next;
char find[20];
if(!machine->next) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
6 years ago
{
6 years ago
printf("\n<EFBFBD><EFBFBD>ʾ<><C3BB><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD>ͳ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>!\n");
6 years ago
return;
}
printf(">>>>>>>>>><3E><>ʾ:\n=====>0<>˳<EFBFBD>\n=====>1<><31><EFBFBD><EFBFBD><E8B1B8>ͳ<EFBFBD><CDB3>\n=====>2<><32><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3>\n");
scanf("%d",&sel);
if(sel==1)
{
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫͳ<EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:");
scanf("%s",find);
while(p)
6 years ago
{
6 years ago
if(strcmp(p->data.ID,find)==0)
{
flag2++;
}
if(flag2==1&&ha!=flag2)
6 years ago
{
printf("<EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.ID);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.name);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.kind);
printf("<EFBFBD>Ƿ񱨷<EFBFBD>%s\n",p->data.yesno);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.over);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>%s\n",p->data.time);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۸<EFBFBD>%s\n",p->data.price);
6 years ago
ha=flag2;
}
6 years ago
else if(flag2>ha){printf("<EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.ID);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.name);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.kind);
printf("<EFBFBD>Ƿ񱨷<EFBFBD>%s\n",p->data.yesno);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.over);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>%s\n",p->data.time);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۸<EFBFBD>%s\n",p->data.price);
ha=flag2;}
6 years ago
p=p->next;
}
if(flag2)
{
printf("\n*************************<2A><><EFBFBD><EFBFBD><E8B1B8>%sͳ<73>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<><64><EFBFBD><EFBFBD>¼:*************************\n\n",find,flag2);
}
else {printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%sͳ<73>ƵĽ<C6B5><C4BD><EFBFBD>Ϊ0<CEAA><30>\n\n",find);}
}
else if(sel==2)
{
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫͳ<EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:");
scanf("%s",find);
while(p)
6 years ago
{
6 years ago
if(strcmp(p->data.name,find)==0)
{
flag2++;
6 years ago
}
6 years ago
if(flag2==1&&ha!=flag2)
6 years ago
{ printf("<EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.ID);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.name);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.kind);
printf("<EFBFBD>Ƿ񱨷<EFBFBD>%s\n",p->data.yesno);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.over);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>%s\n",p->data.time);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۸<EFBFBD>%s\n",p->data.price);
6 years ago
ha=flag2;
}
6 years ago
else if(flag2>ha){printf("<EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.ID);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.name);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.kind);
printf("<EFBFBD>Ƿ񱨷<EFBFBD>%s\n",p->data.yesno);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n",p->data.over);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>%s\n",p->data.time);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۸<EFBFBD>%s\n",p->data.price);
ha=flag2;}
6 years ago
p=p->next;
}
if(flag2)
{
printf("\n******************<2A><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>%sͳ<73>Ƶ<EFBFBD><C6B5><EFBFBD>%d<><64><EFBFBD><EFBFBD>¼:********************\n\n",find,flag2);
}
else {printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%sͳ<73>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>Ϊ0<CEAA><30>\n\n",find);}
}
else if(sel==0) return;
}
6 years ago
int main()
{
system("cls");
Node *machine;
FILE *fp;
int flag;
Node *p,*q;
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\n");
machine=(Node*)malloc(sizeof(Node));
machine->next=NULL;
p=machine;
fp=fopen("D:\\<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ.txt","ab+");
q=(Node*)malloc(sizeof(Node));
if(fread(q,sizeof(Node),1,fp)) //<2F><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>
{
q->next=NULL;
p->next=q;
p=q; //<2F><><EFBFBD>ýӵ<C3BD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
fclose(fp); //<2F>ر<EFBFBD><D8B1>ļ<EFBFBD>
while(1)
{
printf("**************************************Ŀ¼**************************************");
printf("\n********* 1<><31><EFBFBD>Ӽ<EFBFBD>¼ *********\n");
printf("\n********* 2<>޸ļ<DEB8>¼ *********\n");
printf("\n********* 3<><33>ʾ<EFBFBD><CABE>¼ *********\n");
printf("\n********* 4ͳ<34>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>¼ *********\n");
printf("\n********* 0 -EXIT- *********\n");
printf("\n********* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: *********\n");
scanf("%d",&flag);
switch(flag)
{
case 0: printf("\n>>>>>>>>>><3E><>ʾ:<3A>Ѿ<EFBFBD><D1BE>˳<EFBFBD>ϵͳ,ByeBye!\n");break;
case 1: Add(machine); break; //<2F><><EFBFBD>Ӽ<EFBFBD>¼
case 2: Modify(machine); break;//<2F>޸ļ<DEB8>¼
case 3: Disp(machine); break;//<2F><>ʾ<EFBFBD><CABE>¼<EFBFBD><C2BC>Ϣ
case 4: Tongji(machine); break;//ͳ<>Ƽ<EFBFBD>¼
default: printf("\n<EFBFBD><EFBFBD>ʾ:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\n"); break;
}
}
}