班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)_第1頁
班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)_第2頁
班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)_第3頁
班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)_第4頁
班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)PAGE文案大全班級通訊錄1、設(shè)計目的設(shè)計一個計算機管理系統(tǒng)對班級通訊錄進行管理。2、設(shè)計要求一個學生的數(shù)據(jù)包括:學號、、、手機、QQ號。要求設(shè)計一個計算機管理系統(tǒng)對班級通訊錄進行管理,具有的功能是能夠進行錄入、修改、刪除、查找和輸出所有記錄。為提高數(shù)據(jù)的可訪問性,、手機、QQ號建立索引表,索引表可以在維護數(shù)據(jù)時動態(tài)維護,也可能最后一次建立。設(shè)計條件:硬件條件:(1)學生用微機(2)多媒體教室(3)局域網(wǎng)環(huán)境軟件條件:(1)WindowsXP中文操作系統(tǒng)(2)TurboC3.03、課程設(shè)計的容3.1、需求分析:隨著科技的進步和信息產(chǎn)業(yè)的發(fā)展,通訊錄成為了現(xiàn)代生活中的一個重要的工具。利用通訊錄管理系統(tǒng)對通訊錄進行統(tǒng)一管理,包括添加,修改,查詢記錄等功能,實現(xiàn)通訊錄管理工作的系統(tǒng)化,規(guī)化和自動化,為生活提供便利。在設(shè)計的通訊錄中,學生學號,,手機,QQ均以數(shù)字的形式進行輸入,學生則以中文,英文輸入均可進行記錄,輸出的形式與輸入形式相同。按要求,設(shè)計的通訊錄管理系統(tǒng)可以實現(xiàn)添加、修改、刪除、查找,對學號的排序和輸出所有學生記錄。進行測試的數(shù)據(jù)和執(zhí)行情況如下圖所示:程序主觀圖:班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第1頁。添加記錄:班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第1頁。顯示所有記錄:班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第2頁。班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第2頁。根據(jù)學號查找:班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第3頁。班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第3頁。進行排序:班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第4頁。班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第4頁。3.2、概要設(shè)計:對該系統(tǒng)各種函數(shù)的定義在源代碼給出,先給出函數(shù)的定義,然后給出菜單的執(zhí)行函數(shù),建立鏈表,并對各個功能的實現(xiàn)編出程序,直到調(diào)試成功為止。3.3、詳細設(shè)計主要給出程序的流程圖,如下所示:菜單函數(shù):班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第5頁。班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第5頁。按學號顯示學生數(shù)據(jù):班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第6頁。班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第6頁。顯示所有信息:班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第7頁。排序班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第7頁。3.4、程序調(diào)試與測試結(jié)果:經(jīng)過認真調(diào)試最終結(jié)果為正確。如圖:3.5、結(jié)果分析:在編譯過程中遇到很多困難,程序也基本上符合要求,但是有一點目前還沒解決,就是基于鏈表的修改還沒掌握,因此花了很大的力氣,但是還是沒有完成,只好采取的修改方式為:刪除,添加,排序的方法對鏈表中的元素進行修改。4、總結(jié)本系統(tǒng)基本實現(xiàn)了班級通訊錄系統(tǒng)的典型功能,如添加查找等功能,而且具有較高的安全性。但是因為能力有限,還有部分功能未能完善,這些局限性都是有待逐步完善的方面。而且通過這次課程設(shè)計,我培養(yǎng)了自己對C編程的興趣,進一步了解了數(shù)據(jù)結(jié)構(gòu)的特色和,編程能力也有所提高,但仍存在許多不足,不能獨自編寫完整代碼,寫代碼要參考很多資料,所以今后應(yīng)培養(yǎng)自己獨立寫代碼的能力。5、參考文獻班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第8頁。班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第8頁。[2]姜靈芝,余鍵.C語言課程設(shè)計案例精編:清華大學,2008 6、附錄該程序的源代碼:#include<stdio.h>#include<conio.h>#include<malloc.h>#include<string.h>#include<process.h>typedefstructstudent{charNumber[10];//學號charname[20];//chartelephone[20];//charcellphone[20];//手機charQQ[10];//QQstructstudent*next;}student;student*headLink;//鏈表表頭指針voidDesplayMenu();//以下是函數(shù)聲明voidCreateHeadLink();student*MallocNode();voidGetInformation(student*t);voidOutputInformation();voidDesplayInfoByNumber();voidDesplayOneNode(student*t);voidInsertOneNode(student*t);voidrangebyNumber();voidDeleteNodeByNumber();voidDesplayInfoByName();intchoose;//用于接受用戶的選擇voidmain()//主函數(shù){CreateHeadLink();DesplayMenu();}voidDesplayMenu()//顯示菜單,根據(jù)用戶的輸入完成相應(yīng)的功能{student*p;班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第9頁。班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第9頁。printf("1顯示所有學生信息\n");printf("2增加一條學生信息\n");printf("3刪除一條學生信息\n");printf("4根據(jù)學號查找學生的信息\n");printf("5按學號高到低排序\n");printf("6退出\n");printf("請輸入序號:\n");scanf("%d",&choose);//取得用戶的選擇switch(choose){case1:OutputInformation();break;case2:p=MallocNode();//先申請一個新結(jié)點GetInformation(p);//要求用戶輸入信息到新結(jié)點中InsertOneNode(p);//將新結(jié)點加到鏈表中break;case3:DeleteNodeByNumber();break;case4:DesplayInfoByNumber();break;case5:rangebyNumber();break;case6:free(headLink);//先釋放存空間exit(1);break;default:break;}DesplayMenu();//遞歸調(diào)用}voidCreateHeadLink()//建立鏈表表頭{student*p;p=(student*)malloc(sizeof(student));headLink=p;p->next=NULL;班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第10頁。班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第10頁。student*MallocNode()//申請一個新結(jié)點,并將其初始化{student*p;inti;p=(student*)malloc(sizeof(student));if(p==NULL)returnNULL;for(i=0;i<10;i++)p->Number[i]='\0';for(i=0;i<20;i++)p->name[i]='\0';for(i=0;i<20;i++)p->telephone[i]='\0';for(i=0;i<10;i++)p->cellphone[i]='\0';for(i=0;i<10;i++)p->QQ[i]='\0';p->next=NULL;returnp;}voidGetInformation(student*t)//添加學生信息{printf("請輸入序號:\n");scanf("%s",t->Number);printf("請輸入:\n");scanf("%s",t->name);printf("請輸入:\n");scanf("%s",t->telephone);printf("請輸入手機號:\n");scanf("%s",t->cellphone);printf("請輸入QQ:\n");scanf("%s",t->QQ);}voidInsertOneNode(student*t)//在鏈表的結(jié)尾處增加一個結(jié)點{student*p;p=headLink;while(p->next){p=p->next;}班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第11頁。班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第11頁。}voidDesplayInfoByNumber()//根據(jù)學號顯示該學號學生的信息{student*p;chargood[10];charflag=0;p=headLink->next;if(p==NULL){printf("對不起,現(xiàn)在沒有學生信息!\n");return;}printf("請輸入序號:\n");scanf("%s",good);printf("學號\t\t\t手機號\tQQ\t\n");while(p){if(strcmp(p->Number,good)==0){DesplayOneNode(p);flag=1;break;}p=p->next;}if(!flag)printf("對不起,不存在序號為%s的學生\n",good);}voidDesplayOneNode(student*t)//輸出一個學生結(jié)點的信息{printf("%s\t",t->Number);printf("%s\t",t->name);printf("%s\t",t->telephone);printf("%s\t",t->cellphone);printf("%s\t\n",t->QQ);}voidDeleteNodeByNumber()//根據(jù)學號刪除該學生信息{chargood[10];student*p,*q;班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第12頁。charflag=0;班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第12頁。printf("請輸入要刪除的學生序號:");scanf("%s",good);p=headLink;q=headLink->next;while(q){if(strcmp(q->Number,good)==0){p->next=q->next;free(q);flag=1;break;}p=p->next;q=q->next;}if(!flag)printf("不存在這學生\n");}voidOutputInformation()//顯示所有學生的信息{student*p;p=headLink->next;if(p==NULL){printf("現(xiàn)在沒有任何信息,請先輸入學生信息\n\n");return;}printf("學號\t\t\t手機號\tQQ\t\n");while(p){DesplayOneNode(p);p=p->next;}}voidrangebyNumber()//根據(jù)輸入的學號,按低到高排序{charNumber[10];studentexchange,*r,*p,*q;r=headLink->next;if(r==NULL)班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁班級通訊錄(大數(shù)據(jù)結(jié)構(gòu)-C語言)全文共14頁,當前為第13頁。printf("現(xiàn)在還沒任何信息,請先輸入學生信息\n");return;}printf("請輸入學號:\n");scanf("%s",Number);while(r)//兩層while循環(huán)實現(xiàn)排序{p=r;q=r->next;while(q){if((strcmp(p->Number,q->Number)>0))//學號大時才交換{strcpy(exchange.Number,q-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論