(完整word版)信管專業(yè)數(shù)據(jù)結(jié)構(gòu)實驗報告_第1頁
(完整word版)信管專業(yè)數(shù)據(jù)結(jié)構(gòu)實驗報告_第2頁
(完整word版)信管專業(yè)數(shù)據(jù)結(jié)構(gòu)實驗報告_第3頁
(完整word版)信管專業(yè)數(shù)據(jù)結(jié)構(gòu)實驗報告_第4頁
(完整word版)信管專業(yè)數(shù)據(jù)結(jié)構(gòu)實驗報告_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)結(jié)構(gòu)實驗報告專 業(yè)信息管理與信息系統(tǒng)班 級 學 號學生姓名 指導老師 河南科技大學管理學院2014年11月20日實驗一、順序表的應用、實驗目的熟練掌握線性表的順序存儲結(jié)構(gòu)的建立方法以及基本操作算法, 并根據(jù)實際問題 的要求,靈活運用。讓學生能夠初步了解并理解學生信息管理系統(tǒng)的建立以及每一步 的運行,為以后的實驗奠定基礎(chǔ)。二、實驗內(nèi)容本次實驗要求驗證以班級學生信息作為管理對象, 實現(xiàn)順序表各種基本運算的 C 語言程序。通過本次實驗練習,要求學生對 C 語言各個知識點進行復習領(lǐng)會,學習如何利 用 C 語言建立班級學生信息線性表的順序存儲結(jié)構(gòu),如何使用順序表的基本操作算 法,實現(xiàn)對班級學生信息的

2、管理,包括學生信息的插入、學生信息的刪除、學生信息 的查詢和學生信息線性表的輸出。1、學生信息管理主控程序?qū)W生信息管理系統(tǒng)1、學生信息線性表的建立2、插入學生信息3、查詢學生信息4、刪除學生信息5、輸出所有學生信息0、退出管理系統(tǒng)請選擇05:2、學生信息管理功能函數(shù)( 1) 函數(shù) createList(), 建立學生信息順序表;( 2) 函數(shù) printList(),輸出學生信息順序表中的各項內(nèi)容;( 3) 函數(shù) insert(), 在學生信息順序表中插入新的學生信息結(jié)點;( 4) 函數(shù) findList(),在學生信息順序表中實現(xiàn)按學號和姓名兩種方式查詢學生信息;( 5) 函數(shù) delNod

3、e() ,在學生信息順序表中刪除指定學生的信息;三、完成情況在充分了解實驗目的與實驗內(nèi)容的基礎(chǔ)上,將下列程序在 VC+ 6 中運行,會得 出相應的結(jié)果。并能充分認識到學生信息管理系統(tǒng)。#include <stdio.h>#include <string.h>#define MAXSIZE 100 typedef structchar num8;/*學號 */char name9;/*姓名 */char gender3;/*性別 */int score;/*成績 */DataType;typedef structDataType stuMAXSIZE; int lengt

4、h;sequenlist;int menu_select()int sn;prin tf("n管理學院信管131班 王娟n");printf("=n");printf("n學生信息管理系統(tǒng) n");printf("=n");printf("1.學生信息線性表的建立 n");printf("2.插入學生信息n");printf("3.查詢學生信息n");printf("4.刪除學生信息n");printf("5.輸 出 所有學生

5、信息 n");printf("0.退出管理系統(tǒng)n");printf("=n");printf(" 請選擇 0-5:n");for(;)scanf("%d",&sn);if (sn<0 | sn>5) printf("nt 輸入錯誤,重選 0-5n");else break;return sn;void createList(sequenlist *L)int n,i;printf(" 有幾位學生?請輸入: n"); fflush(stdin);s

6、canf("%d",&n);printf(”以下請輸入這dB學生的信息:n",n);for(i=0;i<n;i+)printf("第dB學生:",i);printf("n學號(8)姓名(8)性別成績n");fflush(stdin);scanf("%s%s%s%d",L->stui.num,L->,L->stui.gender,&L->stui .score);L->length=n;void printList(sequenlist

7、*L)int i;printf("n 學號(8) 姓名(8) 性別 成績n");printf("n");for(i=0;i<L->length;i+)printf("第4位學生:",i);printf("%s,%s,%s,%dn",L->stui.num,L->,L->stui.gender,L->s tui.score);printf("-n");int insert(sequenlist *L,DataType *student,int

8、i)int j;if(L->length=MAXSIZE)printf("overflow!");return 0;else if(i<0)|(i>L->length)printf("error,please input the right 'i'");return 0;elsefor(j=L->length-1;j>=i;j-)strcpy(L->stuj+1.num,L->stuj.num); strcpy(L->stuj+1.name,L->); strc

9、py(L->stuj+1.gender,L->stuj.gender); L->stuj+1.score=L->stuj.score;strcpy(L->stui.num,student->num); strcpy(L->,student->name); strcpy(L->stui.gender,student->gender); L->stui.score=student->score;L->length=L->length+1;return 1;int findList(sequenli

10、st *L)char num8; char name9;int i=0,xz;printf("=n");printf("1 、按學號查詢 n");printf("2 、按姓名查詢 n"); printf("=n"); printf(" 請選擇: ");fflush(stdin); scanf("%d",&xz);if (xz=1)printf(" 請輸入要查找學生的學號: "); scanf("%s",num); for(i=0

11、;i<L->length;i+)if(strcmp(L->stui.num,num)=0) return i;else if (xz=2)printf(" 請輸入要查找學生的姓名: ");scanf("%s",name); for(i=0;i<L->length;i+) if(strcmp(L->,name)=0)return i;return -1;/* 如果沒找到,返回 -1 。否則直接返回,不會執(zhí)行本句 */void delNode(sequenlist *L)int i,j;printf(&q

12、uot; 請先查找您要刪除的學生信息: n");i=findList(L);if(i=-1)printf(" 沒有查到要刪除的學生信息 ");return;for(j=i;j<L->length;j+)L->stuj.score=L->stuj+1.score; strcpy(L->stuj.num,L->stuj+1.num); strcpy(L->,L->stuj+1.name); strcpy(L->stuj.gender,L->stuj+1.gender);L->lengt

13、h-;printf(" 該學生信息已被刪除! n");void main()sequenlist *L;DataType *student;int i;L=(sequenlist *)malloc(sizeof(sequenlist); while(1)switch(menu_select()case 1:printf("*n");printf("學生信息線性表的建立n");- 5 -printf("*n");createList(L); break;case 2:printf("f*n");p

14、rintf("添加學生信息 n");printf("請輸入要添加的學生信息: n");printf("n 學號(8) 姓名(8) 性別 成績n");printf("f*n");student=(DataType *)malloc(sizeof(DataType);fflush(stdin);scanf("%s%s%s%d",student->num,student->name,student->gender,&student->sco re);printf(&qu

15、ot;請輸入要插入的位置: n");fflush(stdin);scanf("%d",&i);insert(L,student,i);break;case 3:printf("f*n");printf("查詢學生信息 n");printf("f*n");i=findList(L);if(i!=-1)姓名(8)性別 成績n");printf(" 您要查的學生為: n 學號( 8)printf("n");printf("%s,%s,%s,%dn&quo

16、t;,L->stui.num,L->,L->stui.gender,L->s tui.score);printf("-n"); elseprintf("沒有您要查詢的學生信息! ");break;case 4:printf("f*n");printf("刪除學生信息 n");printf("f*n");delNode(L);break;case 5:prin tf("*n");-11 -printf("輸出所有學生信息n&q

17、uot;);prin tf("*n");prin tList(L); break;case 0:printf("再見! n"); getch();return;四、實驗結(jié)果 學生信息表的建立并輸出驗證管理學院 信管丄吐班王娟學生信息管理系統(tǒng)一建息息自S息統(tǒng) 一囪 亠=日 -系 一性三二二二學里 一區(qū)X盂齋管 一知入詢掘出 一學插查諏超 11 一 11 -12 3 4 5 0敏真 )s)-li («王學(«犁軌錢牌號字/ 以辜1辜01辜01名88姓女ft4耳學生信息線性表的建立成績成績成績請選擇0-5:前岀所有學生信息也匕牟土"

18、;: 了種并逐盤二圧弼坯:書 插入學生信息并輸出驗證管理學院信管賞丄班±1學生信息管理系統(tǒng)建息息息息統(tǒng) 的/=R 性二二二匚一學里 /#小74二宀二有 息亠盂管 蘭口 、獲詢雖岀 學插杳12 3 4 5 0的學生信息:學號(叮姓名(8)性別成績請選擇4 5 :【1位學生;啦血李喜朋"女託區(qū)位學生;0115,劉麗敏”女丄7M位學生:012錢素真女8 兩種方法查詢學生信息管理學院信管1吐班王娟學生信息管理系統(tǒng)立 建息息息息統(tǒng) 的 蘭R 性一二-二二學 g 線4 一匸二上-有土 息宀XSI'HSH 亠一s、 L±1入詢蚩岀 s_il 1 2 3 4* 5 0請i

19、詢學生信息Hi請選擇1魅生的學號/于土為=旌名(8)性別成績查詢學生信息:ISlSil選查學 請霜8) 入杳(輸要號“乩李喜朋女怖 刪除學生信息(此處只列出一種:按學號刪除。按姓名刪除的方法一樣。)管理學院信管1葩班王娟學牛信息管理系統(tǒng)建息自心息息統(tǒng) 的 蘭刀系 性二一 -里 44- -U-U -j/rpnA 2人詢蚩出 s*_n Il 12 3 4 5 0請選擇0-5 :o除學生信息請先查找您要刪除的學生信息:軟慮攣勒勰學號 該學生稽息已被刪除!10110 輸出所有學生信息(既是對的輸出,又是對整體的輸出。)繭出所有學生信息學號(8)姓名性別申績第0位學生:0128,女巫第丄位學生:0115

20、,1麗敏,女7第2位學生0121,錢素真女胡8O退出管理系統(tǒng)管理學院信管燈丄班王娟學生信息管理系統(tǒng)建息息息自心統(tǒng) 的 士日系 墾生生辭理 息宀ssr'RKM 亠一S、 ±1入詢蚩岀 學插查® 12 3 4 5 0五、問題與解決(小四號字,宋體)1 實驗中遇到的問題及解決過程2 實驗中產(chǎn)生的錯誤及原因分析首先寫出執(zhí)行語句不成功的時候系統(tǒng)報告的錯誤信息。然后分析錯誤原因,并給出解決辦法六、實驗總結(jié)實驗之前只有完全理解實驗的基本目的和內(nèi)容, 將實驗的程序與課本中的內(nèi)容聯(lián) 系起來,才能更好的把所學內(nèi)容運用到實際中,才真正掌握課本中的知識。實驗二、單鏈表的應用、實驗目的熟練掌

21、握線性表的鏈式存儲結(jié)構(gòu)的建立方法以及基本操作算法, 并根據(jù)實際問題 的要求,靈活運用。二、實驗內(nèi)容本次實驗要求以班級學生信息作為管理對象, 根據(jù)實驗一建立班級學生信息線性 表的鏈式存儲結(jié)構(gòu), 并練習使用單鏈表的基本操作算法, 實現(xiàn)對班級學生信息的管理, 包括學生信息的插入、學生信息的刪除、學生信息的查詢和學生信息線性表的輸出。1、學生信息管理主控程序的設計學生信息管理系統(tǒng)1、學生信息線性表的建立2、插入學生信息3、查詢學生信息4、刪除學生信息5、輸出所有學生信息0、退出管理系統(tǒng)請選擇05:2、學生信息管理功能函數(shù)的設計( 1) 設計函數(shù) createList(), 建立學生信息單鏈表;( 2)

22、 設計函數(shù) printList(), 輸出學生信息單鏈表中的各項內(nèi)容;( 3) 設計函數(shù) insert(), 在學生信息單鏈表中插入新的學生信息結(jié)點;( 4) 設計函數(shù) findList(), 在學生信息單鏈表中實現(xiàn)按學號和姓名兩種方 式查詢學生信息;( 5) 設計函數(shù) delNode() ,在學生信息單鏈表中刪除指定學生的信息;三、完成情況#include <stdio.h>#include <string.h>#include <malloc.h> typedef structchar num8;/* 學號 */ char name9;/*姓名 */ch

23、ar gender3;/*性別 */int score;/*成績 */DataType;typedef struct LNodeDataType stu; struct LNode *next;LNode, *LinkList;int menu_select()int sn;printf(" 管理學院 信管 131 班 王娟 n"); printf("n 學生信息管理系統(tǒng) n"); printf("=n");printf(" printf("1.2.學生信息線性表的建立 n");插入學生信息 n"

24、;);printf("3.查詢學生信息 n");printf("4.刪除學生信息 n");printf("5.輸 出 所有學生信息 n");printf("0.退出管理系統(tǒng) n");printf("=printf("請選擇 0-5:n");for(;) scanf("%d",&sn); if (sn<0 | sn>5) printf("nt 輸入錯誤,重選 0-5n"); else break;return sn;LinkLi

25、st CreateList(LinkList L)int n,i;LinkList p;printf(" 有幾位學生?請輸入: n");fflush(stdin);scanf("%d",&n);printf(”以下請輸入這dB學生的信息:n",n);L=(LinkList)malloc(sizeof (LNode);L->next=NULL;for(i=n;i>0;-i)printf("第dB學生:",i);printf("n 學號(8) 姓名(8)性別 成績n");p=(LinkLi

26、st) malloc (sizeof(LNode);scanf("%s%s%s%d",p->stu.num,p->,p->stu.gender,&p->stu.score);p->next=L->next;L->next=p;return L;/CreateList_Lvoid printList(LinkList L)int i=0;LinkList p;printf("n學號(8) 姓名(8) 性別 成績n");printf("n");p=L->next;wh

27、ile(p!=NULL)printf("第4位學生:",+i);printf("%s,%s,%s,%dn",p->stu.num,p->,p->stu.gender,p->stu.sc ore);p=p->next;printf("-n");void insert(LinkList L,DataType *stu,int i)int j=0;LinkList p,s;p=L;while(p&&j<i-1)p=p->next;+j;if(!p|j>i-1)

28、printf("ERRORn");s=(LinkList)malloc(sizeof(LNode);strcpy(s->stu.num,stu->num);strcpy(s->,stu->name);strcpy(s->stu.gender,stu->gender);s->stu.score=stu->score;s->next=p->next;p->next=s;int findList(LinkList L)char num8; char name9;int i=0,xz; LinkLis

29、t p; p=L->next;printf("=n");printf("1 、按學號查詢 n");printf("2 、按姓名查詢 n"); printf("=n"); printf(" 請選擇: ");fflush(stdin);scanf("%d",&xz);if (xz=1)printf(" 請輸入要查找學生的學號: ");scanf("%s",num);while(p!=NULL)if(strcmp(p->s

30、tu.num,num)=0)成績printf(" 您要查的學生為: n 學號(8) 姓名( 8) 性別 n");printf("n");printf("%s,%s,%s,%dn",p->stu.num,p->,p->stu.gender,p->stu.score)printf("-n");return i;elsep=p->next;i+;return -1;else if (xz=2)printf(" 請輸入要查找學生的姓名: "); scanf(

31、"%s",&name);while(p!=NULL) if(strcmp(p->,name)=0) printf("您要查的學生為:n學號(8) 姓名(8) 性別成績n");printf("n");printf("%s,%s,%s,%dn",p->stu.num,p->,p->stu.gender,p->stu.score)printf("-n");return i;elsep=p->next;i+;return -1;

32、/* 如果沒找到,返回 -1 。否則直接返回,不會執(zhí)行本句 */void delNode(LinkList L)char num8;LinkList p,q;p=L;printf(" 請先查找您要刪除的學生學號: n");scanf("%s",&num);while(strcmp(p->next->stu.num,num)!=0)p=p->next;if(!(p->next)printf("ERRORn");elseq=p->next;p->next=q->next;free(q);p

33、rintf(" 該學生信息已被刪除! n");void main()LinkList L;DataType *stu; int i;L=(LinkList)malloc(sizeof(LNode); while(1) switch(menu_select()case 1:printf("*n");- 17 -printf("學生信息線性表的建立n");printf("*n");L=CreateList(L); break;case 2:printf("f*n");printf("添加學

34、生信息 n");printf("請輸入要添加的學生信息: n");printf("n學號(8) 姓名(8)性別成績n");printf("f*n");stu=(DataType *)malloc(sizeof(LNode);fflush(stdin);scanf("%s%s%s%d",stu->num,stu->name,stu->gender,&stu->score);printf("請輸入要插入的位置: n");fflush(stdin); scan

35、f("%d",&i);insert(L,stu,i);break;case 3:printf("f*n");printf("查詢學生信息 n");printf("f*n");i=findList(L);if(i=-1)printf(" 沒有查詢到此學生信息 n"); elseprintf(" 查詢成功! n"); break;case 4:printf("f*n");printf("刪除學生信息 n");printf("

36、;f*n");delNode(L);break;case 5:prin tf("*n");-23 -printf("輸出所有學生信息n");prin tf("*n");prin tList(L); break;case 0:printf("再見! n"); getchar();return;四、實驗結(jié)果學生信息線性表的建立并輸出驗證fsW信管婦創(chuàng)學生信息管理系統(tǒng)立 K 建息息息息統(tǒng)“ 的 蘭口 性一二二二二學 g 一J 一一 息宀ssi管一 蘭口卻入詢番出 學插查-12 3 4 5 0 三01kL成績性別

37、咸績咸績性別性別(8)87插入學生信息并輸出驗證 查詢學生信息(兩種方法都有)管理學院信管1葩班王娟 學牛信息管理系統(tǒng)立“ 建息自S息息統(tǒng)* 的:宿“系二 性1二匸匕斗-T-里一 常生穽有孑“ 息嚴sIHrhi管一=口知入詢脣岀二 i*_sl 一 1 2 3 4 5 0 -畫詢學生信息【iotilie嗎(選查學請夢的8)1s 3118性別成績1込李喜朋茂品I查詢成功!:soil名姓1 內(nèi) 00 Hen 選查學 請書8) 人杳(輸要號 刪除學生信息并輸出驗證管理學院信管但班 SI學生信息管理系統(tǒng)建息息息息統(tǒng) 的 r,丿< 性士三一二學里 二 4二 4- Hv 息盂*£管 蘭口、

38、也入詢醫(yī)岀 學插杳蟲韻 12 3 4 5 0請選擇滬5 :刑除學生信息請先查找您要刪除的學生學號該學牛信息已補刪除f貳貝;女川*嚳I:需嘰”3辰學生;0128,1 輸出所有學生信息管理學院 信管燈丄班王娟學生信息管理系統(tǒng)建惠息息息統(tǒng) 的 亠一耳系 /a一二一二-二學里 -aJI二 嶷筈盂襦管亠召知入詢啓岀 宀S聲一1 2 3 4 5 B青選擇0-£:弐號(8)姓名(8)性別成績Bi:驕霉餐爲壽生;0128,王娼妥胡8O退出管理系統(tǒng)管理學院 信管甘班王娟學生信息管理系統(tǒng)五、建息自瓷息統(tǒng) 的 亠一耳 ,-ft二 _ 一二-二學里 £4- 一_±. 自童Z盂管 言 J

39、J 肘入詢豎出問題與解決(小四號字,宋體)1 實驗中遇到的問題及解決過程2 實驗中產(chǎn)生的錯誤及原因分析首先寫出執(zhí)行語句不成功的時候系統(tǒng)報告的錯誤信息。然后分析錯誤原因,并給出解決辦法六、實驗總結(jié)實驗體會和收獲。 (小四號字,宋體)- 27 -實驗三、棧和隊列的應用一、實驗目的 熟練掌握棧和隊列數(shù)據(jù)結(jié)構(gòu)的特點以及基本操作算法,并根據(jù)實際問題的要求, 靈活運用。二、實驗內(nèi)容本次實驗仍以班級學生信息作為管理對象, 首先,建立班級學生信息棧的數(shù)據(jù)存 儲結(jié)構(gòu),然后利用學生信息棧數(shù)據(jù)結(jié)構(gòu),實現(xiàn)學生信息單鏈表的逆置。實驗提示 1、學生信息棧數(shù)據(jù)結(jié)構(gòu)的定義 已知學生的信息包括如下內(nèi)容:學號、姓名、性別、成績,

40、可定義學生信息棧為 以下的數(shù)據(jù)結(jié)構(gòu)。typedef structchar num8;/*學號 */char name9;/* 姓名 */char gender3;/* 性別 */int score;/*成績 */DataType; / 學生結(jié)構(gòu)體定義typedef struct ListNodeDataType data;struct node *next;ListNode , *LinkList;/ 結(jié)點定義typedef structDataType *base;DataType *top;int stacksize;SqStack;/ 順序棧定義2、學生信息棧實現(xiàn)學生信息單鏈表的逆置功能

41、函數(shù)的設計( 1)設計函數(shù) CreateList() ,建立一個帶頭結(jié)點的學生信息單鏈表;( 2)設計函數(shù) PrintList(L),將學生信息單鏈表按從表頭到表尾的順序輸出;( 3)設計函數(shù) RevLinkList(L) ,將學生信息單鏈表逆置:首先將單鏈表中的結(jié) 點數(shù)據(jù)信息依次入棧, 然后數(shù)據(jù)依次出棧, 賦值給單鏈表中結(jié)點的數(shù)據(jù)域, 然后調(diào)用 Prin tList(L)輸出即可!當然,我們還需提供或使用棧的初始化,入棧和出棧操作函數(shù)!三、完成情況#include <stdio.h>#include <string.h>#include <malloc.h>

42、;#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef structchar num8;/* 學號 */ char name9;/*姓名 */char gender3;/*性別 */int score;/*成績 */DataType;typedef struct LNodeDataType stu; struct LNode *next;LNode, *LinkList;typedef structDataType *base;DataType *top; int stacksize;SqStack;/ 順序棧定義int men

43、u_select()int sn;printf(" 管理學院 信管 131 班 王娟 n"); printf("n 學生信息管理系統(tǒng) n"); printf("=n");printf("1.請輸入學生信息單鏈表的信息 :n");printf("2.這是初始的學生信息單鏈表 :n");printf("3.這是逆置以后的學生信息單鏈表 :n");printf("0.退 出 管 理 系 統(tǒng) n");printf("=n");printf(&q

44、uot; 請選擇 0-3:n");for(;) scanf("%d",&sn); if (sn<0 | sn>3) printf("nt 輸入錯誤,重選 0-3n"); else break;return sn;LinkList CreateList(LinkList L)int n,i;LinkList p;printf(" 有幾位學生?請輸入: n");fflush(stdin);scanf("%d",&n);printf(” 以下請輸入這dB學生的信息:n",n

45、);L=(LinkList)malloc(sizeof (LNode);L->next=NULL;for(i=n;i>0;-i)printf("第dB學生:",i);printf("n學號(8)姓名(8)性別 成績n");p=(LinkList) malloc (sizeof(LNode);scanf("%s%s%s%d",p->stu.num,p->,p->stu.gender,&p->stu.score); p->next=L->next;L->next

46、=p;return L;/CreateList_Lvoid printList(LinkList L)int i=0;LinkList p;printf("n學號(8) 姓名(8) 性別 成績n");printf("n");p=L->next;while(p!=NULL)printf("第cB學生:",+i);printf("%s,%s,%s,%dn",p->stu.num,p->,p->stu.gender,p->stu.sc ore);p=p->next;pr

47、intf("-n");LinkList RevLinkList(LinkList L)SqStack s;LinkList p,q;p=L->next;s.base=(DataType *)malloc(STACK_INIT_SIZE * sizeof(DataType); if(!s.base)printf(" 存儲空間分配失?。?");s.top=s.base;s.stacksize=STACK_INIT_SIZE;while(p)*s.top+=p->stu;p=p->next;q=L->next;while(s.top!=

48、s.base)q->stu=*-s.top; q=q->next;return L;void main()LinkList L;DataType stu;int i;L=(LinkList)malloc(sizeof(LNode);while(1)switch(menu_select()case 1:printf("*n");printf("請輸入學生信息單鏈表的信息n");printf("*n");L=CreateList(L); break;case 2:printf("f*n");printf(&

49、quot;這是初始的學生信息單鏈表:n");printf("f*n");printList(L);break;case 3:prin tf("*n")L=RevLi nkList(L);printf(”這是逆置以后的學生信息單鏈表:n");prin tf("*n");prin tList(L);break;case 0:printf("再見! n"); getchar();return;四、實驗結(jié)果建立學生信息單鏈表管理學院信管班王娟學生信息管理系統(tǒng)-31 -表 “ 息2鏈" 魯息 K

50、 畫信 鏈息生統(tǒng)一一 單W-息生 ill K 生啟壬一一 學讐管一一 Aii 一一 請這這退一一12 3 0主冃初始的學生信息單鏈表管理學院信管1竝班學生信息管理系統(tǒng)-表 a軫 H 豎息 畫信 鏈息生統(tǒng) 單塩于 思生 H- 生股 學曹官 Alt 暫¥ 請這這退12 3 0青選擇了:逆置以后的學生信息單鏈表管理學院信管伽班王娟學生信息管理系統(tǒng)=表 息:強 屠息 表單信 鏈息羞 單華 息生 華后里 生欽士 學薔管 請這這退這是逆置以后的學生信息單槌表:)姓名性別成績第驛I;第屮立0ii5,vi7 88 3 ,8女軋 曇MO退出管理系統(tǒng)管理學院信管垢1班王娟學生信息管理系統(tǒng):表 K 息:錯

51、 一一 黑息 = 畫信 槌息生統(tǒng)= 單草 息圭一一 億子后里= 生段:Ba請這這退12 3 8五、問題與解決(小四號字,宋體)1 實驗中遇到的問題及解決過程2 實驗中產(chǎn)生的錯誤及原因分析首先寫出執(zhí)行語句不成功的時候系統(tǒng)報告的錯誤信息。然后分析錯誤原因,并給出解決辦法六、實驗總結(jié)實驗體會和收獲。(小四號字,宋體)實驗四、查找和排序算法的應用、實驗目的熟練掌握順序查找和二分查找算法以及熟練掌握冒泡排序算法二、實驗內(nèi)容 本次實驗仍以班級學生信息作為管理對象,以學生信息中的學生成績?yōu)殛P(guān)鍵字, 實現(xiàn)學生信息的排序和查找。實驗提示1、學生信息查找表記錄結(jié)構(gòu)的定義 已知學生的信息包括如下內(nèi)容:學號、姓名、性

52、別、成績,可定義學生信息 表的結(jié)構(gòu)如下。typedef int KeyType;typedef struct KeyType score;/* 成績?yōu)榕判蚝筒檎业年P(guān)鍵字 */char num8;/* 學號 */char name9;/*姓名 */char gender3;/*性別 */DataType ;2、功能函數(shù)的設計( 1)設計功能函數(shù) seqSearch() ,在學生信息查找表中實現(xiàn)順序查找。( 2)設計功能函數(shù) BubbleSort() ,對學生信息表中的數(shù)據(jù)元素按關(guān)鍵字進行冒 泡排序。( 3)設計功能函數(shù) BinSearch() ,使用二分查找算法,在學生信息查找表中查 找關(guān)鍵字值

53、等于給定值的記錄。三、完成情況#include <stdio.h>#include <string.h>#include <malloc.h>#define MAXSIZE 100 typedef int KeyType;typedef structKeyType score;/* 成績?yōu)榕判蚝筒檎业年P(guān)鍵字 */ char num8;/* 學號 */char name8;/* 姓名 */char gender3;/* 性別 */DataType;typedef structDataType stuMAXSIZE; int length;SSTable;int menu_select()int sn;prin tf("n管理學院信管131班王娟n");printf("=n"); printf("n學生信息管理系統(tǒng) n");printf("=n"); printf("1.學生信息線性表的建立 n");printf("2.利用關(guān)鍵字順序查找學生信息n");printf(" 3.利用關(guān)鍵字對學生信息進行冒泡排序 n");printf("4.利用關(guān)鍵字二分查找學生信息n");printf(&qu

溫馨提示

  • 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

提交評論