通訊錄管理系統(tǒng)畢業(yè)論文.doc
《通訊錄管理系統(tǒng)畢業(yè)論文.doc》由會員分享,可在線閱讀,更多相關(guān)《通訊錄管理系統(tǒng)畢業(yè)論文.doc(27頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 濮陽職業(yè)技術(shù)學(xué)院畢業(yè)論文系別:物理與機(jī)電工程系,班級:08應(yīng)用電子,學(xué)生: 學(xué)號:0805316078指導(dǎo)教師: 課程:C語言 通訊錄管理系統(tǒng)指導(dǎo)思想:通過畢業(yè)論文工作使大學(xué)生對C語言的基本知識、基礎(chǔ)理論、基本技能得到提高,畢業(yè)論文工作是高職培養(yǎng)階段教學(xué)質(zhì)量的綜合訓(xùn)練和檢驗。 目 錄畢業(yè)論文課題和指導(dǎo)思想1摘要3第一章 設(shè)計的目的和意義4第二章 系統(tǒng)分析51、系統(tǒng)總體結(jié)構(gòu)分析52、數(shù)據(jù)類型的選擇53、主要函數(shù)原型54、調(diào)用到的函數(shù)65、模塊的設(shè)計與介紹6第三章 模塊介紹和總體實現(xiàn)71、增加模塊72、刪除模塊83、輸入模塊104、查找模塊105、總體實現(xiàn)11第四章 調(diào)試與測試141.輸入程序進(jìn)
2、行編譯、運行142、增加聯(lián)系人143、聯(lián)系人輸出154、刪除聯(lián)系人155、查找聯(lián)系人166、退出16總結(jié)17參考資料18附錄(源代碼)19摘 要 當(dāng)今時代,網(wǎng)絡(luò)已經(jīng)成為人們生活中不可缺少的一部分,世界上的第三媒體Internet ,它打破了地域時間限制,改變了人們的工作和生活方式,制作站點是企業(yè)和個人的宣傳自己的重要手段,同時也學(xué)習(xí)信息的重要手段,今年來,隨著網(wǎng)絡(luò)用戶要求的不斷提高及計算機(jī)科學(xué)的迅速發(fā)展,特別是數(shù)據(jù)庫技術(shù)在Internet中的廣泛應(yīng)用,Web站點向用戶提供的服務(wù)將越來越豐富,越來越人性化.計算機(jī)在管理中應(yīng)用的普及,利用計算機(jī)實現(xiàn)各種管理勢在必行,對于機(jī)關(guān)單位來說,利用計算機(jī)支持
3、高效率完成通訊錄,是適應(yīng)社會制度要求、推動機(jī)關(guān)單位信息利用計算機(jī)支持高效率完成通訊管理,是適應(yīng)現(xiàn)在社會制度要求、推動機(jī)關(guān)單位信息管理走向科學(xué)化、規(guī)范化的必要條件。隨著社會的發(fā)展及知識經(jīng)濟(jì)時代的到來,管理信息系統(tǒng)在各行各業(yè)發(fā)揮著越來越重要的作用。通信錄管理系統(tǒng)是典型的信息管理系統(tǒng)。通信錄管理系統(tǒng)的水平,是衡公司發(fā)展水平的一個重要指標(biāo)。通信錄管理系統(tǒng)工作煩瑣,包含了大量的信息數(shù)據(jù),因此就需要一個完善的職工信息管理系統(tǒng)來實現(xiàn)對這些數(shù)據(jù)的有效管理,滿足公司管理者的需求。關(guān)鍵字:通訊錄; 管理信息系統(tǒng); MIS; Visual Basic;第一章 設(shè)計的目的和意義通訊錄管理系統(tǒng)是典型的管理系統(tǒng)(MIS)
4、,其開發(fā)主要包括數(shù)據(jù)庫的建立和維護(hù)前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)庫一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。經(jīng)過分析,我們使用MICROSOFT公司的VISUAL,BASIC開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。 將網(wǎng)絡(luò)和通訊錄管理結(jié)合起來。使得組會人員對參考人員的實際情況一目了然,經(jīng)過詳細(xì)的系統(tǒng)調(diào)查,開發(fā)出的操作簡單而且方便使用的一個通訊系統(tǒng)。實現(xiàn)參會代表的動態(tài)
5、管理,使得對信息的管理更加方便,同時計算機(jī)具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好。這樣組會人員在工作起來效率高,可以不用再做大量的記錄。從而大大減輕了機(jī)關(guān)單位職員的工作量。運用數(shù)據(jù)結(jié)構(gòu)中的算法思想作數(shù)據(jù)結(jié)構(gòu),結(jié)合C語言基本知識,編寫一個通訊錄管理系統(tǒng)。通過完成本課題,進(jìn)一步熟悉C語言的基本知識,并掌握數(shù)據(jù)結(jié)構(gòu)的一些基本算法思想,掌握C語言的文件操作(包括從磁盤讀入和向磁盤寫入內(nèi)容),進(jìn)一步熟悉指針的用法,數(shù)組的建立運用和函數(shù)的調(diào)用等。 加深對數(shù)據(jù)結(jié)構(gòu)的理解,提高算法設(shè)計的能力,鍛煉編程的能力用C語言編寫一個通訊錄管理系統(tǒng)軟件,要求能實現(xiàn)通訊錄管理系
6、統(tǒng)中增加新記錄, 刪除記錄, 顯示通訊錄的所有信息, 按名字查詢信息, 保存通訊錄,退出系統(tǒng)。第二章 系統(tǒng)分析1、系統(tǒng)總體結(jié)構(gòu)分析根據(jù)實際情況,我們使用原型法,即以少量代價快速地構(gòu)造一個可執(zhí)行的軟件系統(tǒng)模型,使用戶和開發(fā)人員可以較快的確定需求,然后采用循環(huán)進(jìn)化的開發(fā)方式,對系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質(zhì)逐漸加上去,直到所有的性質(zhì)全部滿足。以下為系統(tǒng)邏輯模型圖:用戶系統(tǒng)管理員系統(tǒng)邏輯圖 2-12、數(shù)據(jù)類型的選擇struct lianxirenchar name20;char address50;char age5;char tele20;char e_mail30;3、主要函數(shù)原型ch
7、ar caidan();/菜單void add();/增加聯(lián)系人函數(shù)void print(struct lianxiren a,int);/輸入所有聯(lián)系人void dele(struct lianxiren a,int);/刪除聯(lián)系人void chazhao(struct lianxiren a,int);/查找聯(lián)系人void chazhao_name(struct lianxiren a,int n);/用名字查找void chazhao_age(struct lianxiren a,int n);/用年齡查找4、調(diào)用到的函數(shù)通過switch(表達(dá)式)case 常量表達(dá)式1:語句1case
8、常量表達(dá)式2:語句2case 常量表達(dá)式n:語句n調(diào)用六個函數(shù)。void add();void print(struct lianxiren a,int);void dele(struct lianxiren a,int);void chazhao(struct lianxiren a,int);void chazhao_name(struct lianxiren a,int n);void chazhao_age(struct lianxiren a,int n);5、模塊設(shè)計與介紹對本系統(tǒng)的功能進(jìn)行分析后可作如下的模塊化設(shè)計:輸入模塊實現(xiàn)功能:按順序?qū)⒂行彰╪ame )、地址(addre
9、ss)、年齡(age)、電話(tel)、電子郵箱(E-mail)依次輸入,并建立鏈表將其連接。當(dāng)輸入數(shù)據(jù)完畢時Enter,輸入結(jié)束。刪除模塊實現(xiàn)功能:在已經(jīng)存儲的文件中刪除指定的通信錄信息,并釋放內(nèi)存空間。刪除所有相關(guān)通信錄信息。查找模塊實現(xiàn)功能:在已經(jīng)存儲的文件中查找指定的通信錄信息。可以按照查找姓名或方法進(jìn)行。輸出模塊實現(xiàn)功能:在輸入特定的文件名之后,輸出該文件中所包含的全部通信錄信息。添加模塊實現(xiàn)功能:添加相應(yīng)信息保存操作,鏈表中的信息以文件形式被長期。保存。主序模塊實現(xiàn)功能:完成系統(tǒng)的界面處理,包括開始界面和主菜單界面。第三章 模塊介紹和總體實現(xiàn)1、 Add( )增加模塊建立鏈表的具體
10、操作就是逐一輸入各結(jié)點數(shù)據(jù),并建立其前后相鏈的關(guān)系。void add()int i;FILE *fp;if(fp=fopen(通訊錄.txt,a)=NULL)printf(無法打開文件,按任意鍵退出!n);char a;scanf(%c,&a);exit(0);int num;printf(您想要增加幾個聯(lián)系人:n);scanf(%d,&num);struct lianxiren t50;printf(請輸入聯(lián)系人信息n);printf(名字地址年齡電話電子郵箱n);printf(-n);for(i=0;inum;i+)scanf(%s%s%s%s%s,ti.name ,ti.address
11、,ti.age ,ti.tele ,ti.e_mail );printf(_n);for(i=0;inext,后把next指向p-next。在釋放p指針。要完成的是鏈表的刪除操作,只需修改鏈表中要刪除結(jié)點的前一個結(jié)點的鏈指針。使之指向被刪除結(jié)點的后面一個結(jié)點即可。 void dele(struct lianxiren a,int n)struct lianxiren temp5;char mingzi20;int i,j=0,s=0;printf(輸入你要刪除人得名字:);scanf(%s,mingzi);printf(n);for(i=0;in;i+)if(strcmp(mingzi,ai.
12、name)!=0)strcpy(tempj.name,ai.name);strcpy(tempj.address,ai.address);strcpy(tempj.age,ai.age);strcpy(tempj.tele,ai.tele);strcpy(tempj.e_mail,ai.e_mail);j+;else s+;printf(你要刪除得人得信息是:n);printf(-n);printf(名字地址 年齡 電話郵箱n);printf(-n);printf(%-8s%-10s%-8s%-15s%-20sn,ai.name,ai.address,ai.age,ai.tele,ai.e_m
13、ail);FILE *fp;if(fp=fopen(通訊錄.txt,w)=NULL)printf(無法打開文件,按任意鍵退出!n);char a;scanf(%c,&a);exit(0);for(i=0;ij;i+)fprintf(fp,n);fprintf(fp,%s%s%s%s%s,tempi.name,tempi.address,tempi.age,tempi.tele,tempi.e_mail);if(s!=0) printf(*刪除成功!*n);else printf(您所要刪除的聯(lián)系人不存在,請核查拼寫及大小寫n);fclose(fp);3、print( )輸入模塊將最終想要保留的
14、數(shù)據(jù)信息保存于文件中。void print(struct lianxiren t,int n)if(n=0)printf(*文件為空!*n);return;int i;printf(*通訊錄*n);printf(名字地址 年齡 電話郵箱n);printf(_n);for(i=0;iname,p-address,p-age,p-tele,p-e_mail);p+;n+;switch(caidan()case 1:add();break;case 2:print(tongxunlu,n);break;case 3:dele(tongxunlu,n);break;case 4:chazhao(ton
15、gxunlu,n);break;case 5:exit(0);char caidan()char choose5;printf(n*n);printf( n); printf( 通 訊 錄n);printf( _n);printf(1,增 加 聯(lián) 系 人 信 息 n);printf(2,輸 出 所 有 聯(lián) 系 人 n);printf(3,刪 除 聯(lián) 系 人 n);printf(4,查 找 聯(lián) 系 人 n);printf(5,退 出 通 訊 了 n); printf(n);printf(*nn);doprintf(請輸入您的選擇(1-5):);scanf(%s,choose);while(str
16、cmp(choose,1)&strcmp(choose,2)&strcmp(choose,3)&strcmp(choose,4)&strcmp(choose,5);return choose0;第四章 調(diào)試與測試1.輸入程序進(jìn)行編譯、運行2.增加聯(lián)系人(例:1)3.聯(lián)系人輸出4.刪除聯(lián)系人5.查找聯(lián)系人6.退出總 結(jié)課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識 、發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們的實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計算機(jī)應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握程序開發(fā)技術(shù)是十分重要的,而C語言又是最常
17、見,功能最強(qiáng)大的一種高級語言,因此做好C語言課程設(shè)計是十分必要的。 回顧起此次課程設(shè)計,至今我們?nèi)愿锌H多,的確,整個編程,從理論到實踐,在籌備的日子里,可以學(xué)到很多很多的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我們懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對一些前面學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體,
18、指針,鏈表通過這次課程設(shè)計之后,我們把前面所學(xué)過的知識又重新溫故了一遍。 通過這次論文的寫作,我不僅加深了對C語言理論的理解,將理論很好地應(yīng)用到實際當(dāng)中去,而且我還學(xué)會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新可以是在原有的基礎(chǔ)上進(jìn)行改進(jìn),使之功能不斷完善,成為真己的東西!此致敬禮 參考資料1 龔沛曾 編著 .Visual Basic 6.0 程序設(shè)計教程 02年第三版(高等教育出版社).2薩師煊 、王珊 編著 .數(shù)據(jù)庫系統(tǒng)概論02年第二版(高等教育出版社). 3趙文靜. 數(shù)據(jù)結(jié)構(gòu)與算法M. 北京: 科學(xué)出版社4王敬華,林萍,.陳靜. C語言程序設(shè)計M. 北京: 清華大學(xué)出
19、版社參考網(wǎng)站:附錄(源代碼)#include#include#includestruct lianxiren/聯(lián)系人信息;char name20;char address50;char age5;char tele20;char e_mail30;char caidan();/菜單void add();/增加聯(lián)系人函數(shù)void print(struct lianxiren a,int);/輸入所有聯(lián)系人void dele(struct lianxiren a,int);void chazhao(struct lianxiren a,int);void chazhao_name(struct l
20、ianxiren a,int n);void chazhao_age(struct lianxiren a,int n);void main()FILE *fp;if(fp=fopen(通訊錄.txt,a)=NULL)printf(無法打開文件,按任意鍵退出!n);char a;scanf(%c,&a);exit(0);fclose(fp);for(;)int n=0;char ch;struct lianxiren tongxunlu100;struct lianxiren *p;p=tongxunlu;FILE *fp;if(fp=fopen(通訊錄.txt,r)=NULL)printf(
21、無法打開文件,按任意鍵退出!n);char a;scanf(%c,&a);exit(0);elsewhile(ch=fgetc(fp)!=EOF)fscanf(fp,%s%s%s%s%s,p-name,p-address,p-age,p-tele,p-e_mail);p+;n+;switch(caidan()case 1:add();break;case 2:print(tongxunlu,n);break;case 3:dele(tongxunlu,n);break;case 4:chazhao(tongxunlu,n);break;case 5:exit(0);char caidan()c
22、har choose5;printf(n*n);printf( n); printf( 通 訊 錄n);printf( _n);printf(1,增 加 聯(lián) 系 人 信 息 n);printf(2,輸 出 所 有 聯(lián) 系 人 n);printf(3,刪 除 聯(lián) 系 人 n);printf(4,查 找 聯(lián) 系 人 n);printf(5,退 出 通 訊 了 n); printf(n);printf(*nn);doprintf(請輸入您的選擇(1-5):);scanf(%s,choose);while(strcmp(choose,1)&strcmp(choose,2)&strcmp(choose,
23、3)&strcmp(choose,4)&strcmp(choose,5);return choose0;void add()int i;FILE *fp;if(fp=fopen(通訊錄.txt,a)=NULL)printf(無法打開文件,按任意鍵退出!n);char a;scanf(%c,&a);exit(0);int num;printf(您想要增加幾個聯(lián)系人:n);scanf(%d,&num);struct lianxiren t50;printf(請輸入聯(lián)系人信息n);printf(名字地址年齡電話電子郵箱n);printf(-n);for(i=0;inum;i+)scanf(%s%s%
24、s%s%s,ti.name ,ti.address ,ti.age ,ti.tele ,ti.e_mail );printf(_n);for(i=0;inum;i+)fprintf(fp,n);fprintf(fp,%s%s%s%s%s,ti.name ,ti.address ,ti.age ,ti.tele ,ti.e_mail);printf(*已成功添加%d個聯(lián)系人*n,num);fclose(fp);void dele(struct lianxiren a,int n)struct lianxiren temp5;char mingzi20;int i,j=0,s=0;printf(輸
25、入你要刪除人得名字:);scanf(%s,mingzi);printf(n);for(i=0;in;i+)if(strcmp(mingzi,ai.name)!=0)strcpy(tempj.name,ai.name);strcpy(tempj.address,ai.address);strcpy(tempj.age,ai.age);strcpy(tempj.tele,ai.tele);strcpy(tempj.e_mail,ai.e_mail);j+;else s+;printf(你要刪除得人得信息是:n);printf(-n);printf(名字地址 年齡 電話郵箱n);printf(-n)
26、;printf(%-8s%-10s%-8s%-15s%-20sn,ai.name,ai.address,ai.age,ai.tele,ai.e_mail);FILE *fp;if(fp=fopen(通訊錄.txt,w)=NULL)printf(無法打開文件,按任意鍵退出!n);char a;scanf(%c,&a);exit(0);for(i=0;ij;i+)fprintf(fp,n);fprintf(fp,%s%s%s%s%s,tempi.name,tempi.address,tempi.age,tempi.tele,tempi.e_mail);if(s!=0) printf(*刪除成功!*
27、n);else printf(您所要刪除的聯(lián)系人不存在,請核查拼寫及大小寫n);fclose(fp);void print(struct lianxiren t,int n)if(n=0)printf(*文件為空!*n);return;int i;printf(*通訊錄*n);printf(名字地址 年齡 電話郵箱n);printf(_n);for(i=0;in;i+)printf(%-8s%-10s%-8s%-15s%-20s,ti.name ,ti.address ,ti.age ,ti.tele ,ti.e_mail );printf(n);void chazhao(struct lia
28、nxiren t,int n)int i;printf(輸入選擇:1按姓名查找,2按年齡查找:);scanf(%d,&i);if(i=1) chazhao_name(t,n);if(i=2) chazhao_age(t,n);void chazhao_name(struct lianxiren a,int n)char s20; int i,f=0; printf(輸入要查找的人的名字n);scanf(%s,s);for(i=0;in;i+)if(strcmp(s,ai.name )=0)f+;printf(您要找得人是:n);printf(名字地址 年齡 電話郵箱n);printf(_n);
29、printf(%-8s%-10s%-8s%-15s%-20sn,ai.name ,ai.address ,ai.age ,ai.tele ,ai.e_mail );if(f=0)printf(沒有找到符合您要求的聯(lián)系人,請核查你的輸入!n);void chazhao_age(struct lianxiren a,int n)int i,f=0;char j5;printf(輸入要找人的年齡:n);scanf(%s,j);for(i=0;in;i+)if(strcmp(j,ai.age)=0)f+;printf(您要找得人是:n);printf(名字地址 年齡 電話郵箱n);printf(_n);printf(%-8s%-10s%-8s%-15s%-20sn,ai.name ,ai.address ,ai.age ,ai.tele ,ai.e_mail );if(f=0)printf(沒有找到符合您要求的聯(lián)系人,請檢查您的輸入!n); 26
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 對標(biāo)管理概述和實施
- 市場營銷信息系統(tǒng)與營銷調(diào)研
- 市場經(jīng)濟(jì)的一般特征(優(yōu)質(zhì)課)
- 粒子物理學(xué)的發(fā)展PPT
- 四年級下冊語文園地三口語交際(檀麗萍)
- 四年級下冊品德與社會《創(chuàng)造文明的環(huán)境》
- 創(chuàng)業(yè)設(shè)立公司流程介紹
- XX綜合經(jīng)濟(jì)開發(fā)區(qū)戰(zhàn)略咨詢
- 零基礎(chǔ)對外漢語第一課
- 寫作+寫出人物精神+(共23張PPT)(教育精品)
- 螺桿擠出機(jī)
- 考點4-價格變動對經(jīng)濟(jì)生活的影響
- 美國專利查詢介紹
- GP綠色產(chǎn)品環(huán)境管理物質(zhì)知識培訓(xùn)
- 簡潔明快的優(yōu)秀模板之商業(yè)管理技巧suervisory