//ä»å¤©æ²¡ææ¶é´äºï¼è¿å 天å§
typedef struct computer{
info *next;
int do;//æ人æ£å¨ç¨ä¸º1ï¼æ人å°è¦ç¨ä¸º2,空æºä¸º0
}computer, c[20];
typedef struct info{
long date;//ä»ä¹æ¶é´,æ ¼å¼å¦200807131850
int numï¼//å 个æ¶é´æ®µ
info *next;//æ¥ä¸ä¸
long tel;//çµè¯
};
void init(computer c[],int n)
{//åå§å
int i;
for(i=0;i<n;i++)c[i].next=NULL;
}
int search(long date, int num,long tel int n,computer c[])
{//çæ没æ空æº
int i;
info *q,*qt;
for(i=0;i<n;i++)
{
if(c[i].do==0)
{q=(info*)malloc(sizeof(info));
*q.date=date;
*q.num=num;
*q.tel=tel;
q.next=c[i].next;
c[i].next=q.next;
c[i].do=2;
return i;
}
for(qt=c[i].next;*qt!=NULL;qt=qt.next)
{
if((*qt.date+(*qt.num)*2*100)<=date
&&((*qt.next.q.date+(*qt.next.qt.num)*2*100)>=(date+num*2*100))
||qt.next==NULL)
{
q=(info*)malloc(sizeof(info));
*q.date=date;
*q.num=num;
*q.tel=tel;
q.next=c[i].next;
c[i].next=q.next;
c[i].do=2;
return i;
}
return (-1);
}
}
}
int del(int i,long date, int num)
{
info *qt,*q;
for(qt=c[i].next;*qt!=NULL;qt=qt.next)
{
if(*qt.date==date&&qt.num==num)
{
qt.next=qt.next.next;
free(qt);
if(c[i].next==NULL)c[i].do=0;
return OK;
}
}
}
void currnt(computer c[])
{
for(i=0;i<n;i++)
{
long date;
info *q;
q=c[i].next;
date=date();//æ¶é´è¿å¯è½æ³ä¸ç¹åæ³
if((q.date+q.num*2*100)<=date)
{
c[i].next=q.next;
free(q);
if(c[i].next==NULL)
c[i].do=0;
else c[i].do=2;
}
if(q.date<date&&q.date+q.num*2*100)>=date)
c[i].do=1;
}
}
void input(char inster){
info in;
if(inster=='I' || inster=='i'){
printf("è¾å
¥ä½ çè¦ä¸çæ¶é´ï¼æ ¼å¼å¦200807151630ï¼ï¼æ¶é´æ®µï¼å¦ï¼2ï¼,çµè¯å¦ï¼02088888888\n");
scanf("%l%d%d".in.date,in.numï¼in.tel);
i=search(in.date, in.num,in.tel , n, c);
if(i<0){printf("对ä¸èµ·ï¼ç°å¨æ²¡æ符åä½ è¦æ±çæºå\n");}
else printf("ä½ çæºåæ¯ï¼
d\n"ï¼i);
}
#include <stdio.h>
#define TURE 1
#define OK 1
main()
{//è¿æä¸ä¸ªä»ä¹çå¾
çæ¯ä»ä¹ï¼æä¸æç½
int n;
info in;
long seelp;
seelp=0;
n=20;//20å°æº
init( c, n)ï¼
printf("1. æ³é¢çº¦åï¼æ¯ï¼I or iï¼ï¼\n");
printf("2. ä½ æ³åæ¶é¢çº¦åï¼æ¯ï¼D or dï¼ï¼\n");
while(TURE){
c=getchar();
switch(c){
case 'I':
case 'i':
input(c);
break;
case 'D':
case 'd':
printf("è¾å
¥ä½ çè¦ä¸çæ¶é´ï¼æ ¼å¼å¦200807151630ï¼ï¼æ¶é´æ®µï¼å¦ï¼2ï¼,çµè¯å¦ï¼02088888888\n");
scanf("%l%d%d".in.date,in.numï¼in.tel);
del(in);
break;
}
if(seelp++==1000000000)
{//å
ç¡ç¡
currnt( c);
seelp=0;
}
}
}
}
}
温馨提示:答案为网友推荐,仅供参考