版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精品文檔課程設(shè)計(jì)報(bào)告書 題 目: 通迅錄 專 業(yè): 計(jì)算機(jī)計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 12級(jí)<4>班 姓 名: 馬立萍 學(xué) 號(hào): 2021051434 指導(dǎo)老師: 米文麗 成 績(jī): 一 需求分析整個(gè)通訊錄一共6個(gè)局部,分別為預(yù)選準(zhǔn)備,增加聯(lián)系人,刪除聯(lián)系人,顯示聯(lián)系人,修改聯(lián)系人,以及退出系統(tǒng)。 0預(yù)選準(zhǔn)備:首先調(diào)用定義的read_func函數(shù),查詢是否有預(yù)先保存的數(shù)據(jù),如果有那么載入沒有那么先調(diào)用insert_func函數(shù)輸入一個(gè)數(shù)據(jù)然后進(jìn)入主菜單1增加聯(lián)系人:在主菜單中鍵入1那么進(jìn)入增加聯(lián)系人局部。通過調(diào)用insert_func函數(shù)輸入名字與 。由于系統(tǒng)的原因,名字和 的字符長(zhǎng)
2、度為20,超過20那么出錯(cuò),但由于國(guó)內(nèi)的實(shí)際情況20字符幾乎可以滿足所有非特殊的 用途。2刪除聯(lián)系人:在主菜單中鍵入2那么進(jìn)入刪除聯(lián)系人局部。通過調(diào)用delete_func()函數(shù),查找需要?jiǎng)h除聯(lián)系人的名字進(jìn)行刪除。3顯示聯(lián)系人:在主菜單中鍵入3那么進(jìn)入顯示聯(lián)系人局部。通過調(diào)用display_func()函數(shù),顯示并按照 號(hào)碼的大小排列顯示并統(tǒng)計(jì)所有的聯(lián)系人個(gè)數(shù)。4修改聯(lián)系人:在主菜單中鍵入4那么進(jìn)入修改聯(lián)系人局部。通過調(diào)用modify_func()函數(shù),查找需要?jiǎng)h除聯(lián)系人的名字進(jìn)行修改號(hào)碼。5退出系統(tǒng):在主菜單中鍵入5那么進(jìn)入退出系統(tǒng)局部。通過調(diào)用write_func()函數(shù),保存已輸入的
3、號(hào)碼,并退出系統(tǒng)。二 概要設(shè)計(jì):開始載入保存數(shù)據(jù)輸入第一個(gè)數(shù)據(jù)系統(tǒng)主菜單有無添加聯(lián)系人刪除聯(lián)系人顯示聯(lián)系人修改聯(lián)系人退出系統(tǒng)三 詳細(xì)設(shè)計(jì)/* file name: slist.c */* 單鏈表,插入、刪除使用排序 */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>void read_func(void);void write_func(void);void insert_func(void);void tel_func(void);void d
4、elete_func(void);void display_func(void);void modify_func(void);void anykey_func(void);struct student char name20;char telephone20;struct student *next;struct student *ptr, *head, *current, *prev;void main(void)char option1;system("cls");read_func();while(1)printf("*n");printf(&q
5、uot; 1.增加聯(lián)系人n");printf(" 2.刪除聯(lián)系人n");printf(" 3.顯示聯(lián)系人n");printf(" 4.修改聯(lián)系人n");printf(" 5.退出系統(tǒng)n");printf("*n");printf(" Please enter your choice (1-5).");option1=getche();printf("n");switch(option1)case '1':insert_func()
6、;break;case '2':delete_func();break;case '3':display_func();break;case '4':modify_func();break;case '5':write_func();exit(0);void read_func(void)FILE *fptr;head=(struct student *) malloc(sizeof(struct student);head->next = NULL;/* 開始時(shí),假設(shè)表中不存在數(shù)據(jù),那么要求輸入第一筆數(shù)據(jù) */if(fpt
7、r=fopen("slist.dat","r") = NULL)printf("表中數(shù)據(jù)不存在n");printf(" 請(qǐng)按任意鍵輸出第一組數(shù)據(jù).n");getch();insert_func();elseptr=(struct student *) malloc(sizeof(struct student);while(fscanf(fptr, "%s %s", ptr->name, &ptr->telephone) != EOF)tel_func();ptr=(struc
8、t student *) malloc(sizeof(struct student);fclose(fptr);void write_func(void)FILE *fptr;fptr=fopen("slist.dat","w");current=head->next;while(current != NULL)fprintf(fptr, "%s %sn", current->name, current->telephone);current = current->next;fclose(fptr);void
9、insert_func(void)ptr=(struct student *) malloc(sizeof(struct student);printf(" 名字 : ");gets(ptr->name);printf(" : ");gets(ptr->telephone); tel_func();/*以 上下由大到小排列*/void tel_func(void)/插入數(shù)據(jù)prev = head;current = head->next;while (current != NULL) && (current->te
10、lephone > ptr->telephone) prev = current;current = current->next;ptr->next = current;prev->next = ptr;void delete_func(void)char del_name20;printf(" 刪除名字: ");gets(del_name);prev = head;current = head->next; while (current != NULL) && (strcmp(current->name , del
11、_name)!=0)prev = current;current = current->next;if (current != NULL)prev->next = current->next;free(current);printf(" %s 檔案已刪除n",del_name);elseprintf(" 姓名 %s 沒找到n",del_name);anykey_func();void modify_func(void)char n_temp20;printf(" 需要修改信息的名字: ");gets(n_temp);
12、current=head->next;while (current != NULL) && (strcmp(current->name , n_temp)!=0)prev = current;current = current->next;if (current != NULL)printf(" *n");printf(" 名字 : %sn",current->name);printf(" : %sn",current->telephone);printf(" *n")
13、;printf(" 請(qǐng)輸入新的 : ");gets(ptr->telephone);printf(" %s 檔案修改n",n_temp);elseprintf(" 名字 %s 沒有被找到n",n_temp);anykey_func();void display_func(void)int count=0;system("cls");if(head->next = NULL) printf(" No student recordn"); elseprintf(" 名字 n&q
14、uot;);printf(" -n");current=head->next;while(current != NULL)printf(" %-20s %3sn", current->name, current->telephone);count+;current=current->next;if(count % 20 = 0) getch();printf(" -n");printf(" 總共 %d 記錄被找到n", count);anykey_func();void anykey_fun
15、c(void) printf(" 請(qǐng)輸入任意鍵以繼續(xù)");getch();printf("n");四 測(cè)試和結(jié)果分析:(一).測(cè)試1 開頭載入不成功輸入第一組數(shù)據(jù)以及顯示主菜單界面2 添加聯(lián)系人界面:3 刪除聯(lián)系人界面:4顯示聯(lián)系人界面:5修改聯(lián)系人界面:6退出后保存的slist.dat文件二結(jié)果分析界面比擬煩亂,或許應(yīng)該使用system(“cls)來使系統(tǒng)更加簡(jiǎn)潔,而且系統(tǒng)功能過于簡(jiǎn)單,如果是顯示使用的通訊錄應(yīng)該包含多個(gè) 號(hào)碼,包括固定 幾個(gè) ,QQ,地址,郵箱等等數(shù)據(jù),而且開始時(shí) 號(hào)碼的數(shù)據(jù)不能超過10位,否那么就不能正常顯示,經(jīng)過修改現(xiàn)在能顯示20位以內(nèi),但是總覺得這樣的修改并不靈活,有待修改。五 課程設(shè)計(jì)總結(jié)及心得通過這次的課程設(shè)計(jì),更加深了我對(duì)數(shù)據(jù)結(jié)構(gòu)這門課程的理解,特別是對(duì)數(shù)據(jù)結(jié)構(gòu)的靈活運(yùn)用有了很大進(jìn)步。這次的課程設(shè)計(jì)的題目很簡(jiǎn)單,設(shè)計(jì)一個(gè)通訊錄的系統(tǒng),但是簡(jiǎn)單的背后卻給我造成了不小的麻煩,這揭發(fā)出我的所學(xué)還不踏實(shí),而且學(xué)習(xí)和運(yùn)用也不能靈活的相連起來。數(shù)據(jù)結(jié)構(gòu)是一門很抽象
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《晉中傳統(tǒng)民居裝飾中的植物紋樣研究》
- 《個(gè)案工作促進(jìn)受家暴婦女的增權(quán)研究》
- 《基于能耗模擬的太原市老舊醫(yī)院住院樓節(jié)能改造技術(shù)研究》
- 《我國(guó)民辦非營(yíng)利性養(yǎng)老機(jī)構(gòu)問題研究》
- 120噸轉(zhuǎn)爐托圈安裝技術(shù)方案
- 園區(qū)綠化帶路牙鋪設(shè)方案
- 幼兒園戶外體育自選活動(dòng)材料投放的實(shí)踐與研究課題研究階段計(jì)劃
- 婦幼健康促進(jìn)活動(dòng)組織考核試卷
- 小學(xué)六年級(jí)數(shù)學(xué)集體備課工作計(jì)劃
- ××市××項(xiàng)目復(fù)盤報(bào)告【正式版】課件
- 早期復(fù)極綜合征的再認(rèn)識(shí)課件
- 供水突發(fā)事件應(yīng)急預(yù)案
- 世界文化遺產(chǎn)-樂山大佛課件
- 任人處置的作文完整的
- 用工申請(qǐng)單(標(biāo)準(zhǔn)模版)
- 《護(hù)理臨床帶教》課件
- 企業(yè)信息安全意識(shí)培訓(xùn)課件
- 公安派出所建筑外觀形象設(shè)計(jì)規(guī)范1
- 大氣課設(shè)-酸洗廢氣凈化系統(tǒng)
- 調(diào)機(jī)品管理規(guī)定
評(píng)論
0/150
提交評(píng)論