㈠ 編寫c語言一個通訊錄程序
這是我以前寫的課程設計,
電子通訊錄功能如下:
Function choose
1.Read
2.Append
3.Delete
4.Search
5.Save and exit
6.Quit
說明:上圖是電子通訊錄的主菜單,利用它,將能夠輕松地錄入一個朋友的電話號
碼,通訊地址和出生日期,而且它還提供了檢索和刪除功能。在後面還將提供按生
日先後排序的功能,這些都有助於該通訊錄的管理。
電子通訊錄是採用線性表作為程序的基本結構的。
設計思想:
1。用順序表設計電子通訊錄的結構
為了表示較為復雜的數據內容,一般用結構這種數據類型,第一步就是在結構中定
義所需要的各項信息。
一般的通訊錄都包括姓名,性別,出生年月,通訊地址和聯系電話這幾項,而
在這幾項中,出生年月又包括年份,月份和日期三項,通訊地址包括郵編和家庭地
址二項,我們把這些聯系較為緊密的內容又用單獨的結構表示,這樣就產生了電子
通訊錄的基本結構:
struct addr /*通訊地址結構定義*/
{ char post_num[10]; /*郵編*/
char addr[40]; /*家庭地址*/
};
struct birth /*出生年月結構定義*/
{ int year; /*年份*/
int month; /*月份*/
int day; /*日期*/
};
struct friend /*電子通訊錄結構定義*/
{ int number; /*序號*/
char name[20] /*姓名*/
char sex; /*性別*/
struct birth birth; /*出生年月*/
struct addr addr; /*通信地址*/
char telephone[13]; /*聯系電話*/
}; 
定義的主結構friend包含了前述的五項內容 name,sex,和telephone分別代表
了姓名,性別和聯系電話。為了讓結構中的各項組分更加清晰,定義了二個
小結構birth 和addr分別代表出生年月和通訊地址,因此實際上friend包含了
8項內容。
有了結構定義後,我們可以很輕松地構造出電子通訊錄的主體:
stryct friend friends[50];
採用一維數組 friends[50],正是用到了順序表這種最簡單的數據結構來表示
問題。
2.增添電子通訊錄中的內容
對於電子通訊錄這樣一張順序表來說,內容的錄入是必不可少的操作。由
於採用的是順序存儲結構。這項工作很簡單,只需要在把輸入的信息按順序放
在空的friends數組元素中即可。函數Data_Input完成了信息的錄入工作:
void Data_input(int j)
{
friends[j].number=j;
printf("\n\n\n\tNo %d record",j);
printf("\n\n\tName:"); /*讀入姓名*/
scanf("%s",friends[j].name);
printf("\n\tSex(m/f):"); /*讀入姓別*/
scanf("%c",&friends[j].sex);
printf("\n\tbirthday:"); /*讀入出生年月*/
printf("\n\t\tyear:");
scanf("%d",&friends[j].birth.year);
printf("\n\t\tmonth");
scanf("%d",&friends[j].birth.month);
printf("\n\t\tday");
scanf("%d",&friends[j].birth.day);
printf("\n\tPost number:"); /*讀入郵編*/
scanf("%s",friends[j].addr.post_num);
printf("\n\tAddress:"); /*讀入家庭地址*/
scanf("%s",friends[j].addr.addr);
printf("\n\ttelephone:"); /*讀入聯系電話*/
scanf("%s",friends[j].telephone);
}
㈡ 用c語言編寫通訊錄
自己寫的,看一下
// 頭文件部分
//============================
#include  <stdio.h>
#include <windows.h>
#include  <stdlib.h>
#include <conio.h>
// 初始化數據部分
int  Menu();
void Start();
void Write();
void Read();
void Search();
void Detele();
void beauty();
void Rework();
void Lock();
int  Judge();
//============================
struct  Student{
  char  name[20];
  char  Tel[20];
  char  QQ[20];
  int   age;
}xy[100];
char  wenjian[10000];
char  Number[10];
char number=0;
int  GOTO;
//
int  main()
{
    Start();
    for(;;)
 {
      GOTO=Menu();
   if(GOTO==1)
   { 
    for(;;)
    {
                 Write();
                 int judge=Judge();
     if(judge==2)
     {
              break;
     }
    }
   }
   if(GOTO==2)
   {
    for(;;)
    {
            Read();
      system("pause");
      break;
    }
   }
   if(GOTO==3)
   {
          for(;;)
    {
     Search();
     int judge=Judge();
     if(judge==2)
     {
              break;
     }
    }
   }
   if(GOTO==4)
   {
    for(;;)
    {
  Rework();
      int judge=Judge();
     if(judge==2)
     {
              break;
     }
    }
   }
   if(GOTO==5)
   {
  Detele();
  break;
   }
   if(GOTO==6)
   {
  beauty();
  break;
   }
   if(GOTO==7)
   {
   }
      if(GOTO==8)
   {
  printf("");
  break;
   }
   if(GOTO==9)
   {
     printf("\t\t\t退出系統\n\n");
  return  0;
   }
   if(GOTO==0)
   {
     printf("");
  break;
   }
 }
// beauty();
   // 
 //   Write();
  // Read();
// Search();
// Rework();
// Detele();
 return  0;
}
void  Write()
{
 printf("\t\t\t請輸入好友名字\n");
 scanf("%s",&xy[number].name);
 printf("\t\t\t請輸入好友電話號碼\n");
 scanf("%s",&xy[number].Tel);
 printf("\t\t\t請輸入好友QQ號碼\n");
 scanf("%s",&xy[number].QQ);
 printf("\t\t\t請輸入好友年齡\n");
 scanf("%d",&xy[number].age);
 
 FILE  *file;
 if((file=fopen("Friend.txt","rt"))==NULL)
 {
  file=fopen("Friend.txt","wt");
  fprintf(file,"%-20s%-20s%-20s%-20s","姓名","電話","QQ","年齡");
 }
    file=fopen("Friend.txt","at");
 fprintf(file,"%-20s%-20s%-20s%-20d\n",xy[number].name,xy[number].Tel,xy[number].QQ,xy[number].age);
 fclose(file);
    number++;
 Number[0]=number;
    FILE *  Sta;
 if((Sta=fopen("number.txt","r"))=NULL)
 {
      Sta=fopen("number.txt","wt");
   exit(1);
 }
    Sta=fopen("number.txt","wt");
 fprintf(Sta,"%d",Number[0]);
     
 fclose(Sta);
}
void  Read()
{
 printf("\t\t\t您通訊錄中一共有%d位好友\n",Number[0]);
 FILE* read;
 if((read=fopen("Friend.txt","r"))=NULL)
 {
  printf("\t\t\t您通訊中當前沒有好友,請返回添加\n");
 }
    read=fopen("Friend.txt","rt");
    printf("%-20s%-20s%-20s%-20s\n","姓名","電話 ","QQ","年齡");
 for(int i=0;i<number;i++)
 {
fscanf(read,"%s%s%s%d\n",&xy[i].name,&xy[i].Tel,&xy[i].QQ,&xy[i].age);
   
    printf("%-20s%-20s%-20s%-20d\n",xy[i].name,xy[i].Tel,xy[i].QQ,xy[i].age);
}
/* fread(wenjian,10000,1,read);
 for(int i=0;i<number*80+80;i++)
 {
  printf("%c",wenjian[i]);
 
 }
 printf("\n");
 */
   
   fclose(read);
}
void  beauty()
{
int d;
 do{
   printf("choose");
   scanf("%d",&d);
 }while(d<1&&d>5);
 if(d==1)
 {
  system("color  27");
  printf("===1===");
  
 }
    if(d==2)
 {
  system("color  37");
  printf("===2===");
 }
   if(d==3)
 {
    system("color  47");
  printf("===3===");
 }
   if(d==4)
 {
    system("color  57");
  printf("===4===");
 }
   if(d==5)
 {
    system("color  67");
  printf("===5===");
 }
}
void  Start()
{
    FILE* Start;
        if((Start=fopen("number.txt","r"))==NULL)
  {
    Start=fopen("number.txt","w");
    number=0;
    Number[0]=number;
          fscanf(Start,"%d",&Number[0]);
    printf("\t\t\t您的通訊錄中還沒有任何好友,趕快添加吧.此次操作需要重新運行程序。\n");
    exit(1);
  }
           Start=fopen("number.txt","r");
     fscanf(Start,"%d",&Number[0]);
         
     number=Number[0];
fclose(Start);
}
void  Search()
{
 int change=0;
    char  Searchname[20];
    printf("\t\t\t輸入要查找的好友的名字\n\n");
 scanf("%s",&Searchname);
 fflush(stdin);
 printf("\t\t\t您要查找的好友是 %s \n\n",Searchname);
       FILE  *Search;
       Search=fopen("Friend.txt","rt");
for(int i=0;i<=number;i++)
 {
   
  fscanf(Search,"%s%s%s%d\n",&xy[i].name,&xy[i].Tel,&xy[i].QQ,&xy[i].age);
if(strcmp(xy[i].name,Searchname)==0)
     {
                    printf("\t\t\t下面是該好友的信息:\n\n");
     printf("%-20s%-20s%-20s%-20s\n","姓名","電話 ","QQ","年齡");
            printf("%-20s%-20s%-20s%-20d\n",&xy[i].name,&xy[i].Tel,&xy[i].QQ,xy[i].age);
     change=1;
     }
  
    fclose(Search);
 }
 if(change==0)
 {
     printf("\t\t\t您要查找的好友不存在,請返回菜單添加。\n");
 }
}
void  Rework()
{
 char  Rework[20];
    printf("\t\t\t輸入要修改的好友的名字\n\n");
 scanf("%s",&Rework);
 printf("\t\t\t您要修改 %s 的信息\n\n",Rework);
    int Change=0;
       FILE  *Search;
       Search=fopen("Friend.txt","rt");
for(int i=0;i<=number;i++)
 {
   
  fscanf(Search,"%s%s%s%d\n",&xy[i].name,&xy[i].Tel,&xy[i].QQ,&xy[i].age);
if(strcmp(xy[i].name,Rework)==0)
     {
                    printf("\t\t\t下面是該好友的信息:\n\n");
     printf("%-20s%-20s%-20s%-20s\n","姓名","電話 ","QQ","年齡");
                    Change=1;
                  int Choose;
     printf("%-20s%-20s%-20s%-20d\n",&xy[i].name,&xy[i].Tel,&xy[i].QQ,xy[i].age);
      //---------------------------------------------------------------------
                 do
     {
     printf("\t\t\tchoose\t\t\t1-----3");
    
     scanf("%d",&Choose);
     }while(Choose>3||Choose<1);
     if(Choose==1){
                    printf("\t\t\t請輸入好友電話號碼\n");
                    scanf("%s",&xy[i].Tel);
     }
     if(Choose==2)
     {
             printf("\t\t\t請輸入好友QQ號碼\n");
             scanf("%s",&xy[i].QQ);
     }
     if(Choose==3)
     {
                  printf("\t\t\t請輸入好友年齡\n");
                  scanf("%d",&xy[i].age);
     }
     
     Search=fopen("Friend.txt","wt");
     for(int sta=0;sta<i;sta++)
     {
                  fprintf(Search,"%-20s%-20s%-20s%-20d\n",xy[sta].name,xy[sta].Tel,xy[sta].QQ,xy[sta].age);
     }
     if(sta==i)
     {
                    fprintf(Search,"%-20s%-20s%-20s%-20d\n",xy[i].name,xy[i].Tel,xy[i].QQ,xy[i].age);
     i++;
     }
     for(i;i<=number;i++)
     {
       fprintf(Search,"%-20s%-20s%-20s%-20d\n",xy[i].name,xy[i].Tel,xy[i].QQ,xy[i].age);
     }
           printf("\t\t\t修改後的信息為:\n\n"); 
     Read();
     
     }
  
    fclose(Search);
 }
 if(Change==0)
 {
       printf("\t\t\t您要查找的好友不存在,請返回菜單添加。\n");
 }
}
void  Detele()
{
  
    int change=0;
    char  delete_friend[20];
    printf("\t\t\t輸入要刪除的好友的名字\n\n");
 scanf("%s",&delete_friend);
 fflush(stdin);
 printf("\t\t\t您要刪除的好友是 %s \n\n",delete_friend);
       FILE  *DeleteF;
       DeleteF=fopen("Friend.txt","rt");
for(int i=0;i<=number;i++)
 {
   
  fscanf(DeleteF,"%s%s%s%d\n",&xy[i].name,&xy[i].Tel,&xy[i].QQ,&xy[i].age);
if(strcmp(xy[i].name,delete_friend)==0)
     {
                    printf("\t\t\t下面是該好友的信息:\n\n");
     printf("%-20s%-20s%-20s%-20s\n","姓名","電話 ","QQ","年齡");
            printf("%-20s%-20s%-20s%-20d\n",&xy[i].name,&xy[i].Tel,&xy[i].QQ,xy[i].age);
     change=1;   
   
                 DeleteF=fopen("Friend.txt","wt");
     for(int st=0;st<i;st++)
     {
                  fprintf(DeleteF,"%-20s%-20s%-20s%-20d\n",xy[st].name,xy[st].Tel,xy[st].QQ,xy[st].age);
      
     }
     i++;
     for(i;i<=number;i++)
     {
                      printf("%-20s%-20s%-20s%-20d\n",xy[i].name,xy[i].Tel,xy[i].QQ,xy[i].age);
       fprintf(DeleteF,"%-20s%-20s%-20s%-20d\n",xy[i].name,xy[i].Tel,xy[i].QQ,xy[i].age);
     }
     }
//--------------------------------------------------------------------------------
if(change==1)
     {
               printf("\t\t\t刪除後的通訊錄信息為:\n\n"); 
number--;
 Number[0]=number;
    FILE *  St;
 if((St=fopen("number.txt","r"))=NULL)
 {
      St=fopen("number.txt","wt");
   exit(1);
 }
    St=fopen("number.txt","wt");
 fprintf(St,"%d",Number[0]);
    
 fclose(St);
fclose(DeleteF);
     Start();
                 Read();
 }
 }
  
 if(change==0)
 {
       printf("\t\t\t您要刪除的好友不存在。\n");
 }
}
void Lock()
{
}
int  Menu()
{
 printf("\t\t*****歡迎進入通訊管理界面*****\n\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("\t\t\t8.使用注意事項\n");
 printf("\t\t\t9.退出通訊系統\n");
 printf("\t\t\t0.作者想說的話\n");
 printf("\t\t******************************\n\n");
 
 do{
           printf("\t\t\t請輸入你的選擇:\n\n");  
     scanf("%d",&GOTO);
 }while(GOTO>9||GOTO<1);
    return  GOTO;
}
int  Judge()
{
    char  JUDGE;
 do
 {
     printf("\t\t\t是否繼續當前操作\n\n Y(yes) / N(no)\n");
  printf("\t\t\t輸入你的選擇\n");
        JUDGE=getch();
     if(JUDGE=='y'||JUDGE=='Y')
  {
          return  1;
  }
        if(JUDGE=='n'||JUDGE=='N')
  {
             return  2;
  }
 }while(JUDGE!='y'||JUDGE!='n');
}
㈢ C語言,編寫一個簡單的通訊錄管理系統
實現一個通訊錄管理系統;
通訊錄管理系統可以用來存儲1000個人的信息,每個人的信息包括:
姓名、性別、年齡、電話、住址
**提供方法:
1. 添加聯系人信息
2. 刪除指定聯系人信息
3. 查找指定聯系人信息
4. 修改指定聯系人信息
5. 顯示所有聯系人信息
6. 清空所有聯系人
7. 以名字排序所有聯系人**
1、linkman.h(頭文件)

3、程序運行結果部分示範:
㈣ 用C語言設計一個通訊錄系統
/*
 * main_tongxunlu.c
 *
 *  Created on: 2011-6-21
 *      Author: zhanglujin
 */
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
struct record
{
	char name[20];   //姓名
	char phone[12];   //電話
	char adress[50];   //地址
	char postcode[8];   //郵政編碼
	char e_mail[20];   //電子郵件。
}student[100];     //假設最大數為100.
//定義全局變數num,表示已經輸入的人數 。
int num;     //這里使用數組解決通訊錄的問題,實際上使用鏈表更好。
int menu_select()
{
	 char s[80];
	 int a;/*定義整形變數*/
	 system("cls");
	 printf("\t\t***********歡迎進入通訊管理界面********\n\n");
	 printf("\t\t\t0. 輸入記錄\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. Quit\n");
	 printf("\t\t***********************************************\n\n");
	do{
			printf("Enter you choice(0~7):");
		    scanf("%s",s);
		    a=atoi(s);
	 }
    while (a<0 || a>7);
    return a;
}
int adser()
{
	 printf("\t\t\t**************** 請輸入用戶信息 ****************\n");
	 printf("\t\t\t輸入姓名:\n");
	 scanf("%s",student[num].name);
	 printf("\t\t\t輸入電話號碼:\n");
	 scanf("%s",student[num].phone);
	 printf("\t\t\t輸入地址:\n");
	 scanf("%s",student[num].adress);
	 printf("\t\t\t輸入郵編:\n");
	 scanf("%s",student[num].postcode);
	 printf("\t\t\t輸入e-mail:\n");
	 scanf("%s",student[num].e_mail);
	 num++;
	 printf("\t\t\t是否繼續添加?(Y/N):\n");
	 if(getch()=='y' || getch()=='Y')
	     adser();
	 return(0);
}
void list()
{
	 int i;
	 system("cls");
	 if(num!=0)
	 {
	  printf("\t\t\t*************** 以下為通訊錄所有信息************\n");
	  for (i=0;i<num;i++)
	  {
	    printf("\t\t\t姓名:%s\n",student[i].name);
		printf("\t\t\t電話:%s\n",student[i].phone);
		printf("\t\t\t地址:%s\n",student[i].adress);
		printf("\t\t\t郵編:%s\n",student[i].postcode);
		printf("\t\t\te-mail:%s\n",student[i].e_mail);
	   if(i+1<num)
	   {
		system("pause");
	   }
	  }
	  printf("\t\t\t************************************************\n");
	 }
	 else
	  printf("\t\t\t通訊錄中無任何紀錄\n");
	  printf("\t\t\t按任意鍵返回主菜單:\n");
	  getch();    //這里是無回顯的輸入字元,你輸入的字元不會顯示在屏幕上。
	  return;
}
int searchbyname()
{
	 int mark=0;
	 int i;
	 printf("\t\t\t***************** 按姓名查找 *******************\n");
	 char name[20];
	 printf("\t\t\t請輸入姓名:\n");
	 scanf("%s",name);
	 for(i=0;i<num;i++)
	 {
		  if (strcmp(student[i].name,name)==0)
		   {
			printf("\t\t\t************* 以下是您查找的用戶信息 ***********\n");
			printf("\t\t\t姓名: %s",student[i].name);
			printf("\t\t\t電話: %s",student[i].phone);
			printf("\t\t\t地址: %s",student[i].adress);
			printf("\t\t\te-mail:%s",student[i].e_mail);
			printf("\t\t\t************************************************\n");
			mark++;
		   if((i+1)<num)
		   {
			   printf("\t\t\t是否繼續查找相同名字的用戶信息:(y/n)\n");
			   if(getch()=='y' || getch()=='Y')
			   {
㈤ C語言課程設計:編寫程序,建立班級通訊錄
這個比較簡單,將輸入信息,保存到txt文件中,實現文件讀取就行了吧?
㈥ 如何用C語言做通訊錄
剽竊代碼即可。。
已經按照你的要求做了一個,VC6上運行確認了:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedefstructPersonalInfo
{
charname[50];
charaddress[30];
chartelno[30];
charpostcode[30];
structPersonalInfo*next;
}INFO;
INFO*head;
voidInitiate();
voidMenu();
voidCreate();//的功能是:創建新的通訊錄。
voidAdd();//在通訊錄的末尾,寫入新的信息,並返回選單
voidFind();//查找記錄
voidAlter();//修改記錄如果未找到要修改的人,則提示通訊錄中沒有此人的信息,並返回選單。
voidDelete();//刪除某人的信息,如果未找到要刪的人,提示通訊錄中沒有此人的信息,並返回選單。
voidList();//的功能是:顯示通訊錄中的所有記錄。
//初始化
voidInitiate()
{
if((head=(INFO*)malloc(sizeof(INFO)))==NULL)exit(1);
head->next=NULL;
}
//顯示菜單
voidMenu()
{
printf("**************歡迎使用通訊錄系統**************");
printf(" ");
printf(" ");
printf("1.創建通訊錄。 ");
printf("2.插入信息。 ");
printf("3.查詢記錄 ");
printf("4.修改記錄 ");
printf("5.刪除記錄! ");
printf("6.顯示所有記錄 ");
printf("0.退出通訊錄 ");
printf("請輸入0~6 ");
}
//創建通訊錄
voidCreate()
{
INFO*p1[100],*p2;
intm,i;
printf("請輸入創建個數:");
scanf("%d",&m);
for(i=1;i<=m;i++)
{
p1[i]=(INFO*)malloc(sizeof(INFO));
printf("請輸入第%d條信息! ",i);
printf("姓名: ");
scanf("%s",&p1[i]->name);
printf("地址: ");
scanf("%s",&p1[i]->address);
printf("電話: ");
scanf("%s",&p1[i]->telno);
printf("郵編: ");
scanf("%s",&p1[i]->postcode);
p1[i]->next=NULL;
if(head->next==NULL)
head->next=p1[i];
else
{
for(p2=head;p2->next!=NULL;p2=p2->next);//找到結點尾
p2->next=p1[i];
}
}
printf("信息已添加! ");
return;//保存到鏈表
}
//添加通訊錄信息
voidAdd()
{
INFO*p,*q;
if((q=(INFO*)malloc(sizeof(INFO)))==NULL)exit(1);
printf("請輸入要添加的信息! ");
printf("姓名: ");//添加信息
scanf("%s",&q->name);
printf("性別: ");
scanf("%s",q->address);
printf("電話: ");
scanf("%s",q->telno);
printf("城市: ");
scanf("%s",q->postcode);
for(p=head;p->next!=NULL;p=p->next);
p->next=q;
q->next=NULL;
printf("此信息已添加!");
return;
}
//查找通訊錄信息
voidFind()
{
INFO*p;
charname[50];
if(head->next==NULL)
{
printf("此通訊錄為空! ");
return;
}
printf("請輸入要查找的姓名: ");
scanf("%s",&name);
for(p=head->next;p!=NULL;p=p->next)
{
if(strcmp(p->name,name)==0)
{
printf("姓名 地址 郵編 電話 ");
printf("%s %s %s %s ",p->name,p->address,p->postcode,p->telno);
}
elseif(p->next==NULL)
printf("無此信息! ");
}
}
//修改通訊錄信息
voidAlter()
{
charname[50];//先查找後刪除
INFO*p,*p1;
if(head->next==NULL)
{
printf("此通訊錄為空! ");
return;
}
printf("請輸入要修改的姓名: ");
scanf("%s",name);
for(p=head->next;p!=NULL;p=p->next)
{
if(strcmp(p->name,name)==0)
break;
elseif(p->next==NULL)
{
printf("無此信息! ");
return;
}
}
p1=(INFO*)malloc(sizeof(INFO));
printf("姓名: ");//添加信息
scanf("%s",p1->name);
strcpy(p->name,p1->name);
printf("性別: ");
scanf("%s",p1->address);
strcpy(p->address,p1->address);
printf("電話: ");
scanf("%s",p1->telno);
strcpy(p->telno,p1->telno);
printf("城市: ");
scanf("%s",p1->postcode);
strcpy(p->postcode,p1->postcode);
printf("此信息已修改! ");
//顯示修改的信息
printf("姓名 地址 郵編 電話 ");
printf("%s %s %s %s ",p->name,p->address,p->postcode,p->telno);
free(p1);
}
//刪除通訊錄信息
voidDelete()
{
charname[50];//先查找後刪除
INFO*p=head->next,*p1=head->next,*p2;
if(head->next==NULL)
{
printf("此通訊錄為空! ");
return;
}
printf("請輸入要刪除的姓名: ");
scanf("%s",name);
while((strcmp(p->name,name)!=0)&&p->next!=NULL)
{
p1=p;
p=p->next;
}
if(strcmp(name,p->name)==0)//輸出刪除信息
{
if(p==head->next&&p->next!=NULL)
head->next=p->next;
elseif(p==head->next&&p->next==NULL)
{
head->next=p->next;
printf("信息已刪除,先此通訊錄為空!! ");
return;
}
else
p1->next=p->next;
}
else
{
printf("此信息不存在!!! ");
return;
}
printf("此信息已刪除!");
printf("姓名 地址 郵編 電話 ");
for(p2=head->next;p2!=NULL;p2=p2->next)
printf("%s %s %s %s ",p2->name,p2->address,p2->postcode,p2->telno);
}
//顯示所有記錄
voidList()
{
INFO*p;
if(head->next==NULL)
{
printf("此通訊錄中無記錄! ");
return;
}
printf("姓名 地址 郵編 電話 ");
for(p=head->next;p!=NULL;p=p->next)
printf("%s %s %s %s ",p->name,p->address,p->postcode,p->telno);
}
voidmain()
{
intchoice;
charyes_no;
system("colora");
Initiate();
do
{
Menu();
printf("請選擇0-6的數字 ");
scanf("%d",&choice);
printf(" ");
switch(choice)
{
case1:Create();
break;
case2:Add();
break;
case3:Find();
break;
case4:Alter();
break;
case5:Delete();
break;
case6:List();
break;
case0:
printf("************感謝您的使用************ ");
exit(0);
break;
default:
printf("輸入有誤!請重新輸入 ");
break;
}
printf("是否繼續YorN? ");
do
{
scanf("%c",&yes_no);
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no=='Y'||yes_no=='y');
}
