學完檔案操作 修改通訊錄後的程式
主函式main.c檔案
#include #include"txu.h"
int main()
read_data(head);
while(1)
write_data(head); }
return 0;
}
".h"檔案
#ifndef __txu_h__
#define __txu_h__
#define false 0
#define true 1
typedef struct _friend
friend;
typedef struct _node
node;
// 建立鍊錶
node * create_list();
//顯示選單
void menu();
//新增好友
int add_friend(node *h);
//列表好友
int show_friend(node *h);
//查詢好友
int find_friend(node* h);
//刪除好友
int delete_friend(node* h);
int insert_last(node *h, friend friend);
int get_len(node * h);
void write_data(node *h);
void read_data(node *h);
#endif
函式檔案「.c"
#include"txu.h"
#include#include#includenode * create_list()//建立鍊錶
void menu()
void write_data(node *h) //資料寫入
node *temp=h->next;
int count=get_len(h);
fwrite(&count,sizeof(int),1,fp);
int i;
for(i=0;ifriend);
fwrite(&len,sizeof(int),1,fp);
fwrite(&(temp->friend),sizeof(friend),1,fp);
temp=temp->next;
} fclose(fp);
}int get_len(node * h)
return count;
}int insert_last(node *h, friend friend)
node->friend = friend;
node->next = null;
node* tmp = h;
while (tmp->next)
tmp->next = node;
return true;
}void read_data(node *h) //資料讀取
int count;
count=0;
fread(&count,sizeof(int),1,fp);
int i;
friend temp;
for(i=0;ifriend.id));
printf("請輸入name:");
scanf("%s",node->friend.name);
printf("請輸入numb:");
scanf("%s",node->friend.numb);
printf("請輸入address:");
scanf("%s",node->friend.address);
printf("請輸入cnumb:");
scanf("%s",node->friend.cnumb);
node->next=null;
//write_data(node);
node* tmp=h;
while (tmp->next)
tmp->next = node;
return true;
}int show_friend(node *h)
else
}if(i==0)
}node *tmp=h->next;
while(tmp!=null)
printf("\n");
return true;
}int find_friend(node* h)
tmp=tmp->next;
} return true;
}int delete_friend(node* h)
tmp=tmp->next;
} if(bn>1)
tmp=tmp->next;
}} else
tmp=tmp->next;
} }return true;
}
通訊錄 檔案儲存
本文是基於動態儲存的通訊錄實現中加以修改 動態儲存實現通訊錄 增加資料寫入檔案函式 將資料寫入檔案 void writefile mindan book for int i 0 i book size i fclose fp 增加載入檔案資料儲存 void loadfile mindan book ...
簡易通訊錄(檔案版)
第二個模組便是我們的測試函式,測試函式便可以實現我們的選單列印,同時由我們接收不同的值便可以實現不同的操作,就是相應的方法的實現,這裡很明顯可以通過乙個switch語句來進行控制。第三個模組便是我們的方法實現的函式,將模組2裡定義的型別為通訊錄的位址傳到各個方法裡,這樣便可以實現對通訊錄的操作。in...
通訊錄的實現
ifndef contacts h define contacts h define name length 20 define length 10 define tele length 11 define addr length 30 define max 1000 struct peoplein...