欧美成人永久免费_欧美日本五月天_A级毛片免看在线_国产69无码,亚洲无线观看,精品人妻少妇无码视频,777无码专区,色大片免费网站大全,麻豆国产成人AV网,91视频网络,亚洲色无码自慰

當(dāng)前位置:網(wǎng)站首頁(yè) >> 作文 >> 2023年c++個(gè)人通訊錄管理系統(tǒng) 通訊錄管理系統(tǒng)設(shè)計(jì)報(bào)告(五篇)

2023年c++個(gè)人通訊錄管理系統(tǒng) 通訊錄管理系統(tǒng)設(shè)計(jì)報(bào)告(五篇)

格式:DOC 上傳日期:2024-03-20 17:21:16
2023年c++個(gè)人通訊錄管理系統(tǒng) 通訊錄管理系統(tǒng)設(shè)計(jì)報(bào)告(五篇)
時(shí)間:2024-03-20 17:21:16     小編:zdfb

隨著社會(huì)一步步向前發(fā)展,,報(bào)告不再是罕見(jiàn)的東西,,多數(shù)報(bào)告都是在事情做完或發(fā)生后撰寫(xiě)的。大家想知道怎么樣才能寫(xiě)一篇比較優(yōu)質(zhì)的報(bào)告嗎,?下面是小編帶來(lái)的優(yōu)秀報(bào)告范文,,希望大家能夠喜歡!

c++個(gè)人通訊錄管理系統(tǒng) 通訊錄管理系統(tǒng)設(shè)計(jì)報(bào)告篇一

c語(yǔ)言課程設(shè)計(jì)

(部)

專(zhuān)

業(yè)

級(jí)

學(xué)生姓名

學(xué)

號(hào)

06 月

信息科學(xué)與電氣工程學(xué)院

計(jì)算機(jī)科學(xué)與技術(shù)

計(jì)職141

王雪

140819139 日至

07 月

04 日

周 指導(dǎo)教師

長(zhǎng)

2015 年 6月 23日

一,、課程設(shè)計(jì)目的

將理論教學(xué)中涉及到的知識(shí)點(diǎn)貫穿起來(lái),對(duì)不同的數(shù)據(jù)類(lèi)型,、程序控制結(jié)構(gòu),、數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計(jì)題目進(jìn)行綜合性應(yīng)用,,對(duì)所學(xué)知識(shí)達(dá)到融會(huì)貫通的程度,。通過(guò)課程設(shè)計(jì),,學(xué)生在下述各方面的能力應(yīng)該得到鍛煉:

(1)進(jìn)一步鞏固、加深學(xué)生所學(xué)專(zhuān)業(yè)課程《c++程序設(shè)計(jì)語(yǔ)言》的基本理論知識(shí),,理論聯(lián)系實(shí)際,,進(jìn)一步培養(yǎng)學(xué)生綜合分析問(wèn)題,解決問(wèn)題的能力,。

(2)全面考核學(xué)生所掌握的基本理論知識(shí)及其實(shí)際業(yè)務(wù)能力,,從而達(dá)到提高學(xué)生素質(zhì)的最終目的。

(3)利用所學(xué)知識(shí),,開(kāi)發(fā)小型應(yīng)用系統(tǒng),,掌握運(yùn)用c++語(yǔ)言編寫(xiě)調(diào)試應(yīng)用系統(tǒng)程序,,訓(xùn)練獨(dú)立開(kāi)發(fā)應(yīng)用系統(tǒng),,進(jìn)行數(shù)據(jù)處理的綜合能力。

(4)對(duì)于給定的設(shè)計(jì)題目,,如何進(jìn)行分析,,理清思路,并給出相應(yīng)的數(shù)學(xué)模型,。

(5)掌握結(jié)構(gòu)化程序設(shè)計(jì)方法,,熟悉面向?qū)ο蟪绦蛟O(shè)計(jì)方法。(6)熟練掌握c++語(yǔ)言的基本語(yǔ)法,,靈活運(yùn)用各種數(shù)據(jù)類(lèi)型,。(7)進(jìn)一步掌握在集成環(huán)境下如何調(diào)試程序和修改程序。設(shè)計(jì)功能

錄入聯(lián)系人信息(包括姓名,、電話(huà)號(hào)碼,、地址等信息);通訊錄管理系統(tǒng)要求實(shí)現(xiàn)以下功能:

1,、輸入每一位聯(lián)系人記錄,,將其信息存入文件中。

2,、查詢(xún)所有聯(lián)系人的信息,,并按可選的自定義規(guī)則進(jìn)行排序;

3,、記錄修改,,將修改的記錄信息保存于文件中。設(shè)計(jì)要求

1,、設(shè)一個(gè)通信錄由以下幾項(xiàng)數(shù)據(jù)信息構(gòu)成: 數(shù)據(jù)項(xiàng) 類(lèi)型

姓名 字符串

地址 字符串

郵政編碼 字符串

電話(huà)號(hào)碼 字符串

試為通信錄數(shù)據(jù)定義類(lèi)型和定義通信錄變量,,實(shí)現(xiàn)功能:存取、顯示,、刪除記錄,、查詢(xún)記錄等功能,。

2、要求:界面友好,,易于操作 總體設(shè)計(jì) 系統(tǒng)功能模塊圖:

添加:可以添加通訊錄記錄,,依次輸入編號(hào)、姓名,、年齡,、電話(huà)號(hào)碼、通訊地址,、電子郵箱等后,,會(huì)提示是否繼續(xù)添加。

顯示:可以以表格形式輸出所有通訊錄里的記錄

刪除:輸入欲刪除的那個(gè)人的名字后,,會(huì)自動(dòng)刪除他(她)的記錄內(nèi)容 查詢(xún):可以選擇用姓名,、電話(huà)、地址三種方式查詢(xún)

修改:輸入欲修改的那個(gè)人的名字后,,再依次輸入編號(hào),、姓名、年齡,、電話(huà)號(hào)碼,、通訊地址、電子郵箱即可完成修改

保存:,,輸入文件名(帶后綴名)后,,即可將通訊錄信息保存到文件

課程設(shè)計(jì)名稱(chēng)及內(nèi)容

課程設(shè)計(jì)名稱(chēng):?jiǎn)雾?xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)

設(shè)計(jì)內(nèi)容:設(shè)計(jì)并實(shí)現(xiàn)一個(gè)單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)。該系統(tǒng)可以完成試題錄入,、試題抽取,、自動(dòng)判卷等功能。

任務(wù)和要求

功能要求:

(1)用文件保存試題庫(kù),。(每個(gè)試題包括題干,、4個(gè)備選答案、標(biāo)準(zhǔn)答案)(2)試題錄入:可隨時(shí)增加試題到試題庫(kù)中

(3)試題抽?。好看螐脑囶}庫(kù)中可以隨機(jī)抽出n道題(n由鍵盤(pán)輸入)(4)答題:用戶(hù)可實(shí)現(xiàn)輸入自己的答案

(5)自動(dòng)判卷:系統(tǒng)可根據(jù)用戶(hù)答案與標(biāo)準(zhǔn)答案的對(duì)比實(shí)現(xiàn)判卷并給出成績(jī),。

(二)其它要求:

(1)只能使用c/c++語(yǔ)言,源程序要有適當(dāng)?shù)淖⑨專(zhuān)钩绦蛉菀组喿x(2)至少采用文本菜單界面(如果能采用圖形菜單界面更好)(3)學(xué)生可自動(dòng)增加新功能模塊(視情況可另外加分)

主要知識(shí)點(diǎn)

l 面向?qū)ο蟪绦蛟O(shè)計(jì)方法

l 界面制作,,switch的應(yīng)用,。l 類(lèi)和對(duì)象。l 動(dòng)態(tài)數(shù)組(鏈表)類(lèi)模板,。l 文件的讀寫(xiě),。

五、其他

程序設(shè)計(jì)可在microsoft vc++6.0,、borland c++ builder環(huán)境下進(jìn)行,。

六,、參考資料

【1】《c語(yǔ)言程序設(shè)計(jì)》,譚浩強(qiáng)編,,清華大學(xué)出版社,,2008年 出版 【2】《c語(yǔ)言程序設(shè)計(jì)》,吳明發(fā)編,,北京理工大學(xué)出版社,,2007年出版 【3】《c語(yǔ)言參考手冊(cè)》邱仲潘 機(jī)械工業(yè)出版社,2004年出版

【4】《c語(yǔ)言課程設(shè)計(jì)案例精編》 姜靈之 清華大學(xué)出版社 2008年出版

詳細(xì)設(shè)計(jì)(1).通訊錄: 主要代碼

#include

#include

#include

struct student

//結(jié)構(gòu)體 {

};class inter { private: student st[35];char no[13];char name[20];char address[100];char tel_no[12];char post_code[7];char e_mail[40];public: void add(char no[13],char name[20],char address[100],char tel_no[12],char post_code[7],char e_mail[40]);

void del(char name[20]);void find1(char no[13]);void find2(char name[20]);void list1();void list2();int correct(char name[20]);void read();void write();void format();int back(){

cout<<“

返回還是回到主菜單(t為退出,,r為回到主菜單,,不計(jì)大小寫(xiě)):

”;

} void print(int i){

cout<<“學(xué)號(hào):”<

>back;if(back=='r'||back=='r')return 1;else return 0;

};

} cout<<“電話(huà)號(hào)碼:”<

inter a;();char select1;cout<

計(jì)職141

” <

<<“tt★★★★★★★★★★★★★★★★★★★★★★★★★★” <

※” <

通 迅 錄

※” <

※” <

※” <

※” <

※” <

<<“tt

”<

<<“ttt選擇 :”;cin>>select1;

switch(select1){ case '1':cout<<“

(1)添加:”<

cout<<“

(2)刪除:”<

(3)修改:”<

請(qǐng)選擇:”<

>select2;switch(select2){ case '1':cout<<“

輸入添加的資料:”<

char name[20];

char address[100];

char tel_no[12];

char post_code[7];

char e_mail[40];

cout<<“

輸入學(xué)號(hào):”<

>no;cout<<“

輸入姓名:”<

>name;cout<<“

輸入地址:”<

>address;cout<<“

輸入電話(huà)號(hào)碼:”<

>tel_no;cout<<“

輸入郵編:”<

>post_code;

cout<<“

輸入e_mail:”<

>e_mail;(no,name,address,tel_no,post_code,e_mail);

cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,,不計(jì)大小寫(xiě)):

”;

char back_add;cin>>back_add;if(back_add=='r'||back_add=='r')goto top;else goto bottom;break;case '2':cout<<“

輸入要?jiǎng)h除人的姓名:”<

char name2[20];cin>>name2;(name2);

cout<<“

返回還是回到主菜單(t為退出,,r為回到主菜單,不計(jì)大小寫(xiě)):

”;

char back_del;cin>>back_del;if(back_del=='r'||back_del=='r')goto top;else goto bottom;break;case '3':cout<<“

輸入需要修改人的姓名:”<

char name3[20];cin>>name3;if(t(name3))

} goto top;else goto bottom;break;break;case '2':cout<<“

(1)根據(jù)姓名查找”<

cout<<“

(2)根據(jù)學(xué)號(hào)查找”<

請(qǐng)選擇: ”;cin>>select3;switch(select3){ case '1':char name4[20];

cout<<“

輸入姓名: ”;cin>>name4;2(name4);

cout<<“

返回還是回到主菜單(t為退出,,r為回到主菜單,,不計(jì)大小寫(xiě)):

”;

char back_f1;cin>>back_f1;if(back_f1=='r'||back_f1=='r')goto top;else goto bottom;break;case '2':char no4[13];cout<<“

輸入學(xué)號(hào): ”;cin>>no4;

1(no4);

cout<<“

返回還是回到主菜單(t為退出,,r為回到主菜單,,不計(jì)大小寫(xiě)):

”;

} break;char back_f2;cin>>back_f2;if(back_f2=='r'||back_f2=='r')goto top;else goto bottom;break;case '3':();cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,,不計(jì)大小寫(xiě)):

”;

char back_w;cin>>back_w;if(back_w=='r'||back_w=='r')goto top;else goto bottom;break;case '4':cout<<“

(1)按學(xué)號(hào)排序:”<

cout<<“

(2)按姓名排序:”<

請(qǐng)選擇:”;char select4;cin>>select4;switch(select4){ case '1':1();

cout<<“

返回還是回到主菜單(t為退出,,r為回到主菜單,不計(jì)大小寫(xiě)):

”;

char back;cin>>back;if(back=='r'||back=='r')goto top;else goto bottom;break;case '2':2();

cout<<“

返回還是回到主菜單(t為退出,,r為回到主菜單,,不計(jì)大小寫(xiě)):

”;

} break;char back1;cin>>back1;if(back1=='r'||back1=='r')goto top;else goto bottom;break;case '5':();cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,,不計(jì)大小寫(xiě)):

”;

char back_r;cin>>back_r;if(back_r=='r'||back_r=='r')

goto top;else goto bottom;break;case '6':cout<<“

請(qǐng)確認(rèn)刪除所有資料!(y/n)

”;

char select5;cin>>select5;if(select5=='y'||select5=='y')();cout<<“

返回還是回到主菜單(t為退出,,r為回到主菜單,不計(jì)大小寫(xiě)):

”;

} char back_f;cin>>back_f;if(back_f=='r'||back_f=='r')goto top;else goto bottom;break;bottom:cout<<“

★★★★★★★★★★★★歡迎使用本軟件,!★★★★★★★★★★★

”<

void inter::add(char no[13],char name[20],char address[100],char tel_no[12],char post_code[7],char e_mail[40]){ int x=1;for(int i=0;i<35;i++)return 0;

} {

} if(!strcmp(st[i].no,“0”)){

} if(x==0)break;strcpy(st[i].address,address);strcpy(st[i].e_mail,e_mail);strcpy(st[i].name,name);strcpy(st[i].no,no);strcpy(st[i].post_code,post_code);strcpy(st[i].tel_no,tel_no);x=0;//刪除聯(lián)系人

void inter::del(char name[20]){

int x=1;for(int i=0;i<35;i++){ if(!strcmp(st[i].name,name)){

strcpy(st[i].address,“0”);

strcpy(st[i].e_mail,“0”);strcpy(st[i].name,“0”);strcpy(st[i].no,“0”);strcpy(st[i].post_code,“0”);strcpy(st[i].tel_no,“0”);

}

} } else x=0;if(x==0)cout<<“

error:輸入姓名錯(cuò)誤,!”<

int inter::correct(char name[30]){

int x;for(int i=0;i<35;i++){

} char select;cout<<“

(1)修改姓名:”<

(2)修改學(xué)號(hào):”<

(3)修改地址:”<

(4)修改郵編:”<

(5)修改電話(huà)號(hào)碼:”<

(6)修改e_mail:”<

請(qǐng)選擇:”;cin>>select;switch(select){ case '1':cout<<“

輸入要修改的姓名:”;char name1[30];if(!strcmp(st[i].name,name))x=i;

cin>>name1;strcpy(st[x].name,name1);cout<<“

修改成功!”<

輸入要修改的學(xué)號(hào):”;

char no1[13];cin>>no1;strcpy(st[i].no,no1);cout<<“

修改成功,!”<

輸入要修改的地址:”;

char address1[100];cin>>address1;strcpy(st[x].address,address1);cout<<“

修改成功,!”<

輸入要修改的郵編:”;

char post_code1[7];cin>>post_code1;strcpy(st[x].post_code,post_code1);cout<<“

修改成功!”<

輸入要修改的電話(huà)號(hào)碼:”;char tel_no1[12];

cin>>tel_no1;strcpy(st[x].tel_no,tel_no1);cout<<“

修改成功,!”<

輸入要修改的e_mail:”;

char e_mail1[40];

cin>>e_mail1;

strcpy(st[x].e_mail,e_mail1);

cout<<“

修改成功,!”<

return back();

break;} } //按學(xué)號(hào)查詢(xún)聯(lián)系人

void inter::find1(char no[13]){ int x,y=1,z=1;for(int i=0;i<35;i++){

if(!strcmp(st[i].no,no))

{

x=i;

z=0;

}

else y=0;

if(z==0)break;

}

if(y==0)cout<<“

輸入的學(xué)號(hào)查找不到!,!”<

print(x);} //按姓名查詢(xún)聯(lián)系人

void inter::find2(char name[20]){

} //讀取文件 void inter::read(){ int x,y=1,z=1;for(int i=0;i<35;i++){

} if(y==0)cout<<“

輸入的姓名查找不到??!”<

} else y=0;if(z==0)break;x=i;z=0;

print(x);

char name1[20];cout<<“

輸入你要導(dǎo)入的文件名: ”;cin>>name1;strcat(name1,“.txt”);ifstream file(name1);char line[120];char no[120];char name[120];char address[120];char post_code[120];char tel_no[120];char e_mail[120];int time=0;e(line,120);while(!()){

for(int k=0;k<35;k++){

if(time==0){ strcpy(no,line);time=1;for(int i=0;i<120;i++){

if(no[i]==':'){ i++;for(int j=0;j<13;j++)

}

} {

}

st[k].no[j]=no[i];i++;e(line,120,'n');} if(time==1){

} if(time== 2){ strcpy(name,line);time=2;

for(int i=0;i<120;i++){

} e(line,120,'n');if(name[i]==':'){

} i++;for(int j=0;j<20;j++){

}

st[k].name[j]=name[i];i++;

} strcpy(address,line);time=3;for(int i=0;i<120;i++){

} e(line,120,'n');if(address[i]==':'){

} i++;for(int j=0;j<100;j++){

}

st[k].address[j]=address[i];i++;if(time==3){

strcpy(tel_no,line);time=4;for(int i=0;i<120;i++){

if(tel_no[i]==':'){

i++;for(int j=0;j<12;j++){

st[k].tel_no[j]=tel_no[i];

}

}

} }

i++;e(line,120,'n');

if(time==4){

} if(time==5){ strcpy(e_mail,line);strcpy(post_code,line);time=5;for(int i=0;i<120;i++){

} e(line,120,'n');if(post_code[i]==':'){

} i++;for(int j=0;j<7;j++){

}

st[k].post_code[j]=post_code[i];i++;

}

}

} } time=0;for(int i=0;i<120;i++){

} e(line,120,'n');if(e_mail[i]==':'){

} i++;for(int j=0;j<40;j++){

}

st[k].e_mail[j]=e_mail[i];i++;

();//寫(xiě)入文件 void inter::write(){

char name[20];cout<<“

輸入要保存的文件名

”;cin>>name;strcat(name,“.txt”);ofstream savefile(name);for(int i=0;i<35;i++)

} {

} save();savefile << “學(xué)號(hào):”<

savefile << “姓名:”<

savefile << “地址:”<

savefile << “電話(huà)號(hào)碼:”<

savefile << “郵編:”<

savefile << “e_mail:”<

strcpy(no,st[j].no);strcpy(st[j].no,st[j+1].no);for(int i=0;i<34;i++){

for(int j=0;j<35-i;j++){

if(strcmp(st[j].no,st[j+1].no)>0){ char no[13];

char name[20];

char address[100];

char tel_no[12];

char post_code[7];

char e_mail[40];

strcpy(st[j+1].no,no);

strcpy(name,st[j].name);strcpy(st[j].name,st[j+1].name);strcpy(st[j+1].name,name);

strcpy(address,st[j].address);

} for(int k=0;k<35;k++){ int x=0;if(strcmp(st[k].no,“0”))

}

} strcpy(st[j].address,st[j+1].address);strcpy(st[j+1].address,address);

strcpy(tel_no,st[j].tel_no);strcpy(st[j].tel_no,st[j+1].tel_no);strcpy(st[j+1].tel_no,tel_no);

strcpy(post_code,st[j].post_code);strcpy(st[j].post_code,st[j+1].post_code);strcpy(st[j+1].post_code,post_code);

strcpy(e_mail,st[j].e_mail);strcpy(st[j].e_mail,st[j+1].e_mail);strcpy(st[j+1].e_mail,e_mail);

{

} if(x==1){ cout<

} } } //按姓名排序 void inter::list2(){

for(int i=0;i<34;i++){

for(int j=0;j<35-i;j++){

if(strcmp(st[j].name,st[j+1].name)>0){ char no[13];

char name[20];

char address[100];

char tel_no[12];

char post_code[7];

char e_mail[40];

strcpy(no,st[j].no);strcpy(st[j].no,st[j+1].no);strcpy(st[j+1].no,no);

strcpy(name,st[j].name);strcpy(st[j].name,st[j+1].name);strcpy(st[j+1].name,name);

strcpy(address,st[j].address);

} for(int k=0;k<35;k++){

}

} strcpy(st[j].address,st[j+1].address);strcpy(st[j+1].address,address);

strcpy(tel_no,st[j].tel_no);strcpy(st[j].tel_no,st[j+1].tel_no);strcpy(st[j+1].tel_no,tel_no);

strcpy(post_code,st[j].post_code);strcpy(st[j].post_code,st[j+1].post_code);strcpy(st[j+1].post_code,post_code);

strcpy(e_mail,st[j].e_mail);strcpy(st[j].e_mail,st[j+1].e_mail);strcpy(st[j+1].e_mail,e_mail);

}

} int x=0;if(strcmp(st[k].no,“0”)){

} if(x==1){

} cout<

void inter::format(){

} for(int i=0;i<35;i++){

} strcpy(st[i].address,“0”);strcpy(st[i].e_mail,“0”);strcpy(st[i].name,“0”);strcpy(st[i].no,“0”);strcpy(st[i].post_code,“0”);strcpy(st[i].tel_no,“0”);

(2).工作流程圖:

1.通訊錄主界面

2.添加:添加通訊錄記錄

3.顯示:查詢(xún)通訊錄記錄

4.刪除:刪除通訊錄記錄

5.修改:修改通訊錄記錄

小結(jié)(收獲和建議)這次的程序?qū)嵲O(shè)計(jì)實(shí)驗(yàn)是對(duì)我們進(jìn)入大學(xué)以來(lái)學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言結(jié)果的一次大檢驗(yàn),面對(duì)許多不懂得知識(shí),,通過(guò)他人的幫助,,以及參考他人的成果,自己動(dòng)手嘗試,,修改等,,才完成。這個(gè)課程設(shè)計(jì),,花費(fèi)了我近兩個(gè)星期的時(shí)間,,這也是因?yàn)闀?shū)本不熟悉。通過(guò)這次設(shè)計(jì),,使我對(duì)《c語(yǔ)言》這門(mén)課程有了更深一步的了解,。它不僅是計(jì)算機(jī)程序設(shè)計(jì)的重要理論技術(shù)基礎(chǔ),也在我們電子與信息專(zhuān)業(yè)的學(xué)習(xí)中占據(jù)著十分重要的地位,。同時(shí)也使我們知道,,要學(xué)好這門(mén)課程,僅學(xué)習(xí)書(shū)本上的知識(shí)是不夠的,,還要有較強(qiáng)的實(shí)踐能力,。因?yàn)槲覀儗W(xué)習(xí)知識(shí)就是為了實(shí)踐。而只有多實(shí)踐,,多編寫(xiě)程序,,才能更好的理解與掌握書(shū)本上的東西。利用計(jì)算機(jī)來(lái)編寫(xiě)程序,,也讓我感受到了編程的樂(lè)趣,,極大的激發(fā)了我的興趣。

c++個(gè)人通訊錄管理系統(tǒng) 通訊錄管理系統(tǒng)設(shè)計(jì)報(bào)告篇二

#include

#include

#include

#include

#include

#include

class information {

char name[20];

char tel[12];

char kind;

char email[50];public:

information(){}

information(char n[],char t[],char k,char e[])

{

strcpy(name,n);

strcpy(tel,t);

kind=k;

strcpy(email,e);

}

friend void main();};void main(){

cout<<“☆★☆★☆★☆★☆★☆”<

cout<<“

菜單

n”;

cout<<“---------------------”<

cout<<“1 信息錄入n”<<“2 按姓名查找n”<<“3 修改n”<<“6 刪除n”<<“0 退出n”;

cout<<“請(qǐng)選擇: ”;

char p;char w;

information *s[16];

ofstream *file[16];

ofstream *file2[30];

int i=0;

int j2=0;

int j=0;

bool flag2=0;

do

{

cin>>p;

if((p>='0'&&p<='8'))

flag2=1;

按類(lèi)別查找n“<<”4 插入n“<<”5

else

cout<<“指令錯(cuò)誤,!請(qǐng)重新輸入:”<

}while(flag2==0);

do{

switch(p)

{

case '1':

{

char c;

char name[20];char tel[12];char kind;char email[50];

do{

bbb:

cout<<“請(qǐng)輸入姓名”<

cin>>name;

cout<<“請(qǐng)輸入電話(huà)號(hào)碼:”<

cin>>tel;

eee:

cout<<“請(qǐng)輸入類(lèi)別(a辦公類(lèi)b個(gè)人類(lèi)c商務(wù)類(lèi)):”<

cin>>kind;

if(kind!='a'&&kind!='b'&&kind!='c')

{

cout<<“類(lèi)別錯(cuò)誤,,請(qǐng)重輸”;

goto eee;

}

cout<<“請(qǐng)輸入電子郵箱:”<

cin>>email;

file[j]=new ofstream(“d: ”,ios::ate);

*file[j]<<“姓名”<

j++;

s[i]=new information(name,tel,kind,email);

for(int y=0;y

{

if(strcmp(s[y]->tel,s[i]->tel)==0)

{cout<<“輸入重復(fù)電話(huà)號(hào)碼,請(qǐng)重輸!”<

goto bbb;}

}

for(int u=0;u

{

if(strcmp(s[u]->name,s[i]->name)==0)

{

cout<<“輸入重名,,請(qǐng)重輸!”<

goto bbb;

}} i++;if(i==15){

cout<<“內(nèi)存已滿(mǎn),,無(wú)法錄入!”<

break;

}

cout<<“數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)”<

cin>>c;

flag2=0;

do

{

if(c!='y'&&c!='n')

{

cout<<“指令錯(cuò)誤,!請(qǐng)重新輸入,!”<

cin>>c;

}

else

flag2=1;

}while(flag2==0);

}while(c=='y');

break;

}

case '2':

{

char n[20];int j=0;char c;

do{

int flag=0;

cout<<“請(qǐng)輸入你要查詢(xún)的人員姓名”<

cin>>n;

for(int j=0;j

{

if(strcmp(n,(*s[j]).name)==0)

{

flag=1;

cout<<“您要查詢(xún)的是:”<<(*s[j]).name<

cout<<“電話(huà)號(hào)碼 ”<<(*s[j]).tel<

}

}

if(flag==0)

cout<<“對(duì)不起!您要查詢(xún)的人不存在!”<

cout<<“您想繼續(xù)查詢(xún)嗎?(y/n)”<

cin>>c;

if(c!='y'&&c!='n')

{

cout<<“指令錯(cuò)誤!請(qǐng)重新輸入,!”<

cin>>c;

}

}

while(c=='y');

break;

}

case '3':

{

char k;int j=0;char c;

do{

int flag=0;

cout<<“請(qǐng)輸入你要查詢(xún)的類(lèi)別”<

cin>>k;

for(int j=0;j

{

if(k==(*s[j]).kind)

{

flag=1;

cout<<“您要查詢(xún)的是:”<<(*s[j]).name<

cout<<“電話(huà)號(hào)碼 ”<<(*s[j]).tel<

}

}

if(flag==0)

cout<<“對(duì)不起!您要查詢(xún)的不存在!”<

cout<<“您想繼續(xù)查詢(xún)嗎?(y/n)”<

cin>>c;

if(c!='y'&&c!='n')

{

cout<<“指令錯(cuò)誤,!請(qǐng)重新輸入!”<

cin>>c;

}

}

while(c=='y');

break;

}

case '4':

{

char name[20];char tel[12];char kind;char email[50];

char c;int j=0;

do

{

aaa:

cout<<“請(qǐng)輸入您要插入的人的姓名:”<

cin>>name;

cout<<“請(qǐng)輸入電話(huà)號(hào)碼:”<

cin>>tel;

cout<<“請(qǐng)輸入類(lèi)別(a辦公類(lèi)b個(gè)人類(lèi)c商務(wù)類(lèi)):”<

fff:

cin>>kind;

if(kind!='a'&&kind!='b'&&kind!='c')

{cout<<“類(lèi)別錯(cuò)誤,,請(qǐng)重輸”;

goto fff;}

cout<<“請(qǐng)輸入電子郵箱:”<

cin>>email;

file[j]=new ofstream(“d: ongxunlu”,ios::ate);

*file[j]<<“姓名”<

j++;

s[i]=new information(name,tel,kind,email);

for(int y=0;y

{

if(strcmp(s[y]->tel,s[i]->tel)==0)

{cout<<“輸入重復(fù)電話(huà)號(hào)碼,,請(qǐng)重輸!”<

goto aaa;}}

for(int u=0;u

{

if(strcmp(s[u]->name,s[i]->name)==0)

{cout<<“輸入重名,,請(qǐng)重輸!”<

goto aaa;}}

i++;

if(i==15||i==16)

{cout<<“內(nèi)存已滿(mǎn),無(wú)法錄入!”<

cout<<“數(shù)據(jù)錄入成功,,想繼續(xù)錄入嗎(y/n)”<

cin>>c;

if(c!='y'&&c!='n')

{

cout<<“指令錯(cuò)誤,!請(qǐng)重新輸入!”<

cin>>c;

}

}while(c=='y');qqq:

break;

}

case '5':

{

char name[20];flag2=0;

char c;

do

{

cout<<“請(qǐng)輸入您要修改的人的姓名:”<

cin>>name;

for(int h=0;h

{

if(strcmp(name,s[h]->name)==0)

{

flag2=1;

cout<<“請(qǐng)輸入新的電話(huà)號(hào)碼:”<

cin>>s[h]->tel;

cout<<“請(qǐng)輸入新的類(lèi)別(a辦公類(lèi)b個(gè)人類(lèi)c商務(wù)類(lèi)):”<

cin>>s[h]->kind;

箱:“<

}

}

cout<<”請(qǐng)輸入新的電子郵cin>>s[h]->email;

cout<<“數(shù)據(jù)修改成功,!”;

if(flag2==0)

{

cout<<“您要修改的人本來(lái)就不存在,!請(qǐng)檢查重新輸入!”<

}

cout<<“想繼續(xù)修改嗎(y/n)”<

>c;

if(c!='y'&&c!='n'){

“<

}

case '6':

{

存在,!請(qǐng)檢查輸入的正確性,!”;

“<

cout<<”指令錯(cuò)誤!請(qǐng)重新輸入,!

cin>>c;

} }while(c=='y');break;char name[20];bool flag3=0;char c;do{

cout<<“請(qǐng)輸入您要?jiǎng)h除的人的姓名:”<

cin>>name;

for(int h=0;h

{

if(strcmp(name,s[h]->name)==0)

{

flag3=1;

i--;

do{

s[h]=s[h+1];

h++;

}while(h<=i);

}

}

if(flag3==0)

cout<<“您要求刪除的對(duì)象本來(lái)就不

cout<<”要繼續(xù)刪除嗎,?(y/n)“<

cin>>c;

if(c!='y'&&c!='n')

{

cout<<”指令錯(cuò)誤!請(qǐng)重新輸入,!

cin>>c;

}

}while(c=='y');

break;

}

case '0':

{

exit(0);break;

}}

cout<<“您想繼續(xù)進(jìn)行其他操作嗎?(y/n)”<

bool flag4=0;

do

{

cin>>w;

if(w!='y'&&w!='n')

cout<<“指令錯(cuò)誤,!請(qǐng)重新輸入!”<

else

flag4=1;

}while(flag4==0);

if(w=='y')

{

cout<<“※※※※※※※※※※n”<<“2 按姓名查找n”<<“3 按類(lèi)別查找n”<<“4 插入n”<<“5 修改n”<<“6 刪除n”<<“0 退出n”;

cin>>p;}

else exit(0);}while(w=='y');for(int x=0;x

delete s[x];

cout<<“delete all members!”<

}

c++個(gè)人通訊錄管理系統(tǒng) 通訊錄管理系統(tǒng)設(shè)計(jì)報(bào)告篇三

“學(xué)生通訊信息記錄系統(tǒng)”的設(shè)計(jì)與實(shí)現(xiàn)

一,、設(shè)計(jì)要求

1.問(wèn)題的描述

“學(xué)生通訊信息記錄系統(tǒng)”是為了實(shí)現(xiàn)快速的對(duì)學(xué)生信息進(jìn)行錄入,、刪除、查找,、顯示,。各個(gè)功能靠函數(shù)實(shí)現(xiàn),。2.需求分析

(1)應(yīng)該包括以下功能:輸入信息,、顯示信息、查找以姓名作為關(guān)鍵字,、刪除信息(2)作為一個(gè)完整的系統(tǒng),,應(yīng)具有友好的界面和較強(qiáng)的容錯(cuò)能力

二、概要設(shè)計(jì)

1.主界面設(shè)計(jì)

2.儲(chǔ)存結(jié)構(gòu)設(shè)計(jì)

本系統(tǒng)主要采用鏈表類(lèi)型來(lái)表示儲(chǔ)存“學(xué)生信息記錄系統(tǒng)”中的信息,。程序中定義了address結(jié)構(gòu),。其中,包括學(xué)生的姓名,、宿舍信息和學(xué)號(hào),。3.系統(tǒng)功能的設(shè)計(jì)

1)輸入信息——enter();2)顯示信息———display();3)查找以姓名作為關(guān)鍵字 ———search();4)刪除信息———delete();

三、模塊設(shè)計(jì)

1.模塊設(shè)計(jì)

本成績(jī)包含兩個(gè)模塊:主程序模塊和鏈表操作模塊,。2.系統(tǒng)的程序及功能設(shè)計(jì)

(1)插入學(xué)生信息

void enter()

/*輸入函數(shù),本函數(shù)循環(huán)輸入資料,,當(dāng)輸入姓名為空時(shí)退出*/ {

struct address *info;

/*定義當(dāng)前結(jié)點(diǎn)*/

for(;;){

info=(struct address *)malloc(sizeof(struct address));

/*為當(dāng)前結(jié)點(diǎn)分配空間*/

if(!info)

{

printf(“n out of memory”);

exit(0);

/*如果分配空間失敗,退出程序*/

}

printf(“輸入空姓名結(jié)束:n”);

inputs(“請(qǐng)輸入 姓名:”,info->name,10);

if(!info->name[0])

break;

/*如果輸入姓名為空,,結(jié)束循環(huán)*/

inputs(“請(qǐng)輸入

院系:”,info->street,50);

inputs(“請(qǐng)輸入宿舍樓:”,info->city,15);

inputs(“請(qǐng)輸入宿舍號(hào):”,info->state,15);

inputs(“請(qǐng)輸入

學(xué)號(hào):”,info->eip,7);

insert(info,&start,&last);

/*調(diào)用結(jié)點(diǎn)插入函數(shù)*/ } }

五,、測(cè)試分析

1.輸入學(xué)生信息

4.刪除信息

5.退出

struct address *start;

/*首結(jié)點(diǎn)*/ struct address *last;

/*尾結(jié)點(diǎn)*/ struct address *find(char *);

/*聲明查找函數(shù)*/

void enter();

/*函數(shù)聲明*/ void search();void save();

void load();void list();void ddelete(struct address **start,struct address **last);void insert(struct address *i,struct address **start,,struct address **last);void inputs(char *,char *,int);void display(struct address *);int menu_select(void);

void main(){

int c;

printf(“n

歡迎使用學(xué)生通訊錄系統(tǒng)”);

printf(“nn”);

printf(“t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“t┃************************************************************┃n”);

printf(“t┃*

*

*┃n”);

printf(“t┃*

1.輸入信息

*

2.刪除信息

*┃n”);

printf(“t┃*

*

*┃n”);

printf(“t┃************************************************************┃n”);

printf(“t┃*

*

*┃n”);

printf(“t┃*

3.顯示信息

*

4.查找

*┃n”);

printf(“t┃*

*

*┃n”);

printf(“t┃************************************************************┃n”);

printf(“t┃

5.退出

┃ n”);

printf(“t┃************************************************************┃n”);

exit(0);

/*如果分配空間失敗,退出程序*/ }

printf(“輸入空姓名結(jié)束:n”);

inputs(“請(qǐng)輸入 姓名:”,info->name,10);

if(!info->name[0])break;

/*如果輸入姓名為空,,結(jié)束循環(huán)*/

inputs(“請(qǐng)輸入

院系:”,info->street,50);

inputs(“請(qǐng)輸入宿舍樓:”,info->city,15);

inputs(“請(qǐng)輸入宿舍號(hào):”,info->state,15);

inputs(“請(qǐng)輸入

學(xué)號(hào):”,info->eip,7);

insert(info,&start,&last);

/*調(diào)用結(jié)點(diǎn)插入函數(shù)*/ }

void inputs(char *prompt,char *s,int count)

/*輸入函數(shù),,有越界檢測(cè)功能*/ {

char p[255];

do }

i->next=null;

i->prior=null;

*last=i;

*start=i;

return;

}

else {

(*last)->next=i;

i->prior=*last;i->next=null;

*last=(*last)->next;

}

}

void ddelete(struct address **start,struct address **last)

/*刪除函數(shù)*/

{ struct address *info;

char s[80];

inputs(“請(qǐng)輸入 姓名:”,s,10);

/*輸入欲刪除結(jié)點(diǎn)的name域內(nèi)容*/

info=find(s);

if(info)

{

printf(“deleting......n”);if(*start==info)

點(diǎn)的下驅(qū)作為新的首結(jié)點(diǎn)(入口)*/

{ *start=info->next;

if(*start)(*start)->prior=null;

else *last=null;

}

else

結(jié)點(diǎn)*/

{

info->prior->next=info->next;

info=info->next;

}

printf(“未找到相關(guān)信息.n”);

return null;}

/*輸出整個(gè)鏈表*/ void list(void){ struct address *info;

info=start;

if(info==null)printf(“當(dāng)前記錄為空!”);else printf(“姓名t院系t宿舍樓t宿舍號(hào)t學(xué)號(hào)tn”);

while(info)

{

};display(info);if(info->next==null){break;} info=info->next;

printf(“nn”);}

/*查找函數(shù)*/

/*輸入欲查找的姓名*/ /*如果沒(méi)找到,顯示not found*/

/*如果找到,,顯示該結(jié)點(diǎn)資料*/

七,、用戶(hù)使用手冊(cè)

(1)本程序的執(zhí)行文件為“”。

(2)進(jìn)入本系統(tǒng)之后,,隨即顯示系統(tǒng)住菜單界面,。用戶(hù)可以在該界面下根據(jù)提示輸入并按回車(chē)鍵確定,執(zhí)行相應(yīng)的菜單命令,。

(3)本系統(tǒng)可以對(duì)學(xué)生信息進(jìn)行錄入和刪除,。

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)

課題:學(xué)生成績(jī)管理系統(tǒng)

姓名:孫軒宇

學(xué)號(hào):e01014316

專(zhuān)業(yè):計(jì)算機(jī)科技

院系:計(jì)科院

2010.10.8

班級(jí):10

c++個(gè)人通訊錄管理系統(tǒng) 通訊錄管理系統(tǒng)設(shè)計(jì)報(bào)告篇四

1.題目名稱(chēng)

通訊錄管理系統(tǒng) 2.基本功能

(1)顯示:將所有聯(lián)系人的信息顯示出來(lái)(2)查找:按姓名、手機(jī)號(hào)碼,、qq號(hào)碼進(jìn)行查找

(3)添加:從鍵盤(pán)上錄入聯(lián)系人的有關(guān)信息,,包括姓名、手機(jī)號(hào)碼,、qq號(hào)碼,、家庭地址

(4)修改:根據(jù)用戶(hù)需要,修改聯(lián)系人的指定信息

(5)刪除:刪除不需要的信息

源代碼

#include

#include

#include

#define len sizeof(struct per)struct per { char name[17];//姓名

char number[13];//電話(huà) char qq[11];//qq號(hào)

char add[30];//家庭地址 };void clearscreen()//清屏函數(shù) { system(“cls”);} void printf1()//主界面 {

printf(“nnnnttt 歡迎來(lái)到通訊錄,!”);printf(“nntt 請(qǐng)選擇操作:”);printf(“nnttt1.顯示通訊錄”);printf(“nttt2.查找通訊錄”);printf(“nttt3.添加通訊錄”);printf(“nttt4.修改通訊錄”);printf(“nttt5.刪除通訊錄”);printf(“nttt6.退出n”);} void printf2()//修改頁(yè)面 { printf(“請(qǐng)選擇操作:n”);printf(“t1.按姓名查找n”);printf(“t2.按手機(jī)號(hào)碼查找n”);printf(“t3.按qq號(hào)碼查找n”);printf(“t4.返回上一頁(yè)n”);} void show()//顯示函數(shù) { struct per * p,person;file *fp;int i=0;p=&personclearscreen();printf(“姓名tt 電話(huà)t qqt 家庭地址nn”);if((fp=fopen(“”,“r”))==null){ printf(“cannot open filen”);exit(0);} while(!feof(fp)&&fread(p,len,1,fp)){

printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

i++;} if(i==0)

printf(“沒(méi)有聯(lián)系人n”);else

printf(“ntttttt共有%d位聯(lián)系人n”,i);fclose(fp);printf(“n按回車(chē)鍵返回上一頁(yè)”);getchar();getchar();} void seek()//查找 { char name[17],tel[13],qq[11];int n,i;file *fp;struct per * p,person;p=&personfp=fopen(“”,“r”);while(1){ rewind(fp);clearscreen();printf2();printf(“請(qǐng)選擇您的操作:n”);scanf(“%d”,&n);if(n==1){

i=0;

clearscreen();

printf(“請(qǐng)輸入要查找的聯(lián)系人的姓名:n”);

scanf(“%s”,name);while(!feof(fp)){ fread(p,len,1,fp);

if(strcmp(name,p->name)==0)

{

i++;

if(i==1)

{ printf(“姓名tt 電話(huà)t qqt 家庭地址nn”);}

printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

memset(p,0,len);

}

} if(i==0)printf(“沒(méi)有該聯(lián)系人的信息n”);

printf(“n按回車(chē)鍵返回上一頁(yè)”);getchar();getchar();} else if(n==2){ i=0;clearscreen();printf(“請(qǐng)輸入要查找的手機(jī)號(hào)碼:n”);scanf(“%s”,tel);while(!feof(fp)){ fread(p,len,1,fp);if(strcmp(tel,p->number)==0){

i++;

if(i==1)

{ printf(“姓名tt 電話(huà)t qqt 家庭地址

nn”);}

printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

memset(p,0,len);

} } if(i==0)printf(“沒(méi)有該聯(lián)系人的信息n”);printf(“n按回車(chē)鍵返回上一頁(yè)”);getchar();getchar();

} else if(n==3){ i=0;clearscreen();printf(“請(qǐng)輸入要查找的qq號(hào)碼:n”);scanf(“%s”,qq);while(!feof(fp)){ fread(p,len,1,fp);

if(strcmp(qq,p->qq)==0)

{

i++;

if(i==1)

{ printf(“姓名tt 電話(huà)t qqt 家庭地址nn”);}

printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

memset(p,0,len);

} } if(i==0)

printf(“沒(méi)有該聯(lián)系人的信息n”);

printf(“n按回車(chē)鍵返回上一頁(yè)”);getchar();getchar();

} else if(n==4)

break;} fclose(fp);getchar();} void add()//添加函數(shù) { int n;file *fp;struct per * p,person;p=&person

printf(“請(qǐng)選擇您的操作 1 添加 2 返回上一頁(yè)nn”);scanf(“%d”,&n);if(n!=1&&n!=2){

printf(“請(qǐng)選擇您的操作 1 添加 2 返回上一頁(yè)n”);scanf(“%d”,&n);} while(n==1){ memset(p,0,len);//機(jī)構(gòu)體的初始化 clearscreen();fp=fopen(“”,“a”);printf(“請(qǐng)輸入姓名n”);scanf(“%s”,p->name);printf(“請(qǐng)輸入手機(jī)號(hào)碼n”);scanf(“%s”,p->number);printf(“請(qǐng)輸入qq(沒(méi)有請(qǐng)輸入無(wú))n”);scanf(“%s”,p->qq);printf(“請(qǐng)輸入地址n”);scanf(“%s”,p->add);

fwrite(p,len,1,fp);fclose(fp);printf(“保存成功,!n”);printf(“您想 1繼續(xù)添加 2退出n”);scanf(“%d”,&n);if(n!=1&&n!=2)

{

printf(“請(qǐng)選擇您的操作 1 添加 2 退出nn”);scanf(“%d”,&n);

} } } void alter()//修改 { char name[17],tel[13],qq[11],add[30];int n,len,i=0;file *fp;struct per *p,person;p=&personfp=fopen(“”,“r+”);printf(“請(qǐng)輸入要修改的聯(lián)系人的姓名n”);scanf(“%s”,name);while(!feof(fp)&&fread(p,len,1,fp)){

if(strcmp(name,p->name)==0)

{

i++;

len=ftell(fp);printf(“n姓名tt 電話(huà)t qqt 家庭地址nn”);

printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

} } printf(“n”);if(i==0){

printf(“沒(méi)有該聯(lián)系人的信息n”);getchar();

printf(“按回車(chē)鍵返回主菜單n”);} else { printf(“1.修改該聯(lián)系人的姓名n”);printf(“2.修改該聯(lián)系人的手機(jī)號(hào)碼n”);printf(“3.修改該聯(lián)系人的qq號(hào)碼n”);printf(“4.修改該聯(lián)系人的家庭地址n”);printf(“5.修改該聯(lián)系人的全部信息n”);

printf(“6.返回上一頁(yè)nn”);printf(“請(qǐng)輸入您的操作序號(hào)n”);scanf(“%d”,&n);

switch(n)

{

case 1:

clearscreen();fseek(fp,len-71,seek_set);printf(“請(qǐng)輸入姓名n”);scanf(“%s”,name);

fwrite(&name,sizeof(name),1,fp);printf(“修改成功n”);

printf(“按回車(chē)鍵返回主菜單n”);getchar();

break;

case 2:

clearscreen();fseek(fp,len-54,seek_set);printf(“請(qǐng)輸入手機(jī)號(hào)碼n”);scanf(“%s”,tel);

fwrite(&tel,sizeof(tel),1,fp);printf(“修改成功n”);

printf(“按回車(chē)鍵返回主菜單n”);getchar();

break;

case 3:

clearscreen();fseek(fp,len-41,seek_set);printf(“請(qǐng)輸入qq號(hào)碼n”);scanf(“%s”,qq);

fwrite(&qq,sizeof(qq),1,fp);printf(“修改成功n”);

printf(“按回車(chē)鍵返回主菜單n”);getchar();

break;

case 4:

clearscreen();fseek(fp,len-30,seek_set);printf(“請(qǐng)輸入家庭地址n”);scanf(“%s”,add);

fwrite(&add,sizeof(add),1,fp);printf(“修改成功n”);

printf(“按回車(chē)鍵返回主菜單n”);getchar();

break;

case 5:

clearscreen();fseek(fp,len-71,seek_set);

printf(“請(qǐng)輸入姓名n”);scanf(“%s”,p->name);printf(“

請(qǐng)

機(jī)

號(hào)

碼n”);scanf(“%s”,p->number);printf(“請(qǐng)輸入n”);scanf(“%s”,p->qq);printf(“請(qǐng)輸入地址n”);scanf(“%s”,p->add);fwrite(p,len,1,fp);printf(“修改成功n”);

printf(“按回車(chē)鍵返回主菜單n”);getchar();

break;

case 6:;

}

} fclose(fp);getchar();

}

qq(沒(méi)有請(qǐng)輸入無(wú))void delete()//刪除 { int i=0,j,l;char name[17];struct per * p,person;file *fp,*fp1;p=&personfp=fopen(“”,“a+”);printf(“請(qǐng)輸入要?jiǎng)h除的聯(lián)系人的姓名n”);scanf(“%s”,name);while(!feof(fp)&&fread(p,len,1,fp))//顯示要?jiǎng)h除的聯(lián)系人的信息

{

if(strcmp(name,p->name)==0)

{

i++;

if(i==1)

{printf(“姓名tt 電話(huà)t

qqt 家庭地址nn”);} printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

memset(p,0,len);

}

} rewind(fp);if(i==0)printf(“沒(méi)有該聯(lián)系人的信息n”);else {

printf(“n此聯(lián)系人將被刪除n”);

printf(“1.確定 2.取消n”);

scanf(“%d”,&j);

if(j==1)

{

fp1=fopen(“”,“a”);

while(!feof(fp)&&fread(p,len,1,fp))

{

if(strcmp(name,p->name)!=0)

{

fwrite(p,len,1,fp1);

}

}

fclose(fp);

fclose(fp1);

remove(“”);

rename(“”,“”);

printf(“n該聯(lián)系人已刪除 按回車(chē)鍵返回上一頁(yè)n”);getchar();getchar();

}

if(j==2)

{

fclose(fp);printf(“n按回車(chē)鍵返回上一頁(yè)n”);getchar();getchar();

}

} } int select()//主菜單輸入 { int n;printf(“選擇您想要的操作 請(qǐng)輸入序號(hào)!n”);scanf(“%d”,&n);while(n<1||n>6){

printf(“輸入錯(cuò)誤,,請(qǐng)重新輸入!n”);

scanf(“%d”,&n);

}

return(n);} int main(){

while(1){

clearscreen();

printf1();

switch(select()){

case 1:clearscreen();show();break;

case 2:clearscreen();seek();break;

case 3:clearscreen();add();break;

case 4:clearscreen();alter();break;

case 5:clearscreen();delete();break;

case 6:exit(0);} }

return 0;}

c++個(gè)人通訊錄管理系統(tǒng) 通訊錄管理系統(tǒng)設(shè)計(jì)報(bào)告篇五

摘 要

為了人們對(duì)他人信息的記憶方便而設(shè)計(jì),,開(kāi)發(fā)的一套“通訊錄管理系統(tǒng)“軟件。通過(guò)該題目的設(shè)計(jì)過(guò)程,,可以培養(yǎng)學(xué)生結(jié)構(gòu)化程序設(shè)計(jì)的思想,,加深對(duì)高級(jí)語(yǔ)言基本語(yǔ)言要素和控制結(jié)構(gòu)的理解,針對(duì)c語(yǔ)言中的重點(diǎn)和難點(diǎn)內(nèi)容進(jìn)行訓(xùn)練,,獨(dú)立完成有一定工作量的程序設(shè)計(jì)任務(wù),,同時(shí)強(qiáng)調(diào)好的程序設(shè)計(jì)風(fēng)格。得到軟件工程的綜合訓(xùn)練,,提高解決實(shí)際問(wèn)題的能力,。

關(guān)鍵字:信息;管理,;實(shí)用

abstract

designed for people to others the memory of information convenient, developed a set of “mail list management system” h the design process of this subject, students can be structured programming ideas, deepen our understanding of the advanced language basic language elements and control the understanding of the structure, conduct training for emphasis and difficulty in c language, independently complete the program design has a certain work tasks, while emphasizing the good programming hensive training in software engineering, improving the ability to solve practical ds: information;management;practical

目 錄 概述.........................................................................1 1.1設(shè)計(jì)目的..................................................................1 1.2設(shè)計(jì)要求..................................................................1 1.3系統(tǒng)功能需求分析..........................................................2 2 總體設(shè)計(jì).....................................................................3 2.1總體功能模塊圖............................................................3 2.2程序的數(shù)據(jù)設(shè)計(jì)............................................................4 3詳細(xì)設(shè)計(jì).....................................................................5 3.1功能及工作流程圖..........................................................5 3.2源程序代碼................................................................8 4調(diào)試分析....................................................................19 4.1測(cè)試.....................................................................19 4.2問(wèn)題思考與調(diào)試:.........................................................27 5總結(jié)........................................................................28 參考文獻(xiàn)......................................................................29 致 謝........................................................................27

概述

1.1設(shè)計(jì)目的

隨著信息社會(huì)的高速發(fā)展,,人與人之間的聯(lián)系越來(lái)越頻繁,通訊方式越來(lái)越多樣化,如何保證與朋友,、同學(xué),、同事、領(lǐng)導(dǎo),、親戚等之間的聯(lián)系,,并能方便快捷的查找、記錄,、修改其相關(guān)通訊信息,。僅靠以前單獨(dú)的手工記錄已遠(yuǎn)遠(yuǎn)不能滿(mǎn)足當(dāng)前的需要。

開(kāi)發(fā)一個(gè)通訊錄管理系統(tǒng),,借助計(jì)算機(jī)可以方便,、快捷、靈活的管理個(gè)人的朋友及相關(guān)人員的通訊信息,,了解友人相關(guān)信息,,幫助與友人保持聯(lián)絡(luò)。

所以設(shè)計(jì)一個(gè)通訊錄管理系統(tǒng)管理各人的通訊信息是是非必要的,。

設(shè)計(jì)“通訊錄管理系統(tǒng)”使其具有數(shù)據(jù)插入,、修改、刪除,、顯示和查詢(xún)等功能,。(1)數(shù)據(jù)包括:人名、工作單位,、電話(huà)號(hào)碼和e-mail地址,。(2)可對(duì)記錄中的姓名和電話(huà)號(hào)碼進(jìn)行修改。(3)可增加或刪除記錄,。(4)可顯示所有保存的記錄,。(5)可按人名或電話(huà)號(hào)碼進(jìn)行查詢(xún)。

1.2設(shè)計(jì)要求

建立通訊錄信息,,信息至少包含姓名,、住址、單位,、固定電話(huà)、移動(dòng)手機(jī),、分類(lèi)(如同事,、朋友、同學(xué),、家人等),、e-mail、qq等。

該系統(tǒng)提供添加,、刪除,、修改和查找功能,其中按姓名方式刪除,、修改,,按姓名、單位,、分類(lèi)方式查找,。

將通訊錄保存在文件中。能夠輸出通訊錄中的信息,。

1.3系統(tǒng)功能需求分析

主要包含一下多種功能:

添加:添加通訊錄記錄 顯示:顯示通訊錄記錄 刪除:刪除通訊錄記錄 查詢(xún):查詢(xún)通訊錄記錄 修改:修改通訊錄記錄 保存:將信息保存到文件

本系統(tǒng)為通訊錄管理系統(tǒng),,可由用戶(hù)自由添加,刪除和修改信息,,還可以將通訊錄信息導(dǎo)出到文本文檔,,極大的方便了用戶(hù)的使用。

總體設(shè)計(jì)

思路:我們首先設(shè)計(jì)出了主函數(shù),,然后根據(jù)去要實(shí)現(xiàn)的功能分別設(shè)計(jì)錄入聯(lián)系人信息,、瀏覽、查詢(xún),、修改,、刪除功能的子函數(shù)。刪除函數(shù)的設(shè)計(jì)是首先從文件內(nèi)找到要?jiǎng)h除的人,,然后通過(guò)寫(xiě)一個(gè)實(shí)現(xiàn)刪除目的的for循環(huán)實(shí)現(xiàn)刪除,。修改也大體和刪除相同,添加函數(shù)在設(shè)計(jì)時(shí)通過(guò)申請(qǐng)一片空間,,然后通過(guò)指針將需要添加的信息添加進(jìn)去,,從而實(shí)現(xiàn)添加功能。

2.1總體功能模塊圖

圖2.1 總體功能模塊圖

添加:可以添加通訊錄記錄,,依次輸入編號(hào),、姓名、年齡,、電話(huà)號(hào)碼,、通訊地址、電子郵箱后,,會(huì)提示是否繼續(xù)添加,。

顯示:可以以表格形式輸出所有通訊錄里的記錄。

刪除:輸入欲刪除的那個(gè)人的名字后,,會(huì)自動(dòng)刪除他(她)的記錄內(nèi)容,。查詢(xún):可以選擇用姓名、電話(huà)、地址三種方式查詢(xún),。

修改:輸入欲修改的那個(gè)人的名字后,,再依次輸入編號(hào)、姓名,、年齡,、電話(huà)號(hào)碼、通訊地址,、電子郵箱即可完成修改,。

保存:輸入文件名(帶后綴名)后,即可將通訊錄信息保存到文件,。運(yùn)行所需環(huán)境:win7及以下各版本windows,,visual c++6.0。2.2程序的數(shù)據(jù)設(shè)計(jì)

該系統(tǒng)用下面六個(gè)功能模塊編寫(xiě),,每個(gè)模塊執(zhí)行不同的功能,,體現(xiàn)了模塊化設(shè)計(jì)的思想。下面六個(gè)模塊都是利用c語(yǔ)言文件,,向文件中追加數(shù)據(jù),、修改數(shù)據(jù)、查詢(xún)數(shù)據(jù)和除數(shù)據(jù),。

創(chuàng)建:用fopen()建立一個(gè)文本文件,,然后用fprintf()向其中輸入數(shù)據(jù)(例如,向文件中輸入“姓名”,,“地址”等),,并對(duì)文件進(jìn)行命名。

添加:可以添加通訊錄記錄,,利用c語(yǔ)言文件,,向文件中按順序輸入姓名、住址,、單位,、固定電話(huà)、手機(jī)號(hào)碼,、分類(lèi)(如同事,、朋友、同學(xué),、家人等),、e-mail、qq,,再用fclose()函數(shù)關(guān)閉并保存文件。

輸出:也是用通過(guò)循環(huán)依次輸出文件中的數(shù)據(jù),即輸出所有通訊錄里的記錄,。刪除:輸入你要?jiǎng)h除的人的姓名后,,系統(tǒng)會(huì)自動(dòng)刪除他(她)的記錄,在刪除通過(guò)switch語(yǔ)句滿(mǎn)足提示你確認(rèn)刪除的功能,,只有等你確認(rèn)刪除后才會(huì)刪除,。查找:為了滿(mǎn)足用戶(hù)的實(shí)際需求,設(shè)計(jì)了三種查詢(xún)方式,,可以用姓名,、單位、分類(lèi)三種方式查找通訊錄記錄,。這里用到strcmp()函數(shù),,通過(guò)比較字符串是否相同來(lái)判別是否找到相關(guān)信息,找到后,,就把文件中的數(shù)據(jù)賦給對(duì)應(yīng)的變量,,再把變量所帶的值輸出到屏幕上。

修改:輸入你要修改的那個(gè)人的姓名后,,系統(tǒng)會(huì)查找該通訊錄文件(此時(shí)用發(fā)ftell()函數(shù)來(lái)跟蹤文件指針的指向地址,,找到個(gè)人的記錄后,會(huì)顯示他(她)的記錄,,然后通過(guò)fseek()函數(shù)來(lái)找到修改處的地址,,然后用戶(hù)再依次輸入他(她)的相關(guān)信息來(lái)替代以前的記錄。

保存:用到fclose()函數(shù),,每次操作成功后會(huì)自動(dòng)保存到指定的文件中,。

3詳細(xì)設(shè)計(jì)

3.1功能及工作流程圖

①添加:添加通訊錄記錄,依次輸入編號(hào),、姓名,、年齡、電話(huà)號(hào)碼,、通訊地址,、電子郵箱后,會(huì)提示是否繼續(xù)添加,。

圖3.1(1)添加流程圖

②顯示:以表格形式輸出所有通訊錄里的

圖3.1(2)顯示流程圖

③刪除::輸入欲刪除的那個(gè)人的名字后,,會(huì)自動(dòng)刪除他(她)的記錄內(nèi)容。

圖3.1(3)刪除流程圖

④查詢(xún):可以選擇用姓名,、電話(huà),、地址三種方式查詢(xún)。

圖3.1(4)查詢(xún)流程圖

⑤修改:輸入欲修改的那個(gè)人的名字后,,再依次輸入編號(hào),、姓名,、年齡、電話(huà)號(hào)碼,、通訊地址,、電子郵箱即可完成修改。

圖3.1(5)修改流程圖 3.2源程序代碼

#include

#include

#include

typedef struct

person pe[80];

int menu_select()

{

char c;do{

system(“cls”);

printf(“tt *****通訊錄***** n”);

printf(“tt┌───────┐n”);

printf(“tt│ 1.添加記錄

│n”);printf(“tt│ 2.顯示記錄

│n”);printf(“tt│ 3.刪除記錄

│n”);printf(“tt│ 4.查詢(xún)記錄

│n”);printf(“tt│ 5.修改記錄

│n”);{

char score;

/*編號(hào)*/ char name[10];

/*姓名*/ char num[15];

/*號(hào)碼*/ char email[20];char age[8];char adds[20];

/*郵箱*/ /*年齡*/

/*住址*/ }person;

} printf(“tt│ 6.保存記錄

│n”);printf(“tt│ 0.退出程序

│n”);printf(“tt└───────┘n”);printf(“tt請(qǐng)您選擇(0-6):”);c=getchar();

}while(c<'0'||c>'6');return(c-'0');

int input(person per[],int n){

gets(x);

int i=0;

char sign,x[10];

while(sign!='n'&&sign!='n'){

printf(“t編號(hào):”);

scanf(“t%d”,&per[n+i].score);printf(“t姓名:”);

scanf(“t%s”,per[n+i].name);printf(“t年齡:”);scanf(“t%s”,per[n+i].age);printf(“t電話(huà)號(hào)碼:”);scanf(“t%s”,per[n+i].num);printf(“t通訊住址:”);scanf(“t%s”,per[n+i].adds);printf(“t電子郵箱:”);scanf(“t%s”,per[n+i].email);

}

} printf(“nt是否繼續(xù)添加?(y/n)”);scanf(“t%c”,&sign);i++;

return(n+i);

void display(person per[],int n)

{

int i;

printf(“--------n”);

/*格式*/

printf(“%-5d%-8s%-6s%-13s%-15s%-15sn”,per[i-1].score,per[i-1].name,per[i-1].age,perprintf(“編號(hào)

姓名

年齡

電話(huà)號(hào)碼

通訊地址

電子郵箱n”);printf(“--------n”);

for(i=1;i

{

[i-1].num,per[i-1].adds,per[i-1].email);

}

printf(“--------n”);system(“pause”);if(i>1&&i%10==0)

{

} printf(“t----n”);printf(“t”);system(“pause”);

printf(“t----n”);}

int delete_a_record(person per[],int n){

} char s[20];int i=0,j;

printf(“t請(qǐng)輸入想刪除記錄中的名字:”);scanf(“%s”,s);

while(strcmp(per[i].name,s)!=0&&i

}

for(j=i;j

}

printf(“ttt已經(jīng)成功刪除!n”);return(n-1);strcpy(per[j].num,per[j+1].num);strcpy(per[j].name,per[j+1].name);strcpy(per[j].age,per[j+1].age);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].email,per[j+1].email);per[j].score=per[j+1].score;printf(“t通訊錄中沒(méi)有此人!n”);return(n);void query_a_record(person per[],int n){

int m;printf(“tn請(qǐng)選擇查詢(xún)方式:n”);

printf(“t┌──────┐n”);

printf(“t│1------姓名 │n”);

printf(“t│2------電話(huà) │n”);

printf(“t│3------地址 │n”);

printf(“t│4------返回 │n”);

printf(“t└──────┘n”);

printf(“請(qǐng)選擇:”);

scanf(“%d”,&m);

while(m!=1&&m!=2&&m!=3&&m!=4)

{

if(m==1){

char s[20];int i=0;

printf(“t請(qǐng)輸入想查詢(xún)的姓名:”);scanf(“t%s”,s);

while(strcmp(per[i].name,s)!=0&&i

} printf(“輸入錯(cuò)誤,,請(qǐng)重新選擇:”);scanf(“%d”,&m);

};} return;

printf(“t此人編號(hào): %dn”,per[i].score);printf(“t此人年齡: %sn”,per[i].age);printf(“t電話(huà)號(hào)碼: %sn”,per[i].num);printf(“t通訊地址: %sn”,per[i].adds);printf(“t電子郵箱: %sn”,per[i].email);if(m==2){

char s[20];int i=0;

printf(“t請(qǐng)輸入想查詢(xún)的電話(huà):”);scanf(“t%s”,s);

while(strcmp(per[i].num,s)!=0&&i

};}

printf(“t此人編號(hào): %dn”,per[i].score);printf(“t此人姓名: %sn”,per[i].name);printf(“t此人年齡: %sn”,per[i].age);printf(“t通訊地址: %sn”,per[i].adds);printf(“t電子郵箱: %sn”,per[i].email);

} if(m==3){

};char s[20];int i=0;

printf(“t請(qǐng)輸入想查詢(xún)的地址:”);scanf(“t%s”,s);

while(strcmp(per[i].adds,s)!=0&&i

}

printf(“t此人編號(hào): %dn”,per[i].score);printf(“t此人姓名: %sn”,per[i].name);printf(“t此人年齡: %sn”,per[i].age);printf(“t電話(huà)號(hào)碼: %sn”,per[i].num);printf(“t電子郵箱: %sn”,per[i].email);printf(“t通訊錄中沒(méi)有此人!n”);return;

void change(person per[],int n){

char s[20];int i=0;

printf(“t請(qǐng)輸入想修改的記錄中的名字:”);scanf(“%s”,s);

while(strcmp(per[i].name,s)!=0&&i

printf(“t通訊錄中沒(méi)有此人!n”);

return;

}

printf(“t編號(hào):”);

scanf(“t%d”,&per[i].score);

printf(“t姓名:”);

scanf(“t%s”,per[i].name);

printf(“t年齡:”);

scanf(“t%s”,per[i].age);printf(“t電話(huà)號(hào)碼:”);

scanf(“t%s”,per[i].num);

printf(“t通訊住址:”);

scanf(“t%s”,per[i].adds);printf(“t電子郵箱:”);scanf(“t%s”,per[i].email);printf(“t修改成功,!”);}

void writetotext(person per[],int n)

{

int i=0;

file *fp;

char filename[20];

printf(“t保存到文件n”);

printf(“t請(qǐng)輸入所保存的文件名:”);

scanf(“t%s”,filename);

if((fp=fopen(filename,“w”))==null)

/*定義文件指針*/ /*定義文件名*/ /*輸入文件名*/

{

}

fprintf(fp,“******************************************

錄printf(”t無(wú)法打開(kāi)文件n“);system(”pause“);return;

******************************************n”);fprintf(fp,“編號(hào)

姓名

年齡

電話(huà)號(hào)碼

通訊地址

電子郵箱n”);;

fprintf(fp,“%-3dt%-6st%-3st%-13st%-20st%-20sn”,per[i].score,per[i].name,per[i].agwhile(i

;fprintf(fp,“***************************************共有%d

條記錄 } fprintf(fp,”----------------------------n“)i++;

****************************************n”,n);

}

void main()

/*主函數(shù)*/ { int n=0;fclose(fp);

/*關(guān)閉文件*/ printf(“保存成功!n”);for(;;){

switch(menu_select())

{

case 1:

printf(“nt添加記錄到通訊錄n”);

n=input(pe,n);break;

case 2:

printf(“nttt

通訊錄記錄表n”);display(pe,n);

break;

case 3:

printf(“nt從通訊錄中刪除記錄n”);n=delete_a_record(pe,n);

printf(“t”);

system(“pause”);break;

case 4:

printf(“nt在通訊錄中查找記錄n”);query_a_record(pe,n);

printf(“t”);

system(“pause”);

break;

case 5:

/*添加記錄*/

/*顯示記錄*/ /*刪除記錄*/

/*查找記錄*/

printf(“nt修改通訊錄中的記錄n”);

change(pe,n);

printf(“t”);

system(“pause”);

break;

case 6:

printf(“nt保存功能n”);

writetotext(pe,n);

printf(“t”);

system(“pause”);

break;

case 0:

printf(“ntt謝謝使用,再見(jiàn)!n”);

printf(“ntt”);

system(“pause”);

exit(0);

}

}

}

/*修改數(shù)據(jù)*/

/*保存數(shù)據(jù)*/

/*結(jié)束程序*/

4調(diào)試分析

調(diào)試的意義和目的:在管理信息系統(tǒng)的開(kāi)發(fā)過(guò)程中,,面對(duì)著錯(cuò)綜復(fù)雜的各種問(wèn)題,,人的主觀(guān)認(rèn)識(shí)不可能完全符合客觀(guān)現(xiàn)實(shí),開(kāi)發(fā)人員之間的思想交流也不可能十分完善,。所以,,在管理信息系統(tǒng)開(kāi)發(fā)周期的各個(gè)階段都不可避免地會(huì)出現(xiàn)差錯(cuò)。開(kāi)發(fā)人員應(yīng)力求在每個(gè)階段結(jié)束之前進(jìn)行認(rèn)真,、嚴(yán)格的技術(shù)審查,,盡可能早的發(fā)現(xiàn)并糾正錯(cuò)誤,否則等到系統(tǒng)投入運(yùn)行后再回頭來(lái)改正錯(cuò)誤將在人力,、物力上造成很大的浪費(fèi),,有時(shí)甚至導(dǎo)致整個(gè)系統(tǒng)的癱瘓。然而,,經(jīng)驗(yàn)表明,,單憑審查并不能發(fā)現(xiàn)全部差錯(cuò),加之在程序設(shè)計(jì)階段也不可避免還會(huì)產(chǎn)生新的錯(cuò)誤,,所以,,對(duì)系統(tǒng)進(jìn)行調(diào)試是不可缺少的,是保證系統(tǒng)質(zhì)量的關(guān)鍵步驟,。統(tǒng)計(jì)資料表明,,對(duì)于一些較大規(guī)模的系統(tǒng)來(lái)說(shuō),系統(tǒng)調(diào)試的工作量往往占程序系統(tǒng)編制開(kāi)發(fā)總工作量的40%以上,。

調(diào)試的目的在于發(fā)現(xiàn)其中的錯(cuò)誤并及時(shí)糾正,,所以在調(diào)試時(shí)應(yīng)想方設(shè)法使程序的各個(gè)部分都投入運(yùn)行,力圖找出所有錯(cuò)誤,。錯(cuò)誤多少與程序質(zhì)量有關(guān),。即使這樣,調(diào)試通過(guò)也不能證明系統(tǒng)絕對(duì)無(wú)誤,,只不過(guò)說(shuō)明各模塊,、各子系統(tǒng)的功能和運(yùn)行情況正常,相互之間連接無(wú)誤,,系統(tǒng)交付用戶(hù)使用以后,,在系統(tǒng)的維護(hù)階段仍有可能發(fā)現(xiàn)少量錯(cuò)誤并進(jìn)行糾正,,這也是正常的。

4.1測(cè)試

1).顯示的主菜單界面:

圖4.1(1)主菜單界面 2).添加界面:

圖4.1(2)添加界面 3).顯示界面:

圖4.1(3)顯示界面 4).刪除界面:

圖4.1(4)刪除前界面 刪除后,,通訊錄里的顯示記錄:

圖(4)刪除后界面 5).查詢(xún)界面:以姓名查詢(xún)方式為例:

圖4.1(5)查詢(xún)界面

6).修改界面:

圖4.1(6)修改前界面 修改后,,通訊錄里的顯示記錄:

圖4.1(6)修改后界面 7).保存界面:

圖4.1(7)保存界面

文件截圖:

圖4.1文件截圖

4.2問(wèn)題思考與調(diào)試:

1.當(dāng)我在進(jìn)行刪除,、查詢(xún),、修改、保存等功能時(shí),,以查詢(xún)?yōu)槔?,輸入名字按回?chē)后,雖然會(huì)顯示該人的所有記錄,,但是顯示后,,它馬上自動(dòng)消失了,還沒(méi)來(lái)得及等我看內(nèi)容,。因此,,向別人請(qǐng)教后,在一些地方加入了system(“pause”);這個(gè)語(yǔ)言,,用來(lái)對(duì)某項(xiàng)操作完成后進(jìn)行暫停,。

2.現(xiàn)在這個(gè)程序的界面?zhèn)€人感覺(jué)很清爽。但在最初,,每次進(jìn)行一項(xiàng)操作,,運(yùn)行窗口里的內(nèi)容會(huì)一直保留著,感覺(jué)很雜亂,,如下圖(添加后,,進(jìn)行顯示操作):

圖4.2分析圖

之后,我去網(wǎng)上尋求解決辦法,,知道可以使用system(“cls”);這一語(yǔ)句可以解決這個(gè)問(wèn)題,,最后,修改成功,。5總結(jié)

這次的程序?qū)嵲O(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)題,。發(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í)能夠解決好它們,。但是,,收獲還是不小的,我不僅對(duì)c的操作有了進(jìn)一步的掌握,,還了解到了程序設(shè)計(jì)的書(shū)寫(xiě)風(fēng)格及其注釋的格式,。

當(dāng)我選擇通訊錄這個(gè)題目時(shí),一開(kāi)始想運(yùn)用大量鏈表及指針來(lái)完成,,但是在慢慢琢磨之后,,覺(jué)得這個(gè)不一定要用鏈表,于是改變了編程思路,。當(dāng)然還有不少文件的讀寫(xiě)問(wèn)題,,不過(guò)還是通過(guò)不斷測(cè)試之后順利解決了。另外一點(diǎn)要說(shuō)的就是這個(gè)程序用了很多的循環(huán),,因此對(duì)于循環(huán)的控制要十分小心,,有時(shí)while和do-while的區(qū)別也是十分重要的。

還有一點(diǎn)體會(huì)就是,,書(shū)上和老師教的內(nèi)容是有限的,,我們需要不斷地靠自己去學(xué)習(xí),向他人請(qǐng)教,,了解和掌握更多的知識(shí),,這樣我們才能編出更好的c程序。

總體來(lái)說(shuō),,這次c語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)還是比較成功的,,雖然最終程序還存在一些不足,但能取得這樣的成績(jī)我還是比較高興的,。

最后,,要感謝學(xué)校為我們提供這次實(shí)驗(yàn)機(jī)會(huì),也要感謝老師的教導(dǎo)和好心人對(duì)我的幫助與支持,。

參考文獻(xiàn)

[1]譚浩強(qiáng),,張基溫。c語(yǔ)言程序設(shè)計(jì)教程,。第三版,。北京:高等教育出版社,2006 [2]譚浩強(qiáng),,張基溫,。c語(yǔ)言習(xí)題集與上機(jī)指導(dǎo)。第三版,。北京:高等教育出版社,,2006 [3]譚浩強(qiáng)。c程序設(shè)計(jì)(第三版)。北京:清華大學(xué),,2005 [4]譚浩強(qiáng),。c程序設(shè)計(jì)(第二版)。北京:清華大學(xué),,1999 [5]林建秋,,韓靜萍,等.c語(yǔ)言程序設(shè)計(jì)【m】.電子工業(yè)出版社,,2004.[6]譚浩強(qiáng).c語(yǔ)言程序設(shè)計(jì)【m】.清華大學(xué)出版社,,2006.[7]黃維通.c語(yǔ)言設(shè)計(jì)教程.清華大學(xué)出版社,2005.[8]王成瑞.c語(yǔ)言程序設(shè)計(jì).中國(guó)水利水電出版社,,2005.[9]張基溫.c語(yǔ)言程序設(shè)計(jì)案例教程.清華大學(xué)出版社,,2004.[10]蘇小紅,陳惠鵬.c語(yǔ)言大學(xué)實(shí)用教程【m】.電子工業(yè)出版社,,2007.致

在這里我要感謝楊書(shū)鴻老師,她對(duì)我進(jìn)行了無(wú)私的指導(dǎo)和幫助,,不厭其煩的幫助進(jìn)行論文的修改和改進(jìn),。另外,在校圖書(shū)館查找資料的時(shí)候,,圖書(shū)館的老師也給我提供了很多方面的支持與幫助,。在此向幫助和指導(dǎo)過(guò)我的各位老師表示最中心的感謝!感謝這篇論文所涉及到的各位學(xué)者,,如果沒(méi)有各位學(xué)者的研究成果的幫助和啟發(fā),,我將很難完成本篇論文的寫(xiě)作。感謝我的同學(xué)和朋友,,在我寫(xiě)論文的過(guò)程中給予我很多素材,,還在論文的撰寫(xiě)和排版等過(guò)程中提供熱情的幫助。由于我的學(xué)術(shù)水平有限,,所寫(xiě)論文難免有不足之處,,懇請(qǐng)各位老師和學(xué)友批評(píng)和指正!

全文閱讀已結(jié)束,,如果需要下載本文請(qǐng)點(diǎn)擊

下載此文檔
你可能感興趣的文章
a.付費(fèi)復(fù)制
付費(fèi)獲得該文章復(fù)制權(quán)限
特價(jià):5.99元 10元
微信掃碼支付
已付款請(qǐng)點(diǎn)這里
b.包月復(fù)制
付費(fèi)后30天內(nèi)不限量復(fù)制
特價(jià):9.99元 10元
微信掃碼支付
已付款請(qǐng)點(diǎn)這里 聯(lián)系客服