數(shù)據(jù)結(jié)構(gòu)課程設計——宿舍管理查詢軟件要點



《數(shù)據(jù)結(jié)構(gòu)課程設計——宿舍管理查詢軟件要點》由會員分享,可在線閱讀,更多相關《數(shù)據(jù)結(jié)構(gòu)課程設計——宿舍管理查詢軟件要點(26頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 秦皇島分校 NorthEastern University At QinHuangDao 數(shù)據(jù)結(jié)構(gòu)課程設計 宿舍管理查詢軟件 班級學號 班 學生姓名 提交日期 2015年7月24日 成 績 計算機與通信工程學院 一、需求分析 1、程序設計任務 為宿舍管理人員編寫一個宿舍管理查詢軟件。 ①程序設計要求: A.采用交互工作方式 B.建立數(shù)據(jù)文件,數(shù)據(jù)文件按關鍵字(姓名、學號、房號)進行排序 (冒泡、選擇、插入 排序等任選一種) ②查詢菜單:(用二分查找實現(xiàn)以下操作 ) A.按姓名查詢 B.按學
2、號查詢 C.按房號查詢 ③打印任一查詢結(jié)果(可以連續(xù)操作) 2、功能 ①要實現(xiàn)交互工作方式,各項操作結(jié)束后均應返回主菜單; ②系統(tǒng)本無任何信息數(shù)據(jù), 要建立數(shù)據(jù)文件,需開發(fā)一個信息錄入功能, 即首先創(chuàng)建一 個學員線性表,同時我們可以將數(shù)據(jù)暫時保存在內(nèi)存中,所以我們未開發(fā)信息存盤功能; ③信息錄入后都保存在內(nèi)存中, 用戶看不到,需要設計一個信息顯示功能, 信息的顯示 應該便于查閱,所以需具備按各種關鍵字顯示的功能; ④本系統(tǒng)按關鍵字(姓名、學號、房號)進行冒泡排序,采用二分查找方式分別實現(xiàn)按 關鍵字(姓名、學號、房號)查詢功能; ⑤由于有些同學因為不同原因而離校,所以設計了
3、刪除功能; ⑥由于有新同學入校,所以設計了插入功能; ⑦當用戶操作完畢需要退出時, 我們提供了退出選項,便于使用者退出交互式工作系統(tǒng)。 3、功能模塊圖 4、流程圖 開始 退出 輸入學牛信氫 ? l<=f^=8 ▼ T T ? HR UA 5、輸入和輸出 ①輸入的形式 1)開始創(chuàng)建線性表:按先后順序輸入姓名 (20個字以內(nèi)),學號(整型),房號(整型)。 2)根據(jù)用戶所選擇的操作鍵,然后再根據(jù)程序的相應提示進行輸入。 選擇操作鍵1 (按姓名排序):無輸入; 選擇操作鍵2 (按學號排序):無輸入; 選擇操作鍵3 (按房號排序
4、):無輸入; 選擇操作鍵4 (按姓名查找):輸入要查找的姓名; 選擇操作鍵 選擇操作鍵 選擇操作鍵 選擇操作鍵 (按學號查找) (按房號查找) (按學號插入) (按學號刪除) 輸入要查找的學號; 輸入要查找的房號; 按照提示順序輸入要插入的學生姓名,學號,房號; 輸入要刪除學生的學號。 ②輸出的形式及范圍 根據(jù)用戶選擇的不同,會有不同的輸出。 選擇操作鍵 選擇操作鍵 選擇操作鍵 選擇操作鍵 出該學生不存在; 選擇操作鍵 出該學生不存在; 選擇操作鍵 出該學生不存在。 選擇操作鍵 選擇操作鍵 的所有學生信息。 (按姓名排序) (按學號排序) (按房號排序 (按
5、姓名查找) (按學號查找) (按房號查找) (按學號插入) (按學號刪除) :輸出以姓名首字母排序的所有學生信息; :輸出按學號從小到大排列的所有學生信息; ):輸出按房號從小到大排列的所有學生信息; :若查找成功,則輸出相應學生信息, :若查找成功,則輸出相應學生信息, :若查找成功,則輸出相應學生信息, 若不成功,則輸 若不成功,則輸 若不成功,則輸 :輸出插入后的所有學生信息; :輸出所需刪除的學生信息,確認刪除后,輸出刪除后 開始錄入的數(shù)據(jù):姓名 學號 房號 劉備 1 102 孫權 6 231 周瑜 3 124 6 6、測試
6、數(shù)據(jù) 正確輸入:查找的數(shù)據(jù): 正確輸出:孫權 二、 詳細設計 (按學號) 231 1、數(shù)據(jù)結(jié)構(gòu) typedef struct // { char name[20]; int num; int room; }stu; stu stud; typedef struct { 定義結(jié)構(gòu)體成員 // 學號和房號都為整型 int length; stu *elem; int listsize; }linklist; 2、數(shù)據(jù) int f ; // // // 當前長度 存儲空間基址 當前分配的存儲容量 f 為全局變量,指選擇的操作鍵數(shù) char
7、 name[20] ; name 為姓名 int num ; num 為學號 int room ; room 為房號 int length; length 為線性表的當前長度 stu *elem; elem 指示線性表的基地址 int listsize; listsize 為當前分配的存儲容量 char c ; c 為進入主界面的任意鍵 ch
8、ar ch; ch 為判斷字符 y 或 n int i,j; 在冒泡排序中, i 為外層循環(huán)次數(shù), j 為內(nèi)層循環(huán)次數(shù) int i ; 在打印學生信息時, i 作為循環(huán)變量 int m; int n; int a; m,n,a 在二分查找中分別代表房號,學號,姓名 int i,j,k; i,j,k 在按學號插入中作為循環(huán)變量 int i,j,k=-1; i,j,k 在按學號刪除中作為循環(huán)變量 3、函數(shù)調(diào)用 具體函數(shù)如下: void init(linklist &l) void create(linklist &l) void sort3(linklist &
9、l) void sort2(linklist &l) void sort1(linklist &l) void chazhao3(linklist void chazhao2(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)建學生信息表,通過線性表來實現(xiàn)。 :用于按房號排序,通過采用冒泡排序的算法來實現(xiàn)。 :用于按學號排序,通過采用冒泡排序的算法來實現(xiàn)。 :用于按姓
10、名排序,通過采用冒泡排序的算法來實現(xiàn)。 &l) &l) &l) 用于按房號從小到大查找, 用于按學號從小到大查找, 用于按姓名從小到大查找, 通過采用二分查找的算法來實現(xiàn)。 通過采用二分查找的算法來實現(xiàn)。 通過采用二分查找的算法來實現(xiàn)。 :用于打印學生信息,通過調(diào)用文件操作函數(shù)實現(xiàn)。 :用于打印查找到的學生信息,通過調(diào)用文件查找函 int panduan2(char ch) :用于如果學生不存在 , 判斷是否繼續(xù)查找,通過 if 語句,文件操 作函數(shù)實現(xiàn) void panduan3() :用于如果已無學生記錄則返回主界面,通過調(diào)用其他函數(shù)和文件操作函 數(shù)實現(xiàn)。
11、 void disp() :用于返回主界面,通過調(diào)用 menu() 函數(shù)實現(xiàn)。 void menu(): 用于列出操作菜單,通過輸入輸出語句實現(xiàn)。 void main() :程序操作的入口,是程序的主函數(shù),可以按照已定義的函數(shù)調(diào)用子函數(shù)。 4、主程序: int main() // 主函數(shù) { linklist l; // 定義線性表 l init(l); // 調(diào)用初始化函數(shù) char ch; system("color a"); printf("\n"); printf(" ************************* 歡迎進入宿舍管理查詢系統(tǒng) *******
12、***************** *\n"); printf("\n"); printf(" 請按任意鍵開始操作 :"); scanf("%c",&ch); system("cls");// 將屏幕先前顯示的內(nèi)容清理掉 create(l); // 調(diào)用線性表創(chuàng)建函數(shù) system("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) { p
13、rintf(" 已無學生記錄 \n"); printf("\n"); disp(); menu(); } else { printf(" 按姓名排序 :\n"); print1(l); disp(); // 調(diào)用返回主界面 menu(); } break; case 2: sort2(l); // 調(diào)用按學號排序函數(shù) printf("\n"); if(l.length==0) { printf(" 已無學生記錄 \n"); printf("\n"); disp(); menu(); } else { printf(" 按學號排序 :\n");
14、 print1(l); disp(); menu(); }break; case 3: sort3(l); // 調(diào)用按房號排序函數(shù) printf("\n"); if(l.length==0) { printf(" 已無學生記錄 \n"); printf("\n"); disp(); menu(); } else { printf(" 按房號排序 :\n"); print1(l); disp(); menu(); 先調(diào)用按姓名排序函數(shù)進行排序 再調(diào)用按姓名查找函數(shù)進行(二分)查找 先調(diào)用按學號排序函數(shù)進行排序 再調(diào)用按學號查找函數(shù)進行(二分)查找
15、 先調(diào)用按房號排序函數(shù)進行排序 再調(diào)用按房號查找函數(shù)進行(二分)查找 }break; case 4:sort1(l); // chazhao1(l); // break; case 5: sort2(l); // chazhao2(l); // break; case 6: sort3(l); // chazhao3(l); // break; case 7: sort2(l); // 調(diào)用插入函數(shù) insert(l); system("cls"); printf(" 顯示插入后的學生信息 :\n");print1(l); disp(); menu(); break;
16、case 8: Delete(l); // 調(diào)用刪除函數(shù) if(l.length==0) { printf("\n"); printf(" 學生記錄已被刪除完 \n"); printf("\n"); disp(); menu(); } else { printf(" 顯示刪除后的學生信息 :\n"); print1(l); disp(); menu(); } break; } } } 三、調(diào)試分析 ①為了避免繁瑣、 改進算法, 在一些函數(shù)中調(diào)用了其它的函數(shù)。 如: 在按 (姓名、 學號、 房號)查找中都調(diào)用了 panduan1(ch) 和 panduan
17、2(ch) 函數(shù)。 ②在插入和刪除模塊中,顯示學生的信息的下面總是有主界面,經(jīng)過調(diào)試,運用 system("cls") 函數(shù)清屏后,顯示的只有學生的信息了,再按鍵即可返回主界面。 ③本程序多次運用了 disp() 、 menu() 、 system("cls") 、 fflush(stdin) 等函數(shù),經(jīng)過 多次調(diào)試,已經(jīng)很好的控制了顯示的學生信息與主界面的轉(zhuǎn)換。 ④通過本次課程設計,對線性表、冒泡排序、二分查找的應用有了更深入的了解。 四、用戶手冊 首先, 運行程序進入 “歡迎進入宿舍管理查詢系統(tǒng)” 界面, 然后進入線性表創(chuàng)建界面中, 輸入學生的信息,創(chuàng)建好學生信息以后單擊任意
18、鍵則進入操作界面(主界面) ,然后可按鍵 進行操作。 單擊數(shù)字鍵“ 1”,則為按姓名排序 單擊數(shù)字鍵“ 3”,則為按房號排序 單擊數(shù)字鍵“ 5”,則為按學號查找 單擊數(shù)字鍵“ 7”,則為按學號插入 系統(tǒng)中有如下關鍵詞: 單擊數(shù)字鍵“ 2”,則為按學號排序 單擊數(shù)字鍵“ 4”,則為按姓名查找 單擊數(shù)字鍵“ 6”,則為按學號查找 單擊數(shù)字鍵“ 8”,則為按學號刪除 提示:當輸入的數(shù)字鍵為 。時,退出操作; 請輸入數(shù)字鍵(1~8為操作鍵); 請按任意鍵進入主界面。 五、測試結(jié)果 (1)歡迎界面 I "。丸我的塞科庫VDoCurnents'CFrwVFEE pkhengj
19、aj.ticc-' IHHHfIWHHHHHWHHHHHHHttHHWHHf歡迎進入 盾舌管理查詢 系g充■ = ?蕾?『有M■產(chǎn)餐有??修????¥?? 請按任意鍵開始操作n (2)按任意鍵進入線性表的創(chuàng)建界面,并輸入數(shù)據(jù),開始創(chuàng)建 *****1**************1******?^ 始創(chuàng) 建線’性表例修苴 * “防百例片有詞 * MiWX * MMX MME Bi Mi 生# 學瀏:1:10 S名口于手 第普看 為入AJ n 否批紙怖大 (3)按操作鍵選擇操作 ? " 生若南 DocnmBnfs'i 匚-FKee\Tennp\c heng 想白法”
20、*************** 請技鍵途擇操作 *****????■?*?*■?■***■ 1按姓名排序 3按信號排序 5技學號查找 7按學號插入 Z按學號排序 4按姓名查找 6按房號查找 6按學號刪除 退出操作 半. (4)按姓名排序 匕,找的黃科1軍'LAocuEEntsTL -卜『亡七* I rmpXchengxu.EKe 按姓名排序; 姓名 學號 房號 1 102 孫叔 6 231 周瑜 3 124 上按任意鍵進入主界面: (5)按學號排序 B .口 科
21、我更懂 Af?\Uccu rrrenta^'lhrMXl EmpVcJiengxu.eKe'' 技學號排序; 姓名 學號 房號 劃章 1 102 同趟 3 124 a枚 6 231 請按任意鍵進入主界面: (6)按房號排序 U: \UOCU menT5\L-rreeyi em p-\cnengxu.exe 按房號排序: 姓名 學號 房號 劉備 1 182 周瑜 2 謔4 他權 G g1 請按任意摧進入主界面: (7)按姓名查找 ■ "D:\fi^S^I&.DD£:ijrnent5,,LC-Free\TenipliLcherigxLisexefe 按姓名查找一一
22、-〉請輸入要查找的姓名:劉備 查找成功——> 謾學生信息為■ 隹名 孚號 房號 包董 1 102 是否雛續(xù)查找?: (8)按學號查找 ■ 廊\Uocument、\L -卜「ee\ I emp\crergxui.exe, ,學號查找請輸入要查找的學號:6 始找成功一一一'談學生信息為: 區(qū)名 孚號 慮號 忸卜權 6 231 是苦繼續(xù)查找?3nx (9)按房號查找 技房號查找一一-〉請輸入要查找的房號:124 找成一翳生抽 周瑜 3 124 是否繼續(xù)查找"¥公〉二 (10)按學號插入 ■ 5 e?%uuku「T*ii -n evh i cinp ua m ig 用
23、
人名曾可 標姓"L十房
(11)按學號刪除
懶嬲料T
劉備 1 102
是否健續(xù)刪除?
24、room; }stu; stu stud; typedef struct { int length; //當前長度 stu *elem; 〃存儲空間基址 int listsize; 〃當前分配的存儲容量 }linklist; void init(linklist &l)// 線性表初始化 { l.length=0; l.elem=(stu *)malloc(N*sizeof(stu)); l.listsize=N; } void menu()〃操作菜單 printf("\n"); printf(" *************** 請按鍵選擇操作 *****
25、********** *\n"); 2按學號排序\n"); printf("\n");printf("\n"); printf(" 1按姓名排序 printf("\n"); printf(" 3按房號排序 4按姓名查找\n"); printf("\n"); printf(" 5 按學號查找 6 按房號查找 \n"); printf("\n"); printf(" 7 按學號插入 8 按學號刪除 \n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf(" 提示 :當輸
26、入的數(shù)字鍵為 0 時,退出操作 \n"); if(t==1) { printf(" 請輸入數(shù)字鍵 (1~8 為操作鍵 ):");//1~8 為有效數(shù)字操作鍵 scanf("%d",&f); if(f<0||f>9) { system("cls"); printf("\n"); printf(" 輸入數(shù)字不對 ,請在原處重輸 !\n"); printf("\n"); menu(); } } } void disp() //返回主界面 { char c; fflush(stdin); printf("\n"); printf(" 請按任意鍵進入主界面 :");
27、 scanf("%c",&c); system("cls"); } void panduan3() //如果已無學生記錄則返回主界面 { printf("\n"); printf(" 已無學生記錄 \n"); printf("\n"); disp(); menu(); } void shuru(linklist l) //輸入學生的信息 { printf(" 請輸入姓名 :"); fflush(stdin); // 清空輸入緩沖區(qū),得到正確的輸入數(shù)據(jù) gets(stud.name); //輸入一行字符串(姓名) printf(" 請輸入學號 :"); sc
28、anf("%d",&stud.num); printf(" 請輸入房號 :"); scanf("%d",&stud.room); } void create(linklist &l)// 創(chuàng)建學生信息表 { if(l.length>=l.listsize) //判斷學生的人數(shù)是否超過初值,如果超過,則重新分配 { stu *newbase; newbase=(stu*)realloc(l.elem,(N+increase)*sizeof(stu )); l.elem=newbase; l.listsize+=increase; } int i=2; char ch;
29、 printf("\n"); printf(" ************************** 開始創(chuàng)建線性表 ************************* **\n");printf("\n"); printf(" 請輸入第 1 個學生的信息 \n"); shuru(l); //調(diào)用輸入函數(shù) ch=getchar(); strcpy(l.elem[l.length].name,stud.name); l.elem[l.length].num=stud.num; l.elem[l.length].room=stud.room; l.length++;
30、
printf("\n");
printf(" 是否繼續(xù)輸入 ?
31、("\n");
printf(" 是否繼續(xù)輸入 ?
32、i]=l.elem[j];
l.elem[j]=temp;
}
}
void sort2(linklist &l)// 按學號排序(采用冒泡排序)
{
int i,j;
stu temp;
for(i=0;i
33、nt i,j;
stu temp;
for(i=0;i 34、;i++)
printf("%-15s %-3d %5d\n",l.elem[i].name,l.elem[i].num,l.elem[i].room);
}
void print2(linklist &l,int mid) //打印查找到的學生信息
{
printf(" 查找成功 > 該學生信息為 :\n");
printf(" 姓名 學號 房號 \n");printf("\n");
printf("%-15s %-5d %-5d\n",l.elem[mid].name,l.elem[mid].num,l.elem[mid].room);
}
int panduan1(c 35、har ch) //判斷是否繼續(xù)查找
{
scanf("%c",&ch);
printf(" 是否繼續(xù)查找 ? 36、);
if(ch=='y')
system("cls");
return(1);
}
else return 0;
}
void chazhao3(linklist &l)// 按房號從小到大查找(采用二分查找)
{
if(l.length==0) panduan3(); //此函數(shù)功能為:返回主界面
else
{
int low=0,high=l.length,mid,flag=0;//flag 作為標志符, 為 1 則表示查找成功, 否則沒 有所要查找的學生
int m;
char ch;
printf("\n");printf("\n");
printf( 37、" 按房號查找 > 請輸入要查找的房號 :");
scanf("%d",&m);
printf("\n"); while(low<=high) {
mid=(low+high)/2;
if(m==l.elem[mid].room) {
flag=1; break;
}
else if(m>l.elem[mid].room) low=mid+1;
else high=mid-1;
} if(flag==1)
{
print2(l,mid);
if(panduan1(ch)) // 調(diào)用判斷函數(shù) 1
chazhao3(l);
else {
system("cls") 38、;
menu();
}
else
{
if(panduan2(ch)) //調(diào)用判斷函數(shù) 2
chazhao3(l); else
{ system("cls"); menu();
}
}
}
}
void chazhao2(linklist &l)// 按學號從小到大查找(采用二分查找)
{
if(l.length==0) panduan3();
else
{
int low=0,high=l.length,mid,flag=0;
int n;
char ch;
printf("\n");printf("\n");
printf(" 按學號查找 > 39、請輸入要查找的學號 :");
scanf("%d",&n);
printf("\n");
while(low<=high)
{
mid=(low+high)/2;
if(n==l.elem[mid].num)
{
flag=1; break;
}
else if(n>l.elem[mid].num)
low=mid+1;
else
high=mid-1;
}
if(flag==1)
{
print2(l,mid);
if(panduan1(ch))
chazhao2(l);
else
{ system("cls"); menu();
}
}
el 40、se
{ if(panduan2(ch)) chazhao2(l);
else
{ system("cls"); menu();
}
}
}
}
void chazhao1(linklist &l)// 按姓名從小到大查找(采用二分查找)
{
if(l.length==0) panduan3();
else
{
int low=0,high=l.length,mid,flag=0;
printf("\n");printf("\n");
printf(" 按姓名查找 > 請輸入要查找的姓名 :");
char a[15],ch;
scanf("%s",a);
41、
printf("\n");
while(low<=high)
{
mid=(low+high)/2;
if(strcmp(a,l.elem[mid].name)==0)
{
flag=1; break;
}
else if(strcmp(a,l.elem[mid].name)>0) low=mid+1;
else
high=mid-1;
}
if(flag==1)
{
print2(l,mid); //打印查找到的學生的信息 if(panduan1(ch)) chazhao1(l); else {
system("cls"); menu();
}
}
el 42、se
{ if(panduan2(ch)) chazhao1(l); else
{ system("cls");
menu();
}
}
}
}
void insert(linklist &l)// 按學號從小到大插入該學生
{
int i,j,k;
char ch;
printf("\n");
printf(" 插入的學生信息為 :\n");
printf(" 姓名 :");
fflush(stdin);// 清空輸入緩沖區(qū),得到正確的輸入數(shù)據(jù) gets(stud.name);
printf(" 學號 :"); scanf("%d",&stud.num);
43、printf(" 房號 :"); scanf("%d",&stud.room);
if(l.length==0)
{
strcpy(l.elem[l.length].name,stud.name); l.elem[l.length].num=stud.num;
l.elem[l.length].room=stud.room;
}
for(i=0;i 44、].name,stud.name);
l.elem[k].num=stud.num;
l.elem[k].room=stud.room; break;
} else
{
strcpy(l.elem[l.length].name,stud.name);
l.elem[l.length].num=stud.num;
l.elem[l.length].room=stud.room; }
}
l.length++;
fflush(stdin);
printf("\n");
printf(" 是否繼續(xù)插入 ? 45、'y') insert(l);
else system("cls");
}
void Delete(linklist &l)// 按學號刪除該學生 {
int i,j,k=-1;
char ch;
printf("\n");printf("\n");
printf(" 請輸入要刪除學生的學號 :");
scanf("%d",&stud.num);
for(i=0;i 46、%7d\n",l.elem[i].name,l.elem[i].num,l.elem[i].room); k=i;
for(j=k;j 47、'y') Delete(l);
else system("cls");
}
int main() //主函數(shù)
{
linklist l; //定義線性表 l
init(l); //調(diào)用初始化函數(shù)
char ch;
system("color a");
printf("\n");
printf("
*************************
歡迎進入宿舍管理查詢系統(tǒng)
************************
*\n");
printf("\n");
printf(" 請按任意鍵開始操作 :");
scanf("%c",&ch);
syste 48、m("cls");// 將屏幕先前顯示的內(nèi)容清理掉
create(l); // 調(diào)用線性表創(chuàng)建函數(shù)
system("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(" 已無學生記錄 \n");
printf("\n");
disp();
menu();
} else
{
printf(" 按姓名排序 :\n");
pr 49、int1(l);
disp(); //調(diào)用返回主界面
menu();
} break;
case 2: sort2(l); // 調(diào)用按學號排序函數(shù) printf("\n");
if(l.length==0)
{
printf(" 已無學生記錄 \n");
printf("\n");
disp(); menu();
}
else
{
printf(" 按學號排序 :\n");
print1(l);
disp();
menu();
}break;
case 3: sort3(l); //調(diào)用按房號排序函數(shù)
printf("\n");
if(l.length 50、==0)
{
printf(" 已無學生記錄 \n");
printf("\n");
disp();
menu();
}
else
{
printf(" 按房號排序 :\n");
print1(l);
disp();
menu();
}break;
case 4:sort1(l); //先調(diào)用按姓名排序函數(shù)進行排序
chazhao1(l); //再調(diào)用按姓名查找函數(shù)進行二分)查找 break;
case 5: sort2(l); //先調(diào)用按學號排序函數(shù)進行排序
chazhao2(l); //再調(diào)用按學號查找函數(shù)進行二分)查找
break; case 6: 51、sort3(l); // 先調(diào)用按房號排序函數(shù)進行排序 chazhao3(l); //再調(diào)用按房號查找函數(shù)進行二分)查找
break;
case 7: sort2(l); // 調(diào)用插入函數(shù)
insert(l);
system("cls");
printf(" 顯示插入后的學生信息 :\n");print1(l);
disp();
menu();
break;
case 8: Delete(l); //調(diào)用刪除函數(shù)
if(l.length==0)
{
printf("\n");
printf(" 學生記錄已被刪除完 \n");
printf("\n");
disp();
menu();
} else
{
printf(" 顯示刪除后的學生信息 :\n");
print1(l);
disp();
menu();
} break;
}
}
}
七、參考文獻
1、《C++程序設計(第2版)》,譚浩強編著,清華大學出版社, 2013年11月。
2、《數(shù)據(jù)結(jié)構(gòu) C 語言版) 》 ,嚴蔚敏、吳偉民編著,清華大學出版社, 2013 年 4 月。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題黨課講稿:以高質(zhì)量黨建保障國有企業(yè)高質(zhì)量發(fā)展
- 廉政黨課講稿材料:堅決打好反腐敗斗爭攻堅戰(zhàn)持久戰(zhàn)總體戰(zhàn)涵養(yǎng)風清氣正的政治生態(tài)
- 在新錄用選調(diào)生公務員座談會上和基層單位調(diào)研座談會上的發(fā)言材料
- 總工會關于2025年維護勞動領域政治安全的工作匯報材料
- 基層黨建工作交流研討會上的講話發(fā)言材料
- 糧食和物資儲備學習教育工作部署會上的講話發(fā)言材料
- 市工業(yè)園區(qū)、市直機關單位、市紀委監(jiān)委2025年工作計劃
- 檢察院政治部關于2025年工作計劃
- 辦公室主任2025年現(xiàn)實表現(xiàn)材料
- 2025年~村農(nóng)村保潔員規(guī)范管理工作方案
- 在深入貫徹中央8項規(guī)定精神學習教育工作部署會議上的講話發(fā)言材料4篇
- 開展深入貫徹規(guī)定精神學習教育動員部署會上的講話發(fā)言材料3篇
- 在司法黨組中心學習組學習會上的發(fā)言材料
- 國企黨委關于推動基層黨建與生產(chǎn)經(jīng)營深度融合工作情況的報告材料
- 副書記在2025年工作務虛會上的發(fā)言材料2篇