#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...