版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言課程設(shè)計(jì)大
作業(yè)
文檔僅供參考
鄭外I大學(xué)
課程報(bào)告
課程名稱:C語(yǔ)言程序設(shè)計(jì)
專業(yè)班級(jí):(15)班
學(xué)生姓名:謝*
學(xué)號(hào):7611***
任課教師:趙**
學(xué)期:*
課程報(bào)告任務(wù)書(shū)
題
通訊錄管理系統(tǒng)
目
文檔僅供參考
開(kāi)發(fā)一個(gè)通訊錄管理系統(tǒng),基本信息包括:編號(hào)、姓名、性別、出生年月、固定電
話、手機(jī)號(hào)、電子郵件等基本信息(也能夠根據(jù)自己情況進(jìn)行擴(kuò)充)。使之能提供
以下基本功能:
(1)通訊錄等信息錄入功能(注:數(shù)據(jù)等要求用文件保存)一一輸入
(2)通訊錄信息的瀏覽功能一一輸出
主要(3)查詢功能(至少一種查詢方式)、排序功能(至少一種排序方式):
①按電話號(hào)碼進(jìn)行查詢②按姓名查詢等③按照年齡排序④按姓名排序等
內(nèi)容
(4)通訊錄條目的刪除與修改等
擴(kuò)展功能:能夠按照自己的程度進(jìn)行擴(kuò)展。比如(1)簡(jiǎn)單的權(quán)限處理(2)報(bào)表打
印功能(3)模糊查詢,如姓張的人員等;或者給定電子郵件的部分進(jìn)行查詢等
(4)給定指定年齡范圍之內(nèi)的查詢等等。
總之,能夠根據(jù)自己需求進(jìn)行分析功能,成績(jī)?cè)u(píng)定按照難度進(jìn)行區(qū)分。
一、提交材料應(yīng)包括:(1)系統(tǒng)源代碼(2)課程報(bào)告
二、整個(gè)設(shè)計(jì)過(guò)程具體要求
(1)需求分析要求學(xué)生對(duì)案例系統(tǒng)進(jìn)行分析,設(shè)計(jì)出需要完成的功能,完善
任務(wù)各個(gè)模塊的調(diào)用關(guān)系;
要求(2)設(shè)計(jì)過(guò)程要求學(xué)生進(jìn)一步明確各模塊調(diào)用關(guān)系,進(jìn)一步完善模塊函數(shù)細(xì)
節(jié)(函數(shù)名、參數(shù)、返回值等)
(3)實(shí)現(xiàn)過(guò)程要求學(xué)生養(yǎng)成良好的編碼習(xí)慣、完成各個(gè)模塊并進(jìn)行測(cè)試,最
終完成系統(tǒng)整體測(cè)試;
(4)總結(jié)階段按照要求完成系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)報(bào)告,并進(jìn)行總結(jié)、答辯。
報(bào)告撰寫(xiě)情況(30分)系統(tǒng)完成情況(30答辯情況(40分)
分)
內(nèi)容規(guī)范程度程序測(cè)試基本功能擴(kuò)展功能自述情況答辯情況
成績(jī)
20分5分5分20分10分10分30分總分
評(píng)定
成績(jī)?cè)u(píng)定教師:
一.需求分析
1,具有數(shù)據(jù)的插入、修改、刪除、顯示和查詢功能的電話簿管理程序。
文檔僅供參考
2,數(shù)據(jù)包括:人名、工作單位、電話號(hào)碼和E-MAIL地址。
3,可對(duì)記錄中的姓名和電話號(hào)碼進(jìn)行修改。
4,可增加和刪除記錄。
5,可顯示所有的保存記錄。
6,可按人名或電話號(hào)碼進(jìn)行查詢。
分析
建議采用結(jié)構(gòu)體數(shù)組和文件系統(tǒng)實(shí)現(xiàn)。結(jié)構(gòu)體成員包括人名、工作單位、
電話號(hào)碼和E-MAIL地址。
根據(jù)題目的要求程序應(yīng)該采用結(jié)構(gòu)體數(shù)組和文件系統(tǒng)實(shí)現(xiàn)。應(yīng)該有文件的操
作功能;在程序中應(yīng)該包括輸入、顯示、刪除、查詢、添加、修改、保存、
加載和退出的功能。
二、概要設(shè)計(jì)
(1).程序的模塊組成及各個(gè)函數(shù)的功能:
程序的模塊組成:
主函數(shù):main();
輸出數(shù)據(jù)函數(shù):printf();
讀取數(shù)據(jù)函數(shù):scanf();
顯示記錄函數(shù):Display();
刪除記錄函數(shù):shanchu。;
查找記錄函數(shù):chaxunQ;
自定義清屏函數(shù):system("ds”);
自定義輸入函數(shù):input。;
文檔僅供參考
字符輸入函數(shù):getchar();
修改數(shù)據(jù)函數(shù):xiugai();
保存數(shù)據(jù)函數(shù):baocun();
排序數(shù)據(jù)函數(shù):paixu();
各函數(shù)的主要功能:
輸出數(shù)據(jù)函數(shù):隨時(shí)輸出數(shù)據(jù);
讀取數(shù)據(jù)函數(shù):讀取輸入的數(shù)據(jù)信息;
顯示菜單函數(shù):顯示可供選擇的主菜單;
顯示記錄函數(shù):顯示通訊錄所有輸入的信息;
刪除記錄函數(shù):顯示要?jiǎng)h除的通訊錄所有輸入的信息;
查找記錄函數(shù):顯示要查詢的通訊錄所有輸入的信息;
自定義清屏函數(shù):清除前面運(yùn)行留下的信息;
自定義輸入函數(shù):輸入通訊錄的成員;;
字符輸入函數(shù):從終端輸入一個(gè)字符,遇回車鍵返回;
修改數(shù)據(jù)函數(shù):修改通訊錄的成員信息;
保存數(shù)據(jù)函數(shù):保存通訊錄的成員信息;
排序數(shù)據(jù)函數(shù):排序通訊錄的成員信息;
(2)程序中的抽象數(shù)據(jù)類型的定義:
用戶的狀態(tài)結(jié)構(gòu)
用戶
(
編號(hào):
姓名:
文檔僅供參考
電話;
年齡;
郵箱:
地址;
⑶總體流程圖
根據(jù)上面的分析,能夠?qū)⒊绦蛳到y(tǒng)的設(shè)計(jì)分為如下幾個(gè)模塊:插入、顯示、
刪除、查詢、修改、保存和退出。
三.詳細(xì)設(shè)計(jì)
(1).主菜單;
主菜單一般設(shè)計(jì)得比較簡(jiǎn)潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)
用。其中各功能模塊用菜單方式選擇。
流程圖
文檔僅供參考
【程序】
Personpe[80];
intmenu_select()
charc;
do{
system(,'cls,');〃清屏
printf(''\t\t\t**********************************************\ii'');〃窗
口初始化
printf(H\t\t\t**********歡迎使用通訊錄管理系統(tǒng)!***********\nn);
printf(''\t\t\t*************|*I***************\n”);
printf(''\t\t\t**************1.添力口記錄***************\n'');
printf(n\t\t\t**************|2.顯示記錄****************'n'')?
printf(H\t\t\t**************|3.刪除記錄****************'n'')?
printf(H\t\t\t**************|4.查詢記錄****************'n'')?
printf("\t\t\t**************|5.修改記錄****************\n'')?
printf(n\t\t\t**************|6.保存記錄*****************3);
文檔僅供參考
printf(H\t\t\t**************|7.排序記錄|*****************\nn)?
printf(''\t\t\t**************|0.退出程序|*****************\n");
printf(''\t\t\t******************************'n'')?
printf(H\t\t請(qǐng)您選擇(0-7):");
c=getchar();
}while(c<,0,||c>,7,);
return(c-'O');
)
(2)顯示模塊
此模塊為顯示所有記錄,流程圖如下:
Inti;
printf(n.......................................................................................................\nn);〃格式
printf("編號(hào)\t姓名\t年齡\t電話號(hào)碼\t通訊地址\t電子郵箱\n");
printf(n.......................................................................................................\n);
for(i=l;i<n+l;i++)
文檔僅供參考
printf(,'%-8d%-8s%-8s%-18s%-18s%-8s\n,',per[i-l].score,per[i-
l].name,per[i-l].age,per[i-l].num,per[i-l].adds,per[i-l].email);
if(i>l&&i%10==0)
{printf(u\t................................................\nH);
printf(n\tn);
system(*'pause*');
printf(u\t................................................\nu);
})
prin(f("................................................................................................\n");
system(,'pausen);
(3)修改模塊
此模塊先調(diào)用查找函數(shù)查找到所要修改的信息,然后用戶根據(jù)需要修改信
息。流程圖如下:
文檔僅供參考
voidxiugai(Personper[],intn)
{
chars[20];
inti=0;
printf("\t請(qǐng)輸入想修改的記錄中的名字:“);
scanfC'%sn,s);〃輸入修改人的名字
while(strcmp(per[i].name,s)!=O&&i<n)i++;
if(i==n)
{
printf(n\t通訊錄中沒(méi)有此人!\n");
return;
)
printf(n\t編號(hào):");
scanf(n\t%dn,&per[i].score);
文檔僅供參考
printf(”\t姓名:");
scanf(*'\t%sn,per[i].name);
printf("\t年齡:");
scanf(n\t%sn,per[i].age);
printf(u\t電話號(hào)碼:“);
scanf(',\t%s'*,per[i].num);
printf("\t通訊住址:");
scanf(n\t%sn,per[i].adds);
printf(u\t電子郵箱:");
scanf(n\t%sn,per[i].email);
printf(u\t*');}
(4)插入模塊
此模塊為插入信息模塊,插入后再調(diào)用保存函數(shù)來(lái)保存所插入的數(shù)據(jù),支
持多條信息的插入。
流程圖
文檔僅供參考
intInput(Personper[],intn)
|
inti=0;
charsign,x[10];
while(sign!='n'&&sign!='N')
{
prmtf(H\t編號(hào):
scanf(u\t%d*',&per[n+i].score);
printf("\t姓名:");
scanf(*'\t%s*',per[n+i].name);
prmtf(H\t年齡:");
scanf(n\t%sn,per[n+i].age);
printf(n\t電話號(hào)碼:");
文檔僅供參考
scanf(,'\t%s,',per[n+i].num);
printf(H\t通訊住址:");
scanf('*\t%s'*,per[n+i].adds);
printf(H\t電子郵箱:");
scanf(**\t%s**,per[n+i].email);
gets(x);
printfC'\n\t是否繼續(xù)添加?(Y/N)”);
scanf(,'\t%c,,,&sign);
i++;
)
return(n+i);
)(5)刪除模塊
此模塊先利用查找模塊找到所要?jiǎng)h除的信息,然后根據(jù)用戶的選擇來(lái)確定是
否刪除信息,此種調(diào)用到Save函數(shù)。其流程圖如下:
文檔僅供參考
intshanchu(Personper[],intn)
chars[20];
inti=O,j;
printf(”\t請(qǐng)輸入想刪除記錄中的名字:");
scanf(,'%s,',s);
while(strcmp(per[i].name,s)!=0&&i<n)i++;
if(i==n)
{
printf(u\t通訊錄中沒(méi)有此人!\n");
return(n);
for(j=i;j<n-l;j++)
文檔僅供參考
strcpy(per[j].num,per[j+l].num);
strcpy(per[j].name,per[j+l].name);
strcpy(per[j].age,per[j+l].age);
strcpy(per[j].adds,per[j+l].adds);
strcpy(per[j].email,per[j+l].email);
)
printf(n\t\t\t已經(jīng)成功刪除!\n");
return(n-l);
}
(6)查詢模塊
voidchaxun(Personper[],intn)
|
intm;
printf(u\t\n請(qǐng)選擇查詢方式:\n");
printf(n\t?---------------------!\nn);
printf(n\t|1.....姓名查詢|\n'*);
prmtf(H\t|2----電話查詢|\n'*);
printf(H\t|3.....地址查詢|\n'*);
printf(n\t|4.....返回|\nn);
printf(n\t1--------------------\n");
printf("請(qǐng)選擇:");
scanf(,'%d,',&m);
while(m!=l&&m!=2&&m!=3&&m!=4)
文檔僅供參考
printf("輸入錯(cuò)誤請(qǐng)重新選擇:");
scanf(,'%d,',&m);
)
if(m==l)
{
chars[20];
inti=0;
printf(n\t請(qǐng)輸入想查詢的姓名:");
scanf(n\t%sn,s);
while(strcmp(per[i].name,s)!=0&&i<n)i++;
if(i==n)
{
printf(n\t通訊錄中沒(méi)有此人!\n");
return;
)
printf("\t此人編號(hào):%d\n*',per[i].score);〃輸出查詢結(jié)果
printf(u\t此人年齡:%s\n'*,per[i].age);
printf(u\t電話號(hào)碼:%s\n,',per[i].num);
printf(H\t通訊地址:%s\n*',per[i].adds);
printf(H\t電子郵箱:%s\n*',per[i].email);
);
if(m==2)
文檔僅供參考
chars[20];
inti=0;
printf(H\t請(qǐng)輸入想查詢的電話:");scanf(n\t%sn,s);
while(strcmp(per[i].num,s)!=O&&i<n)i++;
if(i==n)
{
printf(n\t通訊錄中沒(méi)有此人!\n");
return;
)
printf(u\t此人編號(hào):%d\n*',per[i].score);/爆I出查詢結(jié)果
printf(H\t此人姓名:%s\n*',per[i].name);
printfC'Xt此人年齡:%s\n'*,per[i].age);
printf(u\t通訊地址:%s\n*',per[i].adds);
printf(u\t電子郵箱:%s\n*',per[i].email);
);
if(m==3)
{
chars[20];
inti=0;
printf(n\t請(qǐng)輸入想查詢的地址:");
scanf(n\t%sn,s);
while(strcmp(per[i].adds,s)!=0&&i<n)
文檔僅供參考
i++;
if(i==n)
{
printf(n\t通訊錄中沒(méi)有此人!\n");
return;
)
printf(n\t此人編號(hào):%d\n”,per[i].score);/爆I出查詢結(jié)果
printf(H\t此人姓名:%s\n'*,per[i].name);
prmtf(H\t此人年齡:%s\n'*,per[i].age);
printf(*'\t電話號(hào)碼:%s\n'*,per[i].num);
printf(*'\t電子郵箱:%s\n*',per[i].email);
);
}
(7)排序模塊
voidpaixu(Personper[],intn)
{
intij;
//printf("\t\按編號(hào)排序
for(i=l;i<n+l;i++)
{
for(j=l;j<n-l;j++)
if((strcmp(per[j].num,per[j+l].num))>O)
文檔僅供參考
strcpy(per->num,per[j].num);
strcpy(per->name,per[j].name);
strcpy(per->age,per[j].age);
strcpy(per->adds,per[j].adds);
strcpy(per->email,per[j].email);
strcpy(per[j+l].num,per->num);
strcpy(per[j+l].name,per->name);
strcpy(per[j+l].age,per->age);
strcpy(per[j+l].adds,per->adds);
strcpy(per[j+l].email,per->email);
)
)
printf("排序成功!\nn);
)
五.測(cè)試結(jié)果
L主菜單
歡迎使用通訊錄管理系統(tǒng),…
加
添
1記
2記
顯
下
3記
寥
胃
4記
5記
6記
7記
0
程
請(qǐng)您選擇
2.顯示所有信息
文檔僅供參考
通訊錄記錄表
露*一一通一一藕一一國(guó)與百甫癡癡癥國(guó)有福
iwSSSSSS.T?-'
3.插入信息
歡迎使用通訊錄管理系統(tǒng),…********
加
添
記
1錄
記
2錄
顯
示
3記
錄
罌
4胃
記
5_錄
記
6錄
^記
7
錄
0^記
霍
程
_-_
請(qǐng)您選擇(0-7〉:i
加
中
1
露
號(hào)1
姓
訊:l
t碼
番
w址
子
密
s箱
是否繼續(xù)添加?〈Y/N)
4.查找模塊
第一步:
在通訊錄中查找記錄
青選擇查詢方式:
-一
姓
1魯普
詢
2香
詢
北址
香
詢
3一
4返回
青選擇:
第二步:
文檔僅供參考
查
貨入
想
詢的
姓
名1
口
^編
人i
此
年
S-距
話
號(hào)
此i
訊
地
電i
子
郵:
?忌1
按
鍵
任
繼
續(xù)
%??
第三步:
,青選擇:2
請(qǐng)蒯入想查詢的電話
此人編號(hào):i
此人姓名:1
此人年凝]
福冊(cè)地址:1
國(guó)W箱:1
甯按任盍鍵繼續(xù)..?
第四步:
查
地
址
入
想
/的
編1
此人
姓#:
盒1
此
人
年1
跌
話
號(hào)1
郵
子1
s=忌
幺
任
鏢
集
按
夕??
5.刪除模塊
—?dú)g迎使用通訊錄管理系統(tǒng)?***********
加
添
1記錄
顯
記
2錄
小
黑
3記
錄
皤
一
4記
錄
5^記
錄
6記
7錄
記
0蓋
程
請(qǐng)您選擇《0-7):3
叢通迅錄中刪除記錄心入…
請(qǐng)輸入想刪除記錄市的名字:1
已經(jīng)成功刪除,
造將件意鍵繼績(jī)...
6.修改模塊
第一步
文檔僅供參考
歡迎使用通訊錄管理系統(tǒng)?***********
加
添
1記錄
于
記
2錄
顯
*記
3錄
4罌
H錄
5H
6錄
己
7錄
已
0霍
呈
一
請(qǐng)您選擇《。-7):5
修
改通訊錄中的記錄
輸
請(qǐng)公想修改的記錄中的名字
號(hào)
編
姓^
年齡:?
電S
訊
子霹號(hào)
麗箱:?
改請(qǐng)按任意鍵繼續(xù)...
第
步
二
窗雙
中的
里
訊錄
記
I錄
T
-
中的
名字
輸
的
青
想
,.
錄
記2
修
l錄
此
訊
更
『
里.
人
亶
任?
續(xù)
按
怠
I目??■
文檔僅供參考
六.課程心得總結(jié)
剛開(kāi)始學(xué)習(xí)c語(yǔ)言,總覺(jué)得很難理解,也很難學(xué)。在這之前,我們已經(jīng)
學(xué)習(xí)了一個(gè)學(xué)期,對(duì)c語(yǔ)言有了一定的了解,可是也僅僅是停留在學(xué)習(xí)了
解的范圍,對(duì)里面的好多東西還是很陌生,并不是很熟練,有著許多欠缺,
更多的在運(yùn)用起來(lái)的時(shí)候還是感到很不好動(dòng)手。
這次的程序設(shè)計(jì)實(shí)驗(yàn)是對(duì)我們進(jìn)入大學(xué)以來(lái)學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言結(jié)果的
一次大檢驗(yàn)。自己動(dòng)手發(fā)現(xiàn)和解決問(wèn)題。經(jīng)過(guò)這,我發(fā)現(xiàn)了自己的許多不
足,平時(shí)沒(méi)有掌握好的知識(shí)在這次實(shí)驗(yàn)中徹底暴露出來(lái),經(jīng)過(guò)不斷思考,不
斷查閱資料和上機(jī)運(yùn)行解決其中大部分問(wèn)題。當(dāng)然,還存在一些問(wèn)題沒(méi)有解
決。我相信在以后的學(xué)習(xí)能夠解決好它們。
課堂上許多關(guān)于C語(yǔ)言的語(yǔ)法規(guī)則,聽(tīng)起來(lái)十分枯燥無(wú)味,也不容易
記住,死記硬背是不可取的。然而要使用C語(yǔ)言這個(gè)工具解決實(shí)際問(wèn)題,
又必須掌握它。經(jīng)過(guò)上機(jī)練習(xí),對(duì)于語(yǔ)法知識(shí)有了感性的認(rèn)識(shí),加深對(duì)它的
理解,在理解的基礎(chǔ)上就會(huì)自然而然地掌握C語(yǔ)言的語(yǔ)法規(guī)定。對(duì)于一些
內(nèi)容自己認(rèn)為在課堂上聽(tīng)懂了,但上機(jī)實(shí)踐中會(huì)發(fā)現(xiàn)原來(lái)理解的偏差,更加
鞏固了學(xué)過(guò)的知識(shí),而且在設(shè)計(jì)的時(shí)候?qū)W要系統(tǒng)的知識(shí),也是一個(gè)較大的挑
戰(zhàn),某一方面知識(shí)的欠缺都將影響到整個(gè)程序的設(shè)計(jì)。
這次的大作業(yè)讓我學(xué)到了很多有用的東西,鞏固了之前的學(xué)習(xí),經(jīng)過(guò)
這個(gè)程序的學(xué)習(xí),使我進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法。相
信對(duì)以后初步掌握開(kāi)發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法,學(xué)會(huì)調(diào)試一個(gè)比較長(zhǎng)
程序的基本方法,學(xué)會(huì)利用流程圖表示算法,進(jìn)一步掌握和提高利用C語(yǔ)
言進(jìn)行程序設(shè)計(jì)的能力。
我認(rèn)為,這次實(shí)習(xí)對(duì)于我是非常有意義的,對(duì)我個(gè)人的影響比較
文檔僅供參考
大,對(duì)我的動(dòng)手能力有了很大的提高。經(jīng)過(guò)這次課程設(shè)計(jì),我對(duì)很多的函數(shù)
有了新的認(rèn)識(shí),也學(xué)會(huì)了運(yùn)用多種函數(shù)。最后感謝完成大作業(yè)過(guò)程中幫助過(guò)
我的老師和同學(xué)。
源代碼:
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
typedefstruct
{
charscore;/*編號(hào)*/
charname[10];/*姓名*/
charnum[15];/*號(hào)碼*/
charemail[20];/*郵箱*/
charage[8];/*年齡*/
charadds[20];/*地址*/
JPerson;
文檔僅供參考
Personpe[80];
intmenu_select()
charc;
do{
system,ds");
printf(*'\t\t\t**********************************************\n*');//窗
口初始化
printf('\t\t\t**********歡迎使用通訊錄管理系統(tǒng)!***********\nn);
printf(,\t\t\t*************『]***************\n'');
printf('\t\t\t**************1.添加記錄***************'n'')?
printf(,\t\t\t**************I2.顯示記錄****************'n'')?
printf('\t\t\t**************I3.刪除記錄****************'n'')?
printf(,\t\t\t**************I4.查詢記錄****************\n'')?
printf('\t\t\t**************I5.修改記錄****************'n'')?
printf(,\t\t\t**************I6.保存記錄****************'n'')?
printf('\t\t\t**************I7.排序記錄****************'n'')?
printf(,\t\t\t**************I0.退出程序****************\n'')?
printf('\t\t\t******************************'n'')?
printf(,\t\t請(qǐng)您選擇(0-7):");
c=getchar();
}while(c<,0,||c>,7');
return(c-'O');
文檔僅供參考
voidpaixu(Personper[],intn)
{
intij;
//printf(”\t\按編號(hào)排序:\n”);
for(i=l;i<n+l;i++)
{
for(j=l;j<n-l;j++)
if((strcmp(per[j].num,per[j+l].num))>O)
{
strcpy(per->num,per[j].num);
strcpy(per->name,per[j].name);
strcpy(per->age,per[j].age);
strcpy(per->adds,per[j].adds);
strcpy(per->email,per[j].email);
strcpy(per[j+l].num,per->num);
strcpy(per[j+l].name,per->name);
strcpy(per[j+l].age,per->age);
strcpy(per[j+l].adds,per->adds);
strcpy(per[j+l].email,per->email);
printf("排序成功!\nn);
文檔僅供參考
intInput(Personper[],intn)
{
inti=0;
charsign,x[10];
while(sign!='n'&&sign!='N')
{
printf(H\t編號(hào):");
scanf(*'\t%d*',&per[n+i].score);
printf("\t姓名:");
scanf(*'\t%s*',per[n+i].name);
printf(H\t年齡:");
scanf(n\t%sn,per[n+i].age);
printf(n\t電話號(hào)碼:“);
scanf(*'\t%s*',per[n+i].num);
printf(H\t通訊住址:");
scanf(*'\t%s*',per[n+i].adds);
printf(n\t電子郵箱:");
scanf('*\t%s'*,per[n+i].email);
gets(x);
prmtf(H\n\t是否繼續(xù)添加?(Y/N)”);
scanf(',\t%c',,&sign);
i++;
文檔僅供參考
return(n+i);
voidScan(Personper[],intn)
|
inti;
FILE*fp;
if((fp=fopen(nrecord.txt"Jrb"))==NULL)〃打開(kāi)文件
{
printf("不能打開(kāi)文件!\n");
exit(l);
)
fscanf(fp,n%dn,&n);〃讀入記錄數(shù)
//fseek(fp,O,l);
for(i=0;i<n;i++)fscanf(fp,,'%-5d%-8s%-6s%-13s%-15s%-15s\n,,,per[i-
l].score,per[i-l].name,per[i-l].age,per[i-l].num,per[i-l].adds,per[i-l].email);
fclose(fp);
*********文件數(shù)據(jù)讀入成功!*************\n'');
)
voidDisplay(Personper[],intn)
|
inti;
printf("................................................................................................\n");
文檔僅供參考
/*格式*/
printf("編號(hào)\t姓名\t年齡\t電話號(hào)碼\t通訊地址\t電子郵箱\n");
prin(f("................................................................................................\n");
for(i=l;i<n+l;i++)
{
printf(,'%-8d%-8s%-8s%-18s%-18s%-8s\n,',per[i-l].score,per[i-
l].name,per[i-l].age,per[i-l].num,per[i-l].adds,per[i-l].email);
if(i>l&&i%10==0)
{
printf(u\t...............................................\nn);
printf(n\tn);
system(*'pause*');
printf(u\t................................................\nn);
)
}prin(f("................................................................................................\n");
system(npausen);
}intshanchu(Personper[],intn)
{
chars[20];
inti=O,j;
printf("請(qǐng)輸入想刪除記錄中的名字:");
scanf(n%sn,s);
while(strcmp(per[i].name,s)!=O&&i<n)i++;
文檔僅供參考
if(i==n)
printf(n\t通訊錄中沒(méi)有此人!\n");
return(n);
)
for(j=i;j<n-l;j++)
{
strcpy(per[j].num,per[j+l].num);
strcpy(per[j].name,per[j+l].name);
strcpy(per[j].age,per[j+l].age);
strcpy(per[j].adds,per[j+l].adds);
strcpy(per[j].email,per[j+1].email);
)
printf(u\t\t\t已經(jīng)成功刪除!\n");
return(n-l);
)
voidchaxun(Personper[],intn)
{
intm;
printf(u\t\n請(qǐng)選擇查詢方式八n");
printf(*'\t?-----------------------!\nu);
printf(n\t|1........姓名查詢|\n'*);
文檔僅供參考
printf(H\t|2.......電話查詢|\nH);
printf(n\t|3.......地址查詢|\nH);
printf(n\t|4-----返回|\nu);
printf(n\t1--------------------\n");
printf("請(qǐng)選擇:“);
scanf(,,%d',,&m);
while(m!=l&&m!=2&&m!=3&&m!=4)
(
printf("輸入錯(cuò)誤請(qǐng)重新選擇;
scanf(,,%d,',&m);
)
if(m==l)
(
chars[20];
inti=0;
printf(n\t請(qǐng)輸入想查詢的姓名:");
scanf(,'\t%s,',s);
while(strcmp(per[i].name,s)!=0&&i<n)i++;
if(i==n)
(
printfC'Xt通訊錄中沒(méi)有此人!\n");
return;
)
文檔僅供參考
printfC'Xt此人編號(hào):%d\n'*,per[i].score);
printf(u\t此人年齡:%s\n'*,per[i].age);
printf(u\t電話號(hào)碼:%s\n,',per[i].num);
printf(H\t通訊地址:%s\n*',per[i].adds);
printfC'Xt電子郵箱:%s\n*',per[i].email);
);
if(m==2)
{
chars[20];
inti=0;
printf(u\t請(qǐng)輸入想查詢的電話:");scanf(,'\t%s,',s);
while(strcmp(per[i].num,s)!=O&&i<n)i++;
if(i==n)
{
printf(n\t通訊錄中沒(méi)有此人!\n");
return;
)
printf(u\t此人編號(hào):%d\n'*,per[i].score);
printf(u\t此人姓名:%s\n*',per[i].name);
printf(H\t此人年齡:%s\n'*,per[i].age);
printf(H\t通訊地址:%s\n*',per[i].adds);
printf(u\t電子郵箱:%s\n'*,per[i].email);
文檔僅供參考
);
if(m==3)
{
chars[20];
inti=0;
printf(n\t請(qǐng)輸入想查詢的地址:");
scanf(u\t%s,',s);
while(strcmp(per[i].adds,s)!=O&&i<n)i++;
if(i==n)
{
printf(n\t通訊錄中沒(méi)有此人!\n");
return;
)
printf(H\t此人編號(hào):%d\n'*,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)慶節(jié)小區(qū)物業(yè)活動(dòng)策劃
- 門(mén)店店長(zhǎng)工作崗位職責(zé)(30篇)
- 冬季領(lǐng)導(dǎo)致辭稿開(kāi)場(chǎng)白(3篇)
- 酒店銷售經(jīng)理的述職報(bào)告
- 會(huì)計(jì)學(xué)原理張?jiān)徴n后參考答案
- 四川省瀘州市(2024年-2025年小學(xué)五年級(jí)語(yǔ)文)統(tǒng)編版隨堂測(cè)試((上下)學(xué)期)試卷及答案
- 2024年航空制造和材料專用設(shè)備項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 多姿多彩的圖形教案
- 2024安全加密芯片技術(shù)規(guī)范
- 2023-2024學(xué)年廣東省深圳市福田區(qū)九年級(jí)(上)期中英語(yǔ)試卷
- 《甘肅省中醫(yī)康復(fù)中心建設(shè)標(biāo)準(zhǔn)(2021版)》
- 高中英語(yǔ)外刊-小貓釣魚(yú)50篇
- PowerPoint培訓(xùn)教程課件
- 醫(yī)療綠色通道醫(yī)聯(lián)體協(xié)議書(shū)
- 高考名句名篇《菩薩蠻 書(shū)江西造口壁》課件
- 崗位整合整治與人員優(yōu)化配置實(shí)施細(xì)則
- 獸醫(yī)病理學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年浙江農(nóng)林大學(xué)
- 大學(xué)生生涯發(fā)展展示 (修改版)
- JT-T 1495-2024 公路水運(yùn)危險(xiǎn)性較大工程專項(xiàng)施工方案編制審查規(guī)程
- 教科版小學(xué)科學(xué)六年級(jí)上學(xué)期期中考試檢測(cè)試卷與答案(共5套)
- 康復(fù)治療技術(shù)的職業(yè)規(guī)劃課件
評(píng)論
0/150
提交評(píng)論