下面是**是用來建立原有通訊錄的。
#include
#include
#include
const
int maxlen=
500;
char fname[20]
="tel.txt"
;int len;
int n;
typedef
struct telephone
tel;
tel tele[
100]
;main()
intinsert()
for(
int i=
0;i)fclose
(p);
}void
printhead()
執行如下圖:
之後是對通訊錄操作的源**:
#include
#include
#include
const
int maxlen=
500;
char fname[20]
="tel.txt"
;int len=0;
int n;
typedef
struct telephone
tel;
tel tele[
100]
; tel t[1]
;tel t1[1]
;//typedef struct index
//index;
intmain
(int argc,
char
*ar**)
intmenu()
//選單模組
break
;case2:
submenu2()
;break
;case3:
case4:
printf
("退出");
break
;default
:printf
("請重新輸入:");
}}}int
submenu2()
}}void
list
(tel tele,
int i)
//檢視模組
i=0;while(!
feof
(p1)
)fclose
(p1);}
void
printhead()
//輸出表頭
void
printbottom()
//輸出表尾
void
selectsort
(tel *p)
//音序排序
for(i=
0;i)printf
("%d %s %d %s %s %s %s %s\n"
,i+1
,tele[i]
.name,tele[i]
.group,tele[i]
.home,tele[i]
.mobile,tele[i]
.email,tele[i]
.add,tele[i]
.memo);}
void
printone
(tel tele,
int i)
//輸入乙個聯絡人的資訊及序號
void
print
(tel tele)
//僅輸入聯絡人的資訊
void
new(tel tele[
],tel *p)
//新增聯絡人 if(
(p22=
fopen
("e:\\tel.txt"
,"a+"))
==null
)for
(int i=
0;i)printf
("輸入要增添的聯絡人姓名:\n");
scanf
("%s"
,name3)
; y=
duplicate
(name3,tele,original)
;printf
("%d\n"
,y);
for(
int i=n;
;i++
)fclose
(p2);}
void
edit
(tel tele[
],tel *p)
//編輯聯絡人 if(
(p4=
fopen
("e:\\tele.txt"
,"w"))
==null
)for
(int i=
0;i)printf
("請輸入修改者的名字:");
scanf
("%s"
,name1)
;for
(int i=
0;ifor(
int i=
0;i)fclose
(p3)
;fclose
(p4)
;unlink
("e:\\tel.txt");
rename
("e:\\tele.txt"
,"e:\\tel.txt");
}void
delect
(tel tele[
],tel *p)
//刪除聯絡人 if(
(p6=
fopen
("e:\\tele.txt"
,"w"))
==null
)for
(int i=
0;i)printf
("請輸入刪除者的名字:");
scanf
("%s"
,name2)
;for
(int i=
0;i) len--;}
}for
(int i=
0;i)fclose
(p5)
;fclose
(p6)
;unlink
("e:\\tel.txt");
rename
("e:\\tele.txt"
,"e:\\tel.txt");
}void
input
(tel tele[
],tel *p,
int i)
//input
intduplicate
(char name3[
],tel tele,
char
*original)
//檢查是否重名
}int
copy()
//備份通訊錄 if(
(p8=
fopen
("e:\\tele.txt"
,"w"))
==null
)int f=0;
while(!
feof
(p7)
)fclose
(p7)
;fclose
(p8);if
(f==0)
return0;
else
return1;
}
執行上述程式後的結果如圖:
另外還有其他功能,都已經完善好了,就不再一一演示了。
這就是用c管理乙個通訊錄的程式。大家可以參考參考。希望能幫助到大家。
楠哥-------一心只想為it行業添磚加瓦,卻總是面向cv程式設計的程式設計師。
把我的 C 作業貼出來 實驗三 陣列 2
實驗三 陣列 一 實驗目的 1 熟悉陣列的結構 2 掌握矩陣的壓縮儲存 3 能夠對陣列和矩陣的壓縮儲存進行運算 一 實驗內容2.a 和b 是兩個n n 階的對稱矩陣,輸入時,以行為主序輸入對稱矩陣的下三角元素,存入以尾陣列,編寫乙個演算法計算對稱矩陣a和 b的乘積。資料夾 對稱矩陣相乘 陣列結構型別...
把我的 C 作業貼出來 實驗四 樹 2
實驗四 樹 一 實驗目的 1 熟悉二叉樹的鏈式儲存結構 2 掌握二叉樹的建立 深度優先遞迴遍歷等演算法 3 能夠利用遍歷演算法實現一些應用 二 實驗內容 2 採用二叉鍊錶結構儲存一棵二叉樹,編寫乙個演算法刪除該二叉樹中資料值為 x的結點及其子樹,並且輸出被刪除的子樹。資料夾 習題 12 15 二叉鍊...
把我的 C 作業貼出來 實驗四 樹 1
實驗四樹 一 實驗目的 1 熟悉二叉樹的鏈式儲存結構 2 掌握二叉樹的建立 深度優先遞迴遍歷等演算法 3 能夠利用遍歷演算法實現一些應用 二 實驗內容 1 已知二叉樹採用二叉鍊錶儲存結構,編寫乙個演算法交換二叉樹所有左 右子樹的位置,即結點的左子樹變為結點的右子樹,右子樹變為左子樹。資料夾 習題12...