我用這個C作業應付了期末實驗

2021-10-07 04:54:36 字數 4053 閱讀 8459

下面是**是用來建立原有通訊錄的。

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