版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、風(fēng)從水上走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳印 ;哨鴿從天空飛過,留下串串歡韻;歲月從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下些什么?花從春走過,留下縷縷花香;葉從夏走過,留下片片蔭涼;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下種種希望。啊,朋友,我們從人生的四季走過,將給人生留下些什么縷縷花香;葉從夏走過,留下片片蔭涼風(fēng)從水上走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳印 ;哨鴿從天空飛過,留下串串歡韻;歲月?花從春走過,留下從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下些什么;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下
2、種種希望。啊,朋友, 我們從人生的四季走過,將給人生留下些什么家3匚人疊秦皇島分校NorthEastern University At QinHuangDao數(shù)據(jù)結(jié)構(gòu)課程設(shè)計宿舍管理查詢軟件班級學(xué)號班學(xué)生姓名提交日期2015年7月24日成 績計算機與通信工程學(xué)院一、需求分析1、程序設(shè)計任務(wù)為宿舍管理人員編寫一個宿舍管理查詢軟件。程序設(shè)計要求:A.采用交互工作方式B.建立數(shù)據(jù)文件,數(shù)據(jù)文件按關(guān)鍵字(姓名、學(xué)號、房號)進(jìn)行排序(冒泡、選擇、插入排序等任選一種)查詢菜單:(用二分查找實現(xiàn)以下操作)A.按姓名查詢B.按學(xué)號查詢C.按房號查詢打印任一查詢結(jié)果(可以連續(xù)操作)2、功能要實現(xiàn)交互工作方式,各
3、項操作結(jié)束后均應(yīng)返回主菜單;系統(tǒng)本無任何信息數(shù)據(jù), 要建立數(shù)據(jù)文件,需開發(fā)一個信息錄入功能,即首先創(chuàng)建一個學(xué)員線性表,同時我們可以將數(shù)據(jù)暫時保存在內(nèi)存中,所以我們未開發(fā)信息存盤功能;信息錄入后都保存在內(nèi)存中,用戶看不到,需要設(shè)計一個信息顯示功能,信息的顯示應(yīng)該便于查閱,所以需具備按各種關(guān)鍵字顯示的功能;本系統(tǒng)按關(guān)鍵字(姓名、學(xué)號、房號)進(jìn)行冒泡排序,采用二分查找方式分別實現(xiàn)按關(guān)鍵字(姓名、學(xué)號、房號)查詢功能;由于有些同學(xué)因為不同原因而離校,所以設(shè)計了刪除功能;由于有新同學(xué)入校,所以設(shè)計了插入功能;當(dāng)用戶操作完畢需要退出時,我們提供了退出選項,便于使用者退出交互式工作系統(tǒng)。3、功能模塊圖沒有落
4、日般的瑰麗,沒有流云般的飄逸,但可以有水晶般的清純與透明。沒有大山般的巍峨,沒有湖水般的輕柔,但可以有巖石般的堅毅與穩(wěn)重。沒有大海般的浩瀚,沒有瀑布般的飛瀉,但可以有泥土般的樸素與隨和。4、流程圖輸入學(xué)牛信氫5、輸入和輸出(20個字以內(nèi)),學(xué)號(整型),房號(整型)。輸入的形式1)開始創(chuàng)建線性表:按先后順序輸入姓名2)根據(jù)用戶所選擇的操作鍵,然后再根據(jù)程序的相應(yīng)提示進(jìn)行輸入。選擇操作鍵1 (按姓名排序):無輸入;選擇操作鍵2 (按學(xué)號排序):無輸入;選擇操作鍵3 (按房號排序):無輸入;選擇操作鍵4 (按姓名查找) 選擇操作鍵5 (按學(xué)號查找) 選擇操作鍵6 (按房號查找) 選擇操作鍵7 (按
5、學(xué)號插入) 選擇操作鍵8 (按學(xué)號刪除)輸入要查找的姓名;輸入要查找的學(xué)號;輸入要查找的房號;按照提示順序輸入要插入的學(xué)生姓名,學(xué)號,房號 輸入要刪除學(xué)生的學(xué)號。輸出的形式及范圍根據(jù)用戶選擇的不同,會有不同的輸出。選擇操作鍵1 (按姓名排序):輸出以姓名首字母排序的所有學(xué)生信息;選擇操作鍵2 (按學(xué)號排序):輸出按學(xué)號從小到大排列的所有學(xué)生信息;選擇操作鍵3 (按房號排序):輸出按房號從小到大排列的所有學(xué)生信息;選擇操作鍵4 (按姓名查找):若查找成功,則輸出相應(yīng)學(xué)生信息,若不成功,則輸 出該學(xué)生不存在;選擇操作鍵5 (按學(xué)號查找):若查找成功,則輸出相應(yīng)學(xué)生信息,若不成功,則輸 出該學(xué)生不存
6、在;選擇操作鍵6 (按房號查找):若查找成功,則輸出相應(yīng)學(xué)生信息,若不成功,則輸 出該學(xué)生不存在。選擇操作鍵7 (按學(xué)號插入)選擇操作鍵8 (按學(xué)號刪除)的所有學(xué)生信息。6、測試數(shù)據(jù) 開始錄入的數(shù)據(jù):姓名劉備 孫權(quán) 周瑜 正確輸入:查找的數(shù)據(jù): 正確輸出:孫權(quán) 6 二、詳細(xì)設(shè)計 1、數(shù)據(jù)結(jié)構(gòu)typedef struct / char name20;int num; /學(xué)號房號1102623131246 (按學(xué)號)231定義結(jié)構(gòu)體成員學(xué)號和房號都為整型int room;stu;stu stud;typedef structint length;stu *elem;int listsize;/當(dāng)前
7、長度存儲空間基址當(dāng)前分配的存儲容量:輸出插入后的所有學(xué)生信息;:輸出所需刪除的學(xué)生信息,確認(rèn)刪除后,輸出刪除后linklist;2、數(shù)據(jù) int f ;f為全局變量,指選擇的操作鍵數(shù)char name20;name為姓名 int num ;num為學(xué)號 int room ;room為房號int length;length為線性表的當(dāng)前長度stu *elem;elem指示線性表的基地址int listsize;listsize為當(dāng)前分配的存儲容量char c ;c為進(jìn)入主界面的任意鍵char ch;ch為判斷字符y或nint i,j;在冒泡排序中,i為外層循環(huán)次數(shù),j為內(nèi)層循環(huán)次數(shù)int i ;
8、在打印學(xué)生信息時,i作為循環(huán)變量int m;int n;int a;m,n,a在二分查找中分別代表房號,學(xué)號,姓名 int i,j,k;i,j,k在按學(xué)號插入中作為循環(huán)變量int i,j,k=-1;i,j,k在按學(xué)號刪除中作為循環(huán)變量3、函數(shù)調(diào)用具體函數(shù)如下:void init(linklist &l)void create(linklist &l)void sort3(linklist &l) void sort2(linklist &l) void sort1(linklist &l) void chazhao3(linklist void chaz
9、hao2(linklist void chazhao1(linklist void print1(linklist &l) void print2(linklist &l,int mid) 數(shù)實現(xiàn)。:用于線性表初始化,通過調(diào)用C語言文件操作函數(shù)來實現(xiàn)。:用于創(chuàng)建學(xué)生信息表,通過線性表來實現(xiàn)。用于按房號排序,用于按學(xué)號排序,用于按姓名排序,通過采用冒泡排序的算法來實現(xiàn)。 通過采用冒泡排序的算法來實現(xiàn)O 通過采用冒泡排序的算法來實現(xiàn)O&l)&l)&l)用于按房號從小到大查找,用于按學(xué)號從小到大查找,用于按姓名從小到大查找,通過采用二分查找的算法來實現(xiàn)。通過采
10、用二分查找的算法來實現(xiàn)。通過采用二分查找的算法來實現(xiàn)。:用于打印學(xué)生信息,通過調(diào)用文件操作函數(shù)實現(xiàn)。:用于打印查找到的學(xué)生信息,通過調(diào)用文件查找函int panduan2(char ch) :用于如果學(xué)生不存在,判斷是否繼續(xù)查找,通過 if語句,文件操 作函數(shù)實現(xiàn)void panduan3():用于如果已無學(xué)生記錄則返回主界面,通過調(diào)用其他函數(shù)和文件操作函數(shù)實現(xiàn)。void disp() :用于返回主界面,通過調(diào)用menu()函數(shù)實現(xiàn)。void menu():用于列出操作菜單,通過輸入輸出語句實現(xiàn)。void main():程序操作的入口,是程序的主函數(shù),可以按照已定義的函數(shù)調(diào)用子函數(shù)。4、主程序
11、:int main() / 主函數(shù)linklist l;/定義線性表linit(l);/調(diào)用初始化函數(shù)char ch;system("color a"); printf("n");printf("*歡迎進(jìn)入宿舍管理查詢系統(tǒng)*n");printf("n");printf("請按任意鍵開始操作:");scanf("%c",&ch);system("cls");/將屏幕先前顯示的內(nèi)容清理掉create(l); /調(diào)用線性表創(chuàng)建函數(shù)system("
12、;cls");t=1;menu(); /調(diào)用主菜單函數(shù)while(f!=0)system("cls"); switch(f) case 1: sort1(l); /調(diào)用按姓名排序函數(shù)printf("n");if(l.length=0) printf("已無學(xué)生記錄n");printf("n"); disp(); menu(); else printf(" 按姓名排序:n"); print1(l);disp(); /調(diào)用返回主界面menu();break;case 2: sort2(l)
13、; /調(diào)用按學(xué)號排序函數(shù)printf("n");if(l.length=0)printf(" 已無學(xué)生記錄n");printf("n");disp();menu(); else printf(" 按學(xué)號排序:n");print1(l); disp(); menu();break;case 3: sort3(l); /調(diào)用按房號排序函數(shù)printf("n");if(l.length=0)printf(" 已無學(xué)生記錄n");printf("n");disp(
14、); menu(); else printf("按房號排序:n");print1(l);disp();menu();case 4:sort1(l);/chazhaol(l); / break;case 5: sort2(l); / chazhao2(l); / break;case 6: sort3(l); / chazhao3(l); / break;case 7: sort2(l); /break;先調(diào)用按姓名排序函數(shù)進(jìn)行排序再調(diào)用按姓名查找函數(shù)進(jìn)行(二分)查找先調(diào)用按學(xué)號排序函數(shù)進(jìn)行排序再調(diào)用按學(xué)號查找函數(shù)進(jìn)行(二分)查找先調(diào)用按房號排序函數(shù)進(jìn)行排序再調(diào)用按房號查找函
15、數(shù)進(jìn)行(二分)查找調(diào)用插入函數(shù)insert(l);system("cls");printf("顯示插入后的學(xué)生信息:n");print1(l);disp();menu();break;case 8: Delete(l); /調(diào)用刪除函數(shù)if(l.length=0)printf("n");printf("學(xué)生記錄已被刪除完n");printf("n");disp();menu();elseprintf("顯示刪除后的學(xué)生信息:n");print1(l);disp();menu(
16、); break;三、調(diào)試分析為了避免繁瑣、改進(jìn)算法,在一些函數(shù)中調(diào)用了其它的函數(shù)。如:在按(姓名、學(xué)號、房號)查找中都調(diào)用了panduanl(ch) 和panduan2(ch)函數(shù)。在插入和刪除模塊中,顯示學(xué)生的信息的下面總是有主界面,經(jīng)過調(diào)試,運用system("cls")函數(shù)清屏后,顯示的只有學(xué)生的信息了,再按鍵即可返回主界面。本程序多次運用了disp() 、menu()、system("cls") 、fflush(stdin)等函數(shù),經(jīng)過多次調(diào)試,已經(jīng)很好的控制了顯示的學(xué)生信息與主界面的轉(zhuǎn)換。通過本次課程設(shè)計,對線性表、冒泡排序、二分查找的應(yīng)用有
17、了更深入的了解。四、用戶手冊首先,運行程序進(jìn)入“歡迎進(jìn)入宿舍管理查詢系統(tǒng)”界面,然后進(jìn)入線性表創(chuàng)建界面中,輸入學(xué)生的信息,創(chuàng)建好學(xué)生信息以后單擊任意鍵則進(jìn)入操作界面(主界面),然后可按鍵進(jìn)行操作。單擊數(shù)字鍵“ 1”,則為按姓名排序單擊數(shù)字鍵“ 3”,則為按房號排序單擊數(shù)字鍵“ 5”,則為按學(xué)號查找單擊數(shù)字鍵“ 2”,則為按學(xué)號排序單擊數(shù)字鍵“ 4”,則為按姓名查找單擊數(shù)字鍵“ 6”,則為按學(xué)號查找單擊數(shù)字鍵“ 7”,則為按學(xué)號插入單擊數(shù)字鍵“ 8”,則為按學(xué)號刪除系統(tǒng)中有如下關(guān)鍵詞:提示:當(dāng)輸入的數(shù)字鍵為。時,退出操作;請輸入數(shù)字鍵(18為操作鍵);請按任意鍵進(jìn)入主界面。五、測試結(jié)果(1)歡迎
18、界面I "口士我的費H庠lDotuEents'C-FreeVneE pchengKuesce'*就迎進(jìn) A 盾注 管理查詢 系號充上¥,*初同M*MM*M 請按任意鍵開始操作:(2)按任意鍵進(jìn)入線性表的創(chuàng)建界面,并輸入數(shù)據(jù),開始創(chuàng)建*? 始創(chuàng) 建線性 *1*生e建 學(xué)瀏:1:10 s省喜 第姓看 為入AJ *RMB至IEMB 二1, ,工二(3)按操作鍵選擇操作(4)按姓名排序腿名排序:姓名學(xué)號 房號劉啻1102周瑜3124請接任意鍵進(jìn)入主界面:(5)按學(xué)號排序 -UkLiEB9155 A 庫 UJocu int5VempVihengMii.eKe"
19、;技學(xué)號排序:姓名學(xué)號 房號劃章1102周瑜3124仲權(quán)6231請按任意槌進(jìn)入主界面:(6)按房號排序U! ija&CTiEJlWM uocu mEni5L-r ree em pcnengMJ.exe按房號排序:姓名學(xué)號房號同城102124231睛按任意鍵進(jìn)入主界面:(7)按姓名查找(8)按學(xué)號查找廝UocuEnt5tL -卜一,I empcnergxu.exe"按學(xué)號查找i一>請輸入要查找的學(xué)號"簟詈生信疆孫權(quán)E 231是善繼續(xù)查找?(9)按房號查找M安房號查抄-一一)請輸入要查找的房號:124雪成功->|周瑜3124屜否繼續(xù)查找我以二(10)按學(xué)號插
20、入5 may K- ut*>i li-n =i *i rip八名音是否繼續(xù)插入相(11)按學(xué)號刪除# 1Km%LAK.UI I rClHL、JFXI Cl lip *LI ICI ly 凡 U .CAC爨婿鵬翳的學(xué)號”劉備1102是否繼續(xù)刪除?六、附錄源程序:采用順序線性表解決宿舍管理問題(C語言)#include<stdio.h>#include<stdlib.h>#include<string.h># define N 40 /線性表存儲空間的初始分配量# define increase 10 /線性表存儲空間的分配量增量int f,t=0;定義全
21、局變量typedef structchar name20;int num;學(xué)號和房號都為整型int room;stu;stu stud;typedef structint length; /當(dāng)前長度stu *elem;存儲空間基址int listsize;當(dāng)前分配的存儲容量linklist;void init(linklist &l)/ 線性表初始化l.length=0;l.elem=(stu *)malloc(N*sizeof(stu);l.listsize=N;void menu()操作菜單printf("n");printf("*請按鍵選擇操作*n&
22、quot;);printf("n");printf("n");printf(" printf("n");printf("13按姓名排序按房號排序2按學(xué)號排序4按姓名查找n");n");printf("n"); printf("5按學(xué)號查找6按房號查找n");printf("n"); printf("7按學(xué)號插入8按學(xué)號刪除n");printf("n");printf("提示printf(
23、"n"); printf("n"); printf("n");:當(dāng)輸入的數(shù)字鍵為0時,退出操作n");if(t=1) printf("請輸入數(shù)字鍵(18為操作鍵):");/18為有效數(shù)字操作鍵 scanf("%d",&f);if(f<0|f>9) system("cls");printf("n");printf("輸入數(shù)字不對,請在原處重輸!n"); printf("n"); menu(
24、); void disp() 返回主界面 char c; fflush(stdin); printf("n");printf("請按任意鍵進(jìn)入主界面:”); scanf("%c",&c);system("cls");void panduan3()如果已無學(xué)生記錄則返回主界面printf("n");printf("已無學(xué)生記錄n");printf("n"); disp(); menu();void shuru(linklist l)輸入學(xué)生的信息printf(
25、"請輸入姓名:");fflush(stdin); /清空輸入緩沖區(qū),得到正確的輸入數(shù)據(jù)gets();輸入一行字符串(姓名)printf("請輸入學(xué)號:");scanf("%d",&stud.num);printf("請輸入房號:");scanf("%d",&stud.room);void create(linklist &l)/ 創(chuàng)建學(xué)生信息表if(l.length>=l.listsize)判斷學(xué)生的人數(shù)是否超過初值,如果超過,則重新分配stu *
26、newbase;newbase=(stu*)realloc(l.elem,(N+increase)*sizeof(stu );l.elem=newbase;l.listsize+=increase;int i=2;char ch;printf("n");printf("*開始創(chuàng)建線性表*n");printf("n");printf("請輸入第1個學(xué)生的信息n");shuru(l);調(diào)用輸入函數(shù)ch=getchar();strcpy(,);l.eleml.len
27、gth.num=stud.num;l.eleml.length.room=stud.room;l.length+;printf("n");printf("是否繼續(xù)輸入?<y/n>:");scanf("%c",&ch);printf("n");printf("n");while(ch='y')printf("請輸入第%d個學(xué)生的信息n",i); shuru(l);strcpy(,);l.
28、eleml.length.num=stud.num;風(fēng)從水上走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳印 ;哨鴿從天空飛過,留下串串歡韻;歲月 從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下些什么?花從春走過,留下縷縷花香;葉從夏走過,留下片片蔭涼;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下種種希望。啊,朋友,我們從人生的四季走過,將給人生留下些什么l.eleml.length.room=stud.room;l.length+;i+;ch=getchar(); printf("n");printf("是否繼續(xù)輸入?<y/n&g
29、t;:");scanf("%c",&ch);printf("n");printf("n");if(ch='n') system("cls");void sort3(linklist &l)/按房號排序(采用冒泡排序) int i,j;stu temp;for(i=0;i<l.length-1;i+)for(j=i+1;j<l.length;j+)if(l.elemi.room>l.elemj.room)temp=l.elemi;l.elemi=l.elem
30、j;l.elemj=temp;void sort2(linklist &l)/按學(xué)號排序(采用冒泡排序) int i,j;stu temp;for(i=0;i<l.length-1;i+)for(j=i+1;j<l.length;j+)if(l.elemi.num>l.elemj.num)temp=l.elemi;l.elemi=l.elemj;l.elemj=temp;沒有落日般的瑰麗,沒有流云般的飄逸,但可以有水晶般的清純與透明。沒有大山般的巍峨,沒有湖水般的輕柔,但可以有巖石般的堅毅與穩(wěn)重。沒有大海般的浩瀚,沒有瀑布般的飛瀉,但可以有泥土般的樸素與隨和。風(fēng)從水上
31、走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳印 ;哨鴿從天空飛過,留下串串歡韻;歲月從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下些什么?花從春走過,留下縷縷花香;葉從夏走過,留下片片蔭涼;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下種種希望。啊,朋友,我們從人生的四季走過,將給人生留下些什么void sort1(linklist &l)/按姓名排序(采用冒泡排序)int i,j;stu temp;for(i=0;i<l.length-1;i+)for(j=i+1;j<l.length;j+)if(strcmp(,l.el
32、)>0)temp=l.elemi;l.elemi=l.elemj;l.elemj=temp;void print1(linklist &l)/ 打印學(xué)生信息int i;printf("n");printf("姓名學(xué)號 房號n");printf("n");for(i=0;i<l.length;i+)printf("%-15s %-3d %5dn",,l.elemi.num,l.elemi.room);void print2(linklist &l,i
33、nt mid)打印查找到的學(xué)生信息printf("查找成功-> 該學(xué)生信息為:n");printf("姓名學(xué)號 房號 n");printf("n");printf("%-15s %-5d %-5dn",,l.elemmid.num,l.elemmid.room);int panduan1(char ch)判斷是否繼續(xù)查找scanf("%c",&ch);printf("是否繼續(xù)查找?<y/n>:");fflush(stdin
34、);scanf("%c",&ch);if(ch='y')system("cls");return(1);else return 0; int panduan2(char ch) 如果學(xué)生不存在,判斷是否繼續(xù)查找 scanf("%c",&ch);printf("該學(xué)生不存在,是否繼續(xù)查找?<y/n>:");fflush(stdin); scanf("%c",&ch); if(ch='y') system("cls&quo
35、t;); return;elsereturn 0;void chazhao3(linklist &l)/按房號從小到大查找(采用二分查找) if(l.length=0) panduan3();此函數(shù)功能為:返回主界面else int low=0,high=l.length,mid,flag=0;/flag 作為標(biāo)志符, 為1則表示查找成功,否則沒有所要查找的學(xué)生int m;char ch;printf("n");printf("n"); printf("按房號查找-> 請輸入要查找的房號:");scanf("%
36、d",&m); printf("n");while(low<=high) mid=(low+high)/2;if(m=l.elemmid.room) flag=1; break; else if(m>l.elemmid.room)low=mid+1;elsehigh=mid-1;if(flag=1)print2(l,mid);if(panduan1(ch)調(diào)用判斷函數(shù) 1chazhao3(l);else system("cls"); menu();elseif(panduan2(ch) 調(diào)用判斷函數(shù) 2chazhao3(l)
37、;elsesystem("cls");menu();void chazhao2(linklist &l)/按學(xué)號從小到大查找(采用二分查找)if(l.length=0) panduan3();elseint low=0,high=l.length,mid,flag=0;int n;char ch;printf("n");printf("n");printf("按學(xué)號查找一-> 請輸入要查找的學(xué)號:");scanf("%d",&n);printf("n")
38、;while(low<=high) mid=(low+high)/2;if(n=l.elemmid.num) flag=1; break;else if(n>l.elemmid.num) low=mid+1; elsehigh=mid-1;if(flag=1) print2(l,mid);if(panduan1(ch) chazhao2(l);else system("cls"); menu(); else if(panduan2(ch) chazhao2(l);else system("cls");menu(); void chazhao1
39、(linklist &l)/按姓名從小到大查找(采用二分查找) if(l.length=0) panduan3(); else沒有落日般的瑰麗,沒有流云般的飄逸,但可以有水晶般的清純與透明。沒有大山般的巍峨,沒有湖水般的輕柔,但可以有巖石般的堅毅與穩(wěn)重。沒有大海般的浩瀚,沒有瀑布般的飛瀉,但可以有泥土般的樸素與隨和。風(fēng)從水上走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳印;哨鴿從天空飛過,留下串串歡韻;歲月從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下些什么?花從春走過,留下縷縷花香;葉從夏走過,留下片片蔭涼;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下種種希
40、望。啊,朋友,我們從人生的四季走過,將給人生留下些什么int low=0,high=l.length,mid,flag=0; printf("n");printf("n"); printf("按姓名查找-> 請輸入要查找的姓名:"); char a15,ch; scanf("%s",a); printf("n"); while(low<=high) mid=(low+high)/2;if(strcmp(a,)=0) flag=1; break; else
41、if(strcmp(a,)>0) low=mid+1; else high=mid-1; if(flag=1) print2(l,mid);打印查找到的學(xué)生的信息if(panduan1(ch) chazhao1(l); else system("cls"); menu(); else if(panduan2(ch) chazhao1(l); else system("cls"); menu(); void insert(linklist &l)/按學(xué)號從小到大插入該學(xué)生 沒有落日般的瑰麗,沒有流云般的飄逸,但可以
42、有水晶般的清純與透明。沒有大山般的巍峨,沒有湖水般 的輕柔,但可以有巖石般的堅毅與穩(wěn)重。沒有大海般的浩瀚,沒有瀑布般的飛瀉,但可以有泥土般的樸素 與隨和。風(fēng)從水上走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳印 ;哨鴿從天空飛過,留下串串歡韻;歲月從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下些什么?花從春走過,留下縷縷花香;葉從夏走過,留下片片蔭涼;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下種種希望。啊,朋友,我們從人生的四季走過,將給人生留下些什么int i,j,k;char ch;printf("n");printf("插入的學(xué)生
43、信息為:n");printf("姓名:");fflush(stdin);/清空輸入緩沖區(qū),得到正確的輸入數(shù)據(jù)gets();printf("學(xué)號:");scanf("%d",&stud.num);printf("房號:");scanf("%d",&stud.room);if(l.length=0)strcpy(,);l.eleml.length.num=stud.num;l.eleml.length
44、.room=stud.room;for(i=0;i<l.length;i+)if(stud.num<l.elemi.num)k=i;for(j=l.length;j>k;j-)l.elemj=l.elemj-1;strcpy(,);l.elemk.num=stud.num;l.elemk.room=stud.room;break;elsestrcpy(,);l.eleml.length.num=stud.num;l.eleml.length.room=stud.room;l.le
45、ngth+;fflush(stdin);printf("n");printf("是否繼續(xù)插入?<y/n>:");scanf("%c",&ch);if(ch='y') insert(l);else system("cls");void Delete(linklist &l)/按學(xué)號刪除該學(xué)生int i,j,k=-1;char ch;printf("n");printf("n");printf("請輸入要刪除學(xué)生的學(xué)號:&qu
46、ot;);scanf("%d",&stud.num);for(i=0;i<l.length;i+)if(stud.num=l.elemi.num)printf("該學(xué)生的信息為:n");printf("n");printf("%-15s %-3d %7dn",J.elemi.num,l.elemi.room);k=i;for(j=k;j<l.length-1;j+)l.elemj=l.elemj+1;printf("n");break;if(i>
47、=l.length) printf("該學(xué)生不存在 n");if(k>=0)l.length-;fflush(stdin);printf("n");printf("是否繼續(xù)刪除?<y/n>:");scanf("%c",&ch);system("cls");if(ch='y') Delete(l);else system("cls");int main() 主函數(shù)linklist l;定義線性表linit(l);調(diào)用初始化函數(shù)char ch;沒有落日般的瑰麗,沒有流云般的飄逸,但可以有水晶般的清純與透明。沒有大山般的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣東建筑安全員知識題庫附答案
- 貴州財經(jīng)職業(yè)學(xué)院《現(xiàn)代西方哲學(xué)專題》2023-2024學(xué)年第一學(xué)期期末試卷
- 蠶豆產(chǎn)業(yè)基地建設(shè)項目可行性研究報告-蠶豆市場需求持續(xù)擴(kuò)大
- 貴陽康養(yǎng)職業(yè)大學(xué)《醫(yī)療健康商務(wù)溝通》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州中醫(yī)藥大學(xué)《生物統(tǒng)計附試驗設(shè)計實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年-吉林省安全員知識題庫附答案
- 廣州現(xiàn)代信息工程職業(yè)技術(shù)學(xué)院《心理咨詢與心理輔導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年-河北省安全員B證考試題庫
- 2025建筑安全員A證考試題庫
- 2025年山西省建筑安全員-C證考試(專職安全員)題庫及答案
- 《Unit 5 What do we eat 》(說課稿)-2024-2025學(xué)年滬教版(2024)英語三年級上冊
- 2024年加油站的年度工作總結(jié)范文(2篇)
- 福建省晉江市松熹中學(xué)2024-2025學(xué)年七年級上學(xué)期第二次月考語文試題
- (新版)廣電全媒體運營師資格認(rèn)證考試復(fù)習(xí)題庫(含答案)
- 教師及教育系統(tǒng)事業(yè)單位工作人員年度考核登記表示例范本1-3-5
- 殘疾兒童(孤獨癥)康復(fù)服務(wù)機構(gòu)采購項目招標(biāo)文件
- 少先隊活動課《民族團(tuán)結(jié)一家親-同心共筑中國夢》課件
- 六年級語文下冊 期末復(fù)習(xí)非連續(xù)性文本閱讀專項訓(xùn)練(一)(含答案)(部編版)
- 展會活動防疫工作方案
- 肝性腦病的護(hù)理課件-
- 2024年銀行考試-支付清算系統(tǒng)參與者考試近5年真題附答案
評論
0/150
提交評論