通訊錄管理系統(tǒng)畢業(yè)論文.doc
《通訊錄管理系統(tǒng)畢業(yè)論文.doc》由會員分享,可在線閱讀,更多相關《通訊錄管理系統(tǒng)畢業(yè)論文.doc(27頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 濮陽職業(yè)技術學院畢業(yè)論文系別:物理與機電工程系,班級:08應用電子,學生: 學號:0805316078指導教師: 課程:C語言 通訊錄管理系統(tǒng)指導思想:通過畢業(yè)論文工作使大學生對C語言的基本知識、基礎理論、基本技能得到提高,畢業(yè)論文工作是高職培養(yǎng)階段教學質量的綜合訓練和檢驗。 目 錄畢業(yè)論文課題和指導思想1摘要3第一章 設計的目的和意義4第二章 系統(tǒng)分析51、系統(tǒng)總體結構分析52、數(shù)據(jù)類型的選擇53、主要函數(shù)原型54、調用到的函數(shù)65、模塊的設計與介紹6第三章 模塊介紹和總體實現(xiàn)71、增加模塊72、刪除模塊83、輸入模塊104、查找模塊105、總體實現(xiàn)11第四章 調試與測試141.輸入程序進
2、行編譯、運行142、增加聯(lián)系人143、聯(lián)系人輸出154、刪除聯(lián)系人155、查找聯(lián)系人166、退出16總結17參考資料18附錄(源代碼)19摘 要 當今時代,網(wǎng)絡已經(jīng)成為人們生活中不可缺少的一部分,世界上的第三媒體Internet ,它打破了地域時間限制,改變了人們的工作和生活方式,制作站點是企業(yè)和個人的宣傳自己的重要手段,同時也學習信息的重要手段,今年來,隨著網(wǎng)絡用戶要求的不斷提高及計算機科學的迅速發(fā)展,特別是數(shù)據(jù)庫技術在Internet中的廣泛應用,Web站點向用戶提供的服務將越來越豐富,越來越人性化.計算機在管理中應用的普及,利用計算機實現(xiàn)各種管理勢在必行,對于機關單位來說,利用計算機支持
3、高效率完成通訊錄,是適應社會制度要求、推動機關單位信息利用計算機支持高效率完成通訊管理,是適應現(xiàn)在社會制度要求、推動機關單位信息管理走向科學化、規(guī)范化的必要條件。隨著社會的發(fā)展及知識經(jīng)濟時代的到來,管理信息系統(tǒng)在各行各業(yè)發(fā)揮著越來越重要的作用。通信錄管理系統(tǒng)是典型的信息管理系統(tǒng)。通信錄管理系統(tǒng)的水平,是衡公司發(fā)展水平的一個重要指標。通信錄管理系統(tǒng)工作煩瑣,包含了大量的信息數(shù)據(jù),因此就需要一個完善的職工信息管理系統(tǒng)來實現(xiàn)對這些數(shù)據(jù)的有效管理,滿足公司管理者的需求。關鍵字:通訊錄; 管理信息系統(tǒng); MIS; Visual Basic;第一章 設計的目的和意義通訊錄管理系統(tǒng)是典型的管理系統(tǒng)(MIS)
4、,其開發(fā)主要包括數(shù)據(jù)庫的建立和維護前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)庫一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。經(jīng)過分析,我們使用MICROSOFT公司的VISUAL,BASIC開發(fā)工具,利用其提供的各種面向對象的開發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內建立系統(tǒng)應用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。 將網(wǎng)絡和通訊錄管理結合起來。使得組會人員對參考人員的實際情況一目了然,經(jīng)過詳細的系統(tǒng)調查,開發(fā)出的操作簡單而且方便使用的一個通訊系統(tǒng)。實現(xiàn)參會代表的動態(tài)
5、管理,使得對信息的管理更加方便,同時計算機具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好。這樣組會人員在工作起來效率高,可以不用再做大量的記錄。從而大大減輕了機關單位職員的工作量。運用數(shù)據(jù)結構中的算法思想作數(shù)據(jù)結構,結合C語言基本知識,編寫一個通訊錄管理系統(tǒng)。通過完成本課題,進一步熟悉C語言的基本知識,并掌握數(shù)據(jù)結構的一些基本算法思想,掌握C語言的文件操作(包括從磁盤讀入和向磁盤寫入內容),進一步熟悉指針的用法,數(shù)組的建立運用和函數(shù)的調用等。 加深對數(shù)據(jù)結構的理解,提高算法設計的能力,鍛煉編程的能力用C語言編寫一個通訊錄管理系統(tǒng)軟件,要求能實現(xiàn)通訊錄管理系
6、統(tǒng)中增加新記錄, 刪除記錄, 顯示通訊錄的所有信息, 按名字查詢信息, 保存通訊錄,退出系統(tǒng)。第二章 系統(tǒng)分析1、系統(tǒng)總體結構分析根據(jù)實際情況,我們使用原型法,即以少量代價快速地構造一個可執(zhí)行的軟件系統(tǒng)模型,使用戶和開發(fā)人員可以較快的確定需求,然后采用循環(huán)進化的開發(fā)方式,對系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質逐漸加上去,直到所有的性質全部滿足。以下為系統(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、調用到的函數(shù)通過switch(表達式)case 常量表達式1:語句1case
8、常量表達式2:語句2case 常量表達式n:語句n調用六個函數(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、模塊設計與介紹對本系統(tǒng)的功能進行分析后可作如下的模塊化設計:輸入模塊實現(xiàn)功能:按順序將有姓名(name )、地址(addre
9、ss)、年齡(age)、電話(tel)、電子郵箱(E-mail)依次輸入,并建立鏈表將其連接。當輸入數(shù)據(jù)完畢時Enter,輸入結束。刪除模塊實現(xiàn)功能:在已經(jīng)存儲的文件中刪除指定的通信錄信息,并釋放內存空間。刪除所有相關通信錄信息。查找模塊實現(xiàn)功能:在已經(jīng)存儲的文件中查找指定的通信錄信息??梢园凑詹檎倚彰蚍椒ㄟM行。輸出模塊實現(xiàn)功能:在輸入特定的文件名之后,輸出該文件中所包含的全部通信錄信息。添加模塊實現(xiàn)功能:添加相應信息保存操作,鏈表中的信息以文件形式被長期。保存。主序模塊實現(xiàn)功能:完成系統(tǒng)的界面處理,包括開始界面和主菜單界面。第三章 模塊介紹和總體實現(xiàn)1、 Add( )增加模塊建立鏈表的具體
10、操作就是逐一輸入各結點數(shù)據(jù),并建立其前后相鏈的關系。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指針。要完成的是鏈表的刪除操作,只需修改鏈表中要刪除結點的前一個結點的鏈指針。使之指向被刪除結點的后面一個結點即可。 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;第四章 調試與測試1.輸入程序進行編譯、運行2.增加聯(lián)系人(例:1)3.聯(lián)系人輸出4.刪除聯(lián)系人5.查找聯(lián)系人6.退出總 結課程設計是培養(yǎng)學生綜合運用所學知識 、發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們的實際工作能力的具體訓練和考察過程.隨著科學技術發(fā)展的日新月異,當今計算機應用在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握程序開發(fā)技術是十分重要的,而C語言又是最常
17、見,功能最強大的一種高級語言,因此做好C語言課程設計是十分必要的。 回顧起此次課程設計,至今我們仍感慨頗多,的確,整個編程,從理論到實踐,在籌備的日子里,可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我們懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對一些前面學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結構體,
18、指針,鏈表通過這次課程設計之后,我們把前面所學過的知識又重新溫故了一遍。 通過這次論文的寫作,我不僅加深了對C語言理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新可以是在原有的基礎上進行改進,使之功能不斷完善,成為真己的東西!此致敬禮 參考資料1 龔沛曾 編著 .Visual Basic 6.0 程序設計教程 02年第三版(高等教育出版社).2薩師煊 、王珊 編著 .數(shù)據(jù)庫系統(tǒng)概論02年第二版(高等教育出版社). 3趙文靜. 數(shù)據(jù)結構與算法M. 北京: 科學出版社4王敬華,林萍,.陳靜. C語言程序設計M. 北京: 清華大學出
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)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。