| ÍøÕ¾Ê×Ò³ | Òµ½çÐÂÎÅ | С×é | Íþ¿Í | È˲Š| ÏÂÔØƵµÀ | ²©¿Í | ´úÂëÌù | ÔÚÏß±à³Ì | ±à³ÌÂÛ̳
»¶Ó­¼ÓÈëÎÒÃÇ£¬Ò»Í¬Çд輼Êõ
Óû§Ãû£º   
 
ÃÜ¡¡Â룺  
¹²ÓÐ 1033 È˹Ø×¢¹ý±¾Ìû
±êÌ⣺ͨѶ¼.exeÍ£Ö¹¹¤×÷ÊÇʲôÎÊÌâ°¡
Ö»¿´Â¥Ö÷ ¼ÓÈëÊÕ²Ø
cyuyan793445
Rank: 1
À´¡¡×Ô£º½­ÃÅÎåÒØ´óѧ
µÈ¡¡¼¶£ºÐÂÊÖÉÏ·
Ìû¡¡×Ó£º20
ר¼Ò·Ö£º0
×¢¡¡²á£º2013-1-12
½áÌûÂÊ£º100%
ÊÕ²Ø
ÒѽáÌù¡Ì  ÎÊÌâµãÊý£º10 »Ø¸´´ÎÊý£º3 
ͨѶ¼.exeÍ£Ö¹¹¤×÷ÊÇʲôÎÊÌâ°¡
ͼƬ¸½¼þ: ÓοÍûÓÐä¯ÀÀͼƬµÄȨÏÞ£¬Çë µÇ¼ »ò ×¢²á
cÓïÑÔµ÷ÊÔʱ³öÏÖÕâÖÖÇé¿öÊÇʲôÎÊÌâ°¡ ÇëÎÊ

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
#define True 1
int i;
//º¯ÊýÉùÃ÷
struct person*read();//´ÓÎļþÖжÁÈ¡¸öÈËÐÅÏ¢
void write(struct person*f); //ÏòÎļþÖÐдÈë¼Ç¼
void find(struct person*f); //²éѯÐÅÏ¢
void modify(struct person*f); //ÐÞ¸ÄÐÅÏ¢
struct person*add(struct person*f);//Ìí¼ÓÐÅÏ¢
struct person*del(struct person*f); //ɾ³ýÐÅÏ¢
void list(struct person*f); //ä¯ÀÀÐÅÏ¢
struct person   //½¨Á¢¸öÈËÐÅÏ¢½á¹¹£¬²ÉÓõ¥ÏòÁ´±í
{
    struct person*front; //´ÓÎļþÖжÁÈ¡ÊÇ·ñ»áÕ¾¸ü´ó¿Õ¼ä£¿
    struct person*behind;//²âÕ¼Ëĸö×Ö½Ú
    int number;//ÐòºÅ
     char name[10];//ÐÕÃû
    char* sex;//ÐÔ±ð
    int telephone;//µç»°ºÅÂë
    int QQ;
    int homenumber;//¼ÒÍ¥µç»°
    char* email;//µç×ÓÓʼþ
    char address[30];//ͨѶµØÖ·
    struct
    {
        unsigned short year;

        unsigned short month;
        unsigned short day;

    }birthday;   //³öÉúÈÕÆÚ

};

void main()
{

 char*filename;
 struct person*f;//ÉùÃ÷Ö¸Ïò½á¹¹ÌåµÄÖ¸Õë±äÁ¿£¬¼Ç¼Á´±íµÄÊ×µØÖ·
 f=read();//´ÓÎļþÖжÁÈ¡ÐÅÏ¢£¬²¢³õʼ»¯½á¹¹ÌåÊý×é
 while(True)
 {
  printf("\n\n\t\t**»¶Ó­Ê¹ÓôËͨѶ¼¹ÜÀíϵͳ**\n\n\n");
  printf("\t\tÇëÑ¡Ôñ£¨1-7£©:\n");
  printf("\t\t***********************************\n");
  printf("\t\t\t1.²éѯͨѶ¼ÐÅÏ¢\n");
  printf("\t\t\t2.ÐÞ¸ÄͨѶ¼ÐÅÏ¢\n");
  printf("\t\t\t3.Ìí¼ÓͨѶ¼ÐÅÏ¢\n");
  printf("\t\t\t4.ɾ³ýͨѶ¼ÐÅÏ¢\n");
  printf("\t\t\t5.±£´æÐÅÏ¢µ½Îļþ\n");
  printf("\t\t\t6.ä¯ÀÀͨѶ¼ÐÅÏ¢\n");
  printf("\t\t\t7.Í˳öϵͳ\n");
  printf("\n\n\t\t*******************************\n");
  printf("\n\t\tÄãµÄÑ¡ÔñÊÇ:");
 scanf("%d",&i);

 switch(i)
 {
 
 case 1:find(f);break;
 case 2:modify(f);break;
 case 3:f=add(f);break;
 case 4:f=del(f);break;
 case 5:write(f);break;
 case 6:list(f);break;
 case 7:return;
 default:printf("\t\tÑ¡Ôñ´íÎó£¬ÇëÖØÐÂÑ¡Ôñ£¨1-7£©:\n");getchar();
     
 
}

}

return;
}
//´ÓÎļþ¡°filename¡±ÖжÁÈ¡ÐÅÏ¢µ½½á¹¹Êý×éÖÐ
struct person * read()
{
 int i;

 FILE*fp;
 int n=0;
 struct person*f,*readdata;//¼Ç¼Ê×µØÖ·¼°Ð·ÖÅäµØÖ·
 struct person*p; //Öмä±äÁ¿
 if((fp=fopen("filename","rb"))==NULL)
 {
  printf("\n\n\tÎļþÎÞ·¨´ò¿ª!");
  printf("\n\n\t°´ÈÎÒâ¼ü½øÈëÖ÷²Ëµ¥¡¤¡¤¡¤¡¤¡¤¡¤");
  scanf("%d",&i);
  return 0;
}

 else
 {
  //ÉêÇë·ÖÅäÄÚ´æ¿Õ¼ä£¬²¢»ñµÃÄÚ´æ·ÖÅäÊ×µØÖ·
     readdata=(struct person*)malloc(sizeof(struct person));
     //Ñ­»·¶ÁÈ¡ÎļþÐÅÏ¢µ½Ð·ÖÅäµÄÄÚ´æ¿Õ¼ä
     while(fread(readdata,sizeof(struct person),1,fp)==1)
     {
      if(n==0) //˵Ã÷ÐèÒª½¨Á¢Á´±íÆðʼÏî
      {
       f=readdata;
       f->front=NULL;
       f->behind=NULL;
       p=readdata;
        }
     else//˵Ã÷×·¼ÓÁ´±íÊý¾ÝÏî
     {
      p->behind=readdata;
      readdata->front=p;
      readdata->behind=NULL;
      p=readdata;
     
     }
     
     n++;
     readdata=(struct person*)malloc(sizeof(struct person));
     }
 
   fclose(fp);
   printf("\n\nͨѶ¼ÐÅÏ¢¶ÁÈ¡Íê±Ï£¬¹²ÓÐ%dÈË£¡\n",n);
 }

 printf("\n°´ÈÎÒâ¼ü½øÈë²Ëµ¥¡¤¡¤¡¤¡¤");
 return f;

}
//ÏòͨѶ¼ÎļþдÈë¼Ç¼
void write(struct person*f)
{FILE*fp;//ÉùÃ÷ÎļþÖ¸Õë
 int n=0;//ͳ¼Æ´æÈëͨѶ¼ÈËÊý
 if(f==NULL)//ÄÚ´æÖÐÎÞÐÅÏ¢¼Ç¼
 {
  printf("ûÓÐÐÅÏ¢¿É´æ£¡°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤\n");
 scanf("%d",&i);
  return;
 }
 if((fp=fopen("filename","wb"))!=NULL)
 {
     do
     {
         fwrite(f,sizeof(struct person),1,fp);
         n++;
         f=f->behind;
     }while(f!=NULL);
     fclose(fp);
     printf("\n\n\t\t%dÌõÐÅÏ¢¼Ç¼±£´æÍê±Ï£¡\n",n);
 }
 else
     printf("\t\tÎÞ·¨´ò¿ªÍ¨Ñ¶Â¼Îļþ!n");
  printf("\n\n\n\t°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤");
scanf("%d",&i);
}
//²éѯͨѶ¼¸öÈËÐÅÏ¢£¨ÒÀ¾ÝÈËÃû£©
void find(struct person*f)
{
    char name[10];
    if(f==NULL)//˵Ã÷ÄÚ´æÎÞÐÅÏ¢
    {
   
     printf("µ±Ç°»¹Ã»ÓÐÐÅÏ¢£¡°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤\n");
     scanf("%d",&i);
     return;
    }
printf("\tÇëÊäÈëÐè²éѯÐÅÏ¢µÄÈËÃû:");
gets(name); //´Ó¼üÅ̶ÁÈ¡×Ö·û´®
while(f!=NULL)//´ÓÁ¬±í¿ªÊ¼Ïòºó²éÕÒ
{
 if(strcmp(f->name,name)==0) //ÏÔʾ²¢ÕÒµ½
    { //ÏÔʾ¸ÃÈ˵ÄÐÅÏ¢
     printf("\n\t\t\t%sµÄÐÅÏ¢ÈçÏ£º",name);
     printf("\n\t\t\t*************************\n\n");
     printf("% -3S%-9S%-3S%-9S%-9S%-9S%-9S%-9S%-9S","ÐòºÅ","ÐÕÃû","ÐÔ±ð","µç»°ºÅÂë","QQºÅÂë","¼ÒÍ¥ºÅÂë","µç×ÓÓʼþ","ͨѶµØÖ·","³öÉúÈÕÆÚ");
     printf("%s%-6s%-3s",f->number,f->name,f->sex);
     printf("&-9d%-9d%-9d",f->telephone,f->QQ,f->homenumber);
     printf("%-9s%-9s",f->email,f->address);
     printf("%d%d%d\n",f->birthday.year,f->birthday.month,f->birthday.day);
     printf("\n°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤");
     scanf("%d",&i);
     return;
        }
   
    f=f->behind;
   
    }
   //Ñ­»·×Ô¶¯½áÊøÒâζ×ÅδÕÒµ½

  printf("\n\n\t\tÄúËùÊäÈëµÄÈËÃû²»´æÔÚ£¡°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤\n");
  scanf("%d",&i);
   return;
}     
//ä¯ÀÀͨѶ¼ÐÅÏ¢
void list(struct person*f)
{
 printf("\n\n\t\t\tͨѶ¼ȫ²¿ÐÅÏ¢ÈçÏÂ:\n");
 printf("\t\t\t*****8*********8***************\n\n");
if(f!=NULL)
{

    do
    {printf("% -3S%-9S%-3S%-9S%-9S%-9S%-9S%-9S%-9S","ÐòºÅ","ÐÕÃû","ÐÔ±ð","µç»°ºÅÂë","QQºÅÂë","¼ÒÍ¥ºÅÂë","µç×ÓÓʼþ","ͨѶµØÖ·","³öÉúÈÕÆÚ");
     printf("%s%-6s%-3s",f->number,f->name,f->sex);
     printf("&-9d%-9d%-9d",f->telephone,f->QQ,f->homenumber);
     printf("%-9s%-9s",f->email,f->address);
     printf("%d%d%d\n",f->birthday.year,f->birthday.month,f->birthday.day);

        f=f->behind; //ÐÞÕýfÖ¸ÏòÁ´±íÖÐÏÂÒ»Ïî½á¹¹Êý¾Ý
    } while(f!=NULL);
 }
printf("°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤");
scanf("%d",&i);
return;
}

//ÐÞ¸ÄͨѶ¼ÐÅÏ¢
void modify(struct person*f)
{
 char name[10];
 if(f==NULL)
 {printf("\n\n\t\tµ±Ç°»¹Ã»ÓдËÈËÐÅÏ¢¼Ç¼£¡°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤");
 getchar();
 return;
 }
printf("\tÇëÊäÈëÐÕÃû£º");
gets(name);
while(f!=NULL) //´ÓÁ´±í¿ªÊ¼ÏòºóÕÒ

{
    if(strcmp(f->name,name)==0)
    {
     printf("\n\t\t\t´ËÈËÐÅÏ¢ÈçÏ£º");
     printf("\n\t\t\t**************************************\n\n");
     printf("% -3S%-9S%-3S%-9S%-9S%-9S%-9S%-9S%-9S","ÐòºÅ","ÐÕÃû","ÐÔ±ð","µç»°ºÅÂë","QQºÅÂë","¼ÒÍ¥ºÅÂë","µç×ÓÓʼþ","ͨѶµØÖ·","³öÉúÈÕÆÚ");
     printf("%s%-6s%-3s",f->number,f->name,f->sex);
     printf("&-9d%-9d%-9d",f->telephone,f->QQ,f->homenumber);
     printf("%-9s%-9s",f->email,f->address);
     printf("%d%d%d\n",f->birthday.year,f->birthday.month,f->birthday.day);
   
     //½ÓÊÜ´ËÈËÐÂÐÅÏ¢
     printf("\n\t\tÇëÊäÈë´ËÈËе绰ºÅÂ룺\n");
     scanf("%d",&f->telephone);
     printf("\t\tÇëÊäÈë´ËÈËÐÂQQºÅÂ룺\n");
     scanf("%d",&f->QQ);
     printf("\t\tÇëÊäÈë´ËÈËмÒÍ¥ºÅÂ룺\n");
     scanf("%d"),&f->homenumber;
     printf("\t\tÇëÊäÈë´ËÈËеç×ÓÓʼþ£º\n");
     scanf("%s",&f->email);
     printf("\t\tÇëÊäÈë´ËÈËÐÂͨѶµØÖ·£º\n");
     scanf("%s",&f->address);

     printf("\n\n\t\t´ËÈËÐÅÏ¢Ð޸ijɹ¦£¡°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤");
     scanf("%d",&i);
     return;
}
f=f->behind;

}

printf("\n\n\t\tÄúËùÊäÈëµÄÈËÃûÓÐÎó»ò²»´æÔÚ£¡°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤");
getchar();
return;
}
//ÏòͨѶ¼ÎļþÖÐÌí¼ÓÐÅÏ¢¼Ç¼
struct person*add(struct person*f)
{
struct person*adddata ;//¼Ç¼Ê×µØÖ·¼°Ð·ÖÅäÄÚ´æµØÖ·
struct person*p;//Öмä±äÁ¿
adddata=(struct person*)malloc(sizeof(struct person));
if(f==NULL) //Ðè´´½¨Á´±í
{
 f=adddata;
 f->front=NULL;
 f->behind=NULL;

}
else   //˵Ã÷ÐèÕÒµ½Á´±í½áÊøλÖÃ
{
 p=f;
 while(p->behind!=NULL)
 {
  p=p->behind;
 
 }


//½¨Á¢Á´±í×·¼ÓÏîÖ¸ÕëÖ¸Ïò¹Øϵ
 p->behind=adddata;
 adddata->front=p;
 adddata->behind=NULL;
}
//ÎÞÂÛÊÇ´´½¨µÚÒ»Ìõ»¹ÊÇ×·¼ÓÐÅÏ¢¼Ç¼£¬¾ùÖ»¶ÔadddataÌí¼ÓÐÅÏ¢
 printf("\tÇëÊäÈëÐòºÅ£º");
 fflush(stdin);
 scanf("%d",adddata->number );
 printf("\t\t\t\tÇëÊäÈëÐÕÃû£º");
 gets(adddata->name);
 printf("\n\t\t\t\tÇëÊäÈëÐÔ±ð£º");
 gets(adddata->sex);
 printf("\n\t\t\t\tÇëÊäÈëµç»°ºÅÂ룺");
 scanf("%d",&adddata->telephone );
 printf("\n\t\t\t\tÇëÊäÈëQQºÅÂ룺");
 scanf("%d",&adddata->QQ );
 printf("\n\t\t\t\tÇëÊäÈë¼ÒÍ¥µç»°£º");
 scanf("%d",&adddata->homenumber );
 printf("\n\t\t\t\tÇëÊäÈëµç×ÓÓʼþ£º");
 gets(adddata->email);
 printf("\n\t\t\t\tÇëÊäÈëͨѶµØÖ·£º");
 gets(adddata->address);

 printf("\n\n\t\t\t\tÌí¼Ó³É¹¦£¡°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤");
 scanf("%d",&i);
 return f;//·µ»Ø Á´±íÊ×µØÖ·
 }
 //´ÓͨѶ¼Îļþɾ³ýÐÅÏ¢¼Ç¼£¬Óõ½ÁËË«ÏòÁ´±í
 struct person*del(struct person*f)
 {
    char name[10];
    char d='N';  //½ÓÊÜÈ·ÈÏɾ³ý×Ö·û
    struct person*p;//Öмä±äÁ¿
    p=f;
    if(p==NULL)  //˵Ã÷ÎÞ¶ÔӦͨѶ¼ÐÅÏ¢
    {
     printf("\n\n\t\tµ±Ç°»¹Ã»ÓÐͨѶ¼ÐÅÏ¢£¬ÎÞ·¨Ö´ÐÐɾ³ý£¡");
     printf("\n\n\t\t°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤");
     scanf("%d",&i);
     return f;
   
    }
 printf("\tÇëÊäÈë´ýɾ³ýÐÅÏ¢ÈËÔ±ÐÕÃû£º");
 gets(name);
 while(p!=NULL)
 {
 if(strcmp(p->name,name)==0)
 {printf("\n\t\t\t*************************\n\n");
     printf("% -3S%-9S%-3S%-9S%-9S%-9S%-9S%-9S%-9S","ÐòºÅ","ÐÕÃû","ÐÔ±ð","µç»°ºÅÂë","QQºÅÂë","¼ÒÍ¥ºÅÂë","µç×ÓÓʼþ","ͨѶµØÖ·","³öÉúÈÕÆÚ");
     printf("%s%-6s%-3s",f->number,f->name,f->sex);
     printf("&-9d%-9d%-9d",f->telephone,f->QQ,f->homenumber);
     printf("%-9s%-9s",f->email,f->address);
     printf("%d%d%d\n",f->birthday.year,f->birthday.month,f->birthday.day);
   
     printf("\n\t\tÄãÈ·ÈÏҪɾ³ý%sµÄÐÅÏ¢Âð£¨y/n£©£¿",p->name);
     d=getchar();
     if(d=='y'||d=='Y')  //È·ÈÏɾ³ý

     {  //ÖØн¨Á¢Á´±í¹Øϵ
         if(p->front==NULL&&p->behind==NULL)
             //µ±Ö»ÓÐÒ»Ìõ¼Ç¼ʱ
         {f=NULL;}
         else if(p->front==NULL)  //ɾ³ýµÄÊǵÚÒ»Ìõ¼Ç¼
         { f=p->behind;
           f->front=NULL;
          }
     
        else if(p->behind==NULL) //ɾ³ýµÄÊÇ×îºóÒ»Ìõ¼Ç¼
        {
            (p->front)->behind=NULL;
        
        }
     else  //ɾ³ý·ÇµÚÒ»Ìõ¼Ç¼
     { (p->front)->behind=p->behind;
       (p->behind)->front=p->front;
     
     }
     
     free(p);//Êͷű»É¾³ýÐÅÏ¢ËùÕ¼ÄÚ´æ
     printf("\n\n\t\t´ËÈËÐÅϢɾ³ý³É¹¦£¬°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤");
     scanf("%d",&i);
     return f;
     }
   else
   { printf("\n\n\t\tÄãÑ¡ÔñÁ˲»É¾³ý´ËÈËÐÅÏ¢£¬°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤");
   scanf("%d",&i);
   return f;
   
   }
 }
 p=p->behind;//Ö¸ÏòÏÂÒ»Ïî½á¹¹
 }
 if(d=='n'||d=='N') //¸ÃÖµ·´Ó³Î´É¾³ý¼Ç¼µÄ״̬
 {
  printf("\n\t\t±¾Í¨Ñ¶Â¼ÎÞ´ËÈËÐÅÏ¢£¬°´ÈÎÒâ¼ü·µ»ØÖ÷²Ëµ¥¡¤¡¤¡¤");
 scanf("%d",&i);
 return f;
 }
 
}

[ ±¾Ìû×îºóÓÉ cyuyan793445 ÓÚ 2013-3-3 11:30 ±à¼­ ]
ËÑË÷¸ü¶àÏà¹ØÖ÷ÌâµÄÌû×Ó: include¡¡person¡¡Í¨Ñ¶Â¼¡¡modify¡¡¸öÈËÐÅÏ¢¡¡
2013-03-02 19:09
shmilyflf
Rank: 9Rank: 9Rank: 9
µÈ¡¡¼¶£ºÖ©ÖëÏÀ
Íþ¡¡Íû£º5
Ìû¡¡×Ó£º356
ר¼Ò·Ö£º1008
×¢¡¡²á£º2012-12-9
ÊÕ²Ø
µÃ·Ö:3 
³öÏÖÒì³£ÁË£¬Äã¿´¿´Äã³ÌÐòÖÐÊDz»ÊÇÓÐÎÞÏÞÑ­»·Ê²Ã´µÄ¡£
Äã×îºÃ°Ñ´úÂëÌù³öÀ´£¬Òª²»È»Ôõô¿´Ôõô»ØÊ£¿¾ÍÕâÒ»ÕÅͼƬ¿´²»³öÌ«¶à¶«Î÷µÄ¡£

[ ±¾Ìû×îºóÓÉ shmilyflf ÓÚ 2013-3-2 20:48 ±à¼­ ]
2013-03-02 20:47
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
À´¡¡×Ô£ººÎ·½
µÈ¡¡¼¶£º°æÖ÷
Íþ¡¡Íû£º167
Ìû¡¡×Ó£º6815
ר¼Ò·Ö£º42393
×¢¡¡²á£º2010-12-16
ÊÕ²Ø
µÃ·Ö:3 
´úÂëÓÐÂß¼­´íÎó

ÎÒÐÐÎÒÀÖ
¹«ÖںţºÂß¼­¿ÍÕ»
ÎҵIJ©¿Í£º
https://blog.yuccn. net
2013-03-02 20:58
Сxiong
Rank: 10Rank: 10Rank: 10
µÈ¡¡¼¶£ºÇà·åÏÀ
Ìû¡¡×Ó£º388
ר¼Ò·Ö£º1722
×¢¡¡²á£º2013-2-8
ÊÕ²Ø
µÃ·Ö:3 
Â¥ÉÏ˵µÄÓеÀÀí£¬
2013-03-02 23:15
¿ìËٻظ´£ºÍ¨Ñ¶Â¼.exeÍ£Ö¹¹¤×÷ÊÇʲôÎÊÌâ°¡
Êý¾Ý¼ÓÔØÖÐ...
 
¡¡¡¡¡¡



¹ØÓÚÎÒÃÇ | ¹ã¸æºÏ×÷ | ±à³ÌÖйú | Çå³ýCookies | TOP | ÊÖ»ú°æ

±à³ÌÖйú °æȨËùÓУ¬²¢±£ÁôËùÓÐȨÀû¡£
Powered by Discuz, Processed in 0.022335 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved