C語言通訊錄小專案

2021-08-14 19:59:10 字數 3364 閱讀 5719

#include

#include

#include

#include

/*定義節點*/

struct node

;/*建立頭節點*/

int init(struct node **pheader)

return 0;

}bzero(pnode,sizeof(struct node));//清理堆空間

//pnode->name[20]=" ";              //對於字元陣列賦值一般呼叫庫函式strcpy()

pnode->age=0;

//pnode->phone[12]=" ";

//pnode->address[30]=" ";

strcpy(pnode->name,"0");

strcpy(pnode->phone,"0");

strcpy(pnode->address,"0");

pnode->next=null;

(*pheader)=pnode;

return 0;

}/*增加聯絡人*/

int add_person(struct node *pheader)

bzero(pnode,sizeof(struct node));       //清理堆空間

gets(pnode->name);

printf("請輸入年齡(整數)\n");

/*while(1)部分避免非法資料的輸入*/

while(1)

printf("輸入有誤,重新輸入:");

}else

break;

}getchar();

gets(pnode->phone);

printf("請輸入家庭住址\n");

gets(pnode->address);

pnode->next=null;

while(pheader->next!=null)

pheader->next=pnode;

printf("\n");

printf("是否繼續輸入,是輸入y,否輸入n:");

scanf("%c",&a);

getchar();

if(a == 'y')

else

}/*修改聯絡人*/

int update(struct node *pheader)

;if(p->next==null)

printf("聯絡人有這些:\n");

while(p1->next!=null)

printf("\n");

printf("輸入要修改的人的姓名\n");

scanf("%s",name1);

getchar();

while(p->next!=null)

printf("輸入有誤,重新輸入:");

}else

break;

}getchar();

switch(i)

printf("輸入有誤,重新輸入:");

}else

break;

}getchar();break;

scanf("%s",p->next->phone);getchar();break;

case 4:printf("請輸入家庭住址\n");

scanf("%s",p->next->address);getchar();break;

default:printf("請重新輸入\n");break;

}printf("是否繼續修改,是輸入y,否輸入任意值:");

scanf("%c",&b);

getchar();

}printf("\n");

printf("修改後為\n");

printf("姓名為:%s\n",p->next->name);

printf("年齡為:%d\n",p->next->age);

printf("聯絡**為:%s\n",p->next->phone);

printf("家庭住址為:%s\n",p->next->address);

flag=1;

}p=p->next;

}if(flag==0)

printf("輸入enter鍵退出");

getchar();

system("clear");

return 0;

}/*刪除聯絡人*/

int delate(struct node *pheader)

;if(p->next==null)

printf("聯絡人有這些:\n");

while(p1->next!=null)

printf("\n");

printf("輸入要刪除的人的姓名\n");

scanf("%s",name1);

while(p->next!=null)

}if(flag==0)

else

getchar();

printf("輸入enter鍵退出");

getchar();

system("clear");

return 0;

}/*遍歷所有聯絡人*/

int display(struct node *pheader)

while(p->next!=null)

printf("\n");

printf("輸入enter鍵退出");

getchar();

system("clear");

}/*查詢聯絡人*/

int look(struct node *pheader)

;if(p->next==null)

while(p1->next!=null)

printf("\n");

printf("輸入要查詢的人的姓名\n");

scanf("%s",name1);

while(p->next!=null)

p=p->next;

}if(flag==0)

getchar();

printf("輸入enter鍵退出");

getchar();

system("clear");

//return 0;

}/*主選單*/

void menu()

/*主函式,執行的入口*/

int main()

printf("輸入有誤,重新輸入:");

}else

}getchar(); 

system("clear");

switch(i)

}while(i!=6);

return 0;

}

C語言小專案 通訊錄

通訊錄全部採用c語言實現,用鍊錶實現增加 刪除 修改 查詢等功能,還有命令解析函式 將輸入分解成主命令 姓名 聯絡人資訊是儲存在檔案中,每次程式執行和結束時都會讀取檔案中的資訊。節點裡定義的都是指標,增加新節點時要開闢新的記憶體,刪除節點時要記得及時釋放記憶體,防止記憶體溢位。標頭檔案 標頭檔案中是...

C語言小專案 通訊錄系統

專案要求 實現乙個通訊錄 通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括 姓名 性別 年齡 住址 提供方法 新增聯絡人資訊 刪除指定聯絡人資訊 查詢指定聯絡人資訊 修改指定聯絡人資訊 顯示所有聯絡人資訊 清空所有聯絡人 以名字排序所有聯絡人 這個系統我們分為三個部分來實現 contact.h...

通訊錄小專案

可以儲存1000人的資訊,個人資訊包括姓名 住址 年齡 性別。提供方法 1 新增聯絡人資訊 2 刪除指定聯絡人資訊 3 查詢指定聯絡人資訊 4 修改指定聯絡人資訊 5 顯示所有聯絡人資訊 6 清空所有聯絡人資訊 7 以名字排序所有聯絡人 1 從檔案讀取和向檔案寫入資訊 fopen fclose fs...