版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計報告</b></p><p> 2014年 6 月16日</p><p><b> 目錄</b></p><p> 一、課程設計的目的1</p><p> 二、課程設計要求1</p><p> 三、 課程設計方案1<
2、/p><p> 四、課程設計內容1</p><p> 4.1數(shù)據(jù)結構設計1</p><p> 4.1.1設計背景1</p><p> 4.1.2定義數(shù)據(jù)結構體2</p><p> 4.1.3存儲方式2</p><p> 4.1.4數(shù)據(jù)結構上的基本運算2</p>
3、<p><b> 4.2實例應用5</b></p><p> 4.2.1問題描述5</p><p> 4.2.2程序設計5</p><p> 4.2.3源代碼6</p><p> 4.2.4程序運行12</p><p><b> 五、總結14</b
4、></p><p> 六、 參考文獻15</p><p><b> 一、課程設計的目的</b></p><p> 1.掌握算法與數(shù)據(jù)結構的基本概念以及程序設計的基本理論和基本方法與技術,學會分析比較復雜的程序設計問題。</p><p> 2.熟練掌握常用的數(shù)據(jù)結構如順序表、鏈表、棧、隊列、廣義表、樹結構、
5、圖網(wǎng)結構等,學會各種數(shù)據(jù)結構上的基本運算。</p><p> 3.初步掌握算法的時間性能與空間性能的分析技巧,得到復雜程序設計的初步訓練。</p><p> 4.學會分析研究計算機加工的數(shù)據(jù)對象的特性,能夠運用和選擇適當?shù)臄?shù)據(jù)結構解決實際問題。</p><p> 5.進一步提高從事軟件分析、設計、編程和數(shù)據(jù)組織處理能力和水平。</p><p
6、><b> 二、課程設計要求</b></p><p> 在掌握常用數(shù)據(jù)結構的基礎上實現(xiàn)一種數(shù)據(jù)結構,可以是邏輯結構或者是存儲結構并實現(xiàn)該種數(shù)據(jù)結構的基本運算包括插入、刪除、元素獲取、搜索、定位和創(chuàng)建等等。</p><p> 舉出具體事例,利用數(shù)據(jù)結構解決實際問題。對實際學習生活中遇到的問題進行分析處理、建立模型,將前面設計的數(shù)據(jù)結構應用到具體實際問題當中。
7、</p><p> 掌握簡單數(shù)據(jù)結構的程序實現(xiàn)的基本策略,能夠利用高級語言將這種數(shù)據(jù)結構轉化為程序來實現(xiàn)。</p><p><b> 課程設計方案</b></p><p> 數(shù)據(jù)結構本身就是一種定義了特定成員的結構體,例如結構體中包含指針和數(shù)據(jù)元素的結構體就構成鏈表。仿照這種做法,設計一種含多種不同類型數(shù)組的結構體。這是在數(shù)據(jù)結構的基礎上
8、對順序表進行的改進,即把原本順序表的一維數(shù)組data增加為多個數(shù)組data1[],data2[]等等,根據(jù)實際情況可以把data1[]定義為字符型,data2[]定義為整型。另外在結構體中可以定義其他變量。</p><p> 確認應用該數(shù)據(jù)結構所要解決的實際問題為“學生成績管理系統(tǒng)”。該系統(tǒng)要求如下:</p><p> 對學生信息(包括學號、姓名、語文、數(shù)學、英語、理綜)進行管理,包括
9、學生成績的信息輸入、輸出、查詢、刪除、排序、統(tǒng)計、退出。</p><p> 成績信息顯示瀏覽功能:完成全部學生記錄的顯示。</p><p> 排序功能:按學生平均成績進行排序。</p><p> 成績信息錄入功能:(成績信息用文件保存,可以一次完成若干條記錄的輸入。)</p><p> 5.應提供一個界面來調用各個功能,調用界面和各個
10、功能的操作界面應盡可能清晰美觀!</p><p><b> 四、課程設計內容</b></p><p><b> 4.1數(shù)據(jù)結構設計</b></p><p><b> 4.1.1設計背景</b></p><p> 在實際學習生活中,我們需要對獲得的信息進行處理和存儲,然而
11、處理的元素可以是數(shù)據(jù)、符號、或者其他的記錄,等等這些數(shù)據(jù)結點都可以用來構成一個線性表。線性表是由n個相同類型數(shù)據(jù)元素組成的有限序列。而有些時候需要把不同類型的數(shù)據(jù)結點整合在一起,用來描述某些記錄。例如,要記錄學生的成績表需要包括姓名、學號以及各科成績等數(shù)據(jù),這其中包含了字符型和整型兩種數(shù)據(jù)類型。因此,僅用含有一個數(shù)組的順序表沒辦法具體描述出詳細的信息,所以有必要增加順序表中的成員來達到目的。</p><p>
12、下面以“學生成績管理”問題為例建立解決此類問題的數(shù)據(jù)結構結構體并實現(xiàn)在該數(shù)據(jù)結構上的基本運算。</p><p> 4.1.2定義數(shù)據(jù)結構體</p><p> “學生成績管理”數(shù)據(jù)結構定義如下:</p><p> typedef struct student </p><p><b> {</b></p>
13、;<p> char number[10]; </p><p> char name[20]; </p><p> float score[4]; </p><p> float sum; </p><p><b> }STU; </b></p><p> ST
14、U stu[N]; </p><p> 這里把這種結構體成為“學生信息”。其中,數(shù)組name[]儲存學生姓名,數(shù)組number[]儲存學號,數(shù)組score[]儲存成績數(shù)據(jù)(這里以語文 數(shù)學 英語 理綜 為成績)。Sum用于儲存總分。</p><p><b> 4.1.3存儲方式</b></p><p> 由于該數(shù)據(jù)結構結構體中的成員是不同
15、的數(shù)據(jù)類型,成員按照定義時的順序依次存儲在連續(xù)的內存空間。和數(shù)組不一樣的是,結構體的大小不是所有成員大小簡單的相加,需要考慮到系統(tǒng)在存儲結構體變量時的地址對齊問題。在C++的結構體中存儲方式是按一種內存對齊的規(guī)則來存儲的。對于一個結構體中每次的偏移量是相等的,以結構體所占空間最大的變量類型為一個位訪問的單位偏移量,這樣對于程序來說加快了訪問的速度,當同時也會早造成一些空間的浪費。一般情況下該結構體的大小可以通過如下方法計算:</p
16、><p> .分析各個成員長度;</p><p> .找出最大長度的成員長度M(結構體的長度一定是該成員的整數(shù)倍);</p><p> .并按最大成員長度出現(xiàn)的位置將結構體分為若干部分;</p><p> .各個部分長度一次相加,求出大于該和的最小M的整數(shù)倍即為該部分長度;</p><p> (5).將各個部分長
17、度相加之和即為結構體長度</p><p> 4.1.4數(shù)據(jù)結構上的基本運算</p><p> 輸入函數(shù)inputscore()</p><p> 輸入運算實現(xiàn)的是把原始學生數(shù)據(jù)信息包括學號、姓名、各科成績等輸入結構體,并且把信息按照順序存儲結構儲存在一片連續(xù)的存儲單元中。算法描述如下:</p><p> void inputscore
18、() </p><p><b> {</b></p><p> int i,j,n;</p><p> printf("請輸入學生總數(shù):\n");</p><p> scanf("%d",&n);</p><p> printf("
19、;提示:*輸入學號時請輸入位數(shù)為8位的數(shù)字*\n");</p><p> printf("請輸入學生的學號 姓名 語文 數(shù)學 英語 理綜:\n"); </p><p> for(i=0;i<n;i++) </p><p> scanf("%s%s%f%f%f%f",stu[i].number,st
20、u[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]); </p><p><b> }</b></p><p> 插入(添加)函數(shù)add()</p><p> 插入函數(shù)實現(xiàn)將某一學生的信息插入到結
21、構體中,即結構體中的成員數(shù)組number[],數(shù)組name[],score[]元素分別增加1,增加的數(shù)值為所添加的新學生的信息。為了方便,add()函數(shù)利用循環(huán)功能實現(xiàn)添加多個學生信息,算法描述如下:</p><p> void add()</p><p><b> {</b></p><p> int a,i,j; </p>
22、;<p> printf("請輸入新增加的學生人數(shù):\n"); </p><p> scanf("%d",&a); </p><p><b> n=n+a;</b></p><p> printf("請輸入添加的學生的學號 姓名 語文 數(shù)學 英語 理綜:\n&q
23、uot;);</p><p> for(i=n-a;i<n;i++)</p><p> scanf("%s%s%f%f%f%f",stu[i].number,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);</
24、p><p><b> } </b></p><p> 刪除函數(shù)delscore()</p><p> 刪除某學生的信息,根據(jù)輸入的學號,搜索所有學生信息找到該學號的信息并刪除,刪除的具體操作為結構體整體賦值將后一位學生成績信息拷貝進入前一位學生信息的存儲位置,刪除該學生信息后學生總數(shù)減一。算法描述如下:</p><p&g
25、t; void delscore() </p><p><b> { </b></p><p> int i,j,flog=0; </p><p> char m,a[10]; </p><p> system("cls"); </p><p> prin
26、tf("請輸入要刪除的學生學號\n"); </p><p> scanf("%s",a);</p><p> for(i=0;i<n;i++) </p><p> if(strcmp(a,stu[i].number)==0) </p><p><b> { </b
27、></p><p><b> flog=1;</b></p><p> break; </p><p><b> }</b></p><p> if(flog==0)</p><p> printf("未找到該學生信息\n"); &
28、lt;/p><p><b> else</b></p><p> printf("是否刪除該學生成績(y/n)\n");</p><p> scanf("%s",&m);</p><p> if(m=='y') </p><p
29、><b> {</b></p><p> for(i;i<n-1;i++)</p><p> stu[i]=stu[i+1]; </p><p><b> n=n-1;</b></p><p> printf("刪除成績成功\n"); <
30、/p><p><b> } </b></p><p><b> else</b></p><p> printf("刪除成績失敗\n"); </p><p><b> } </b></p><p> 輸出(顯示)函數(shù)lo
31、okscore()</p><p> 輸出所保存的學生信息。先將信息數(shù)據(jù)按照某一元素進行排序,這里按照總分從大到小排序并輸出所有學生信息。算法描述如下:</p><p> void lookscore() </p><p><b> { </b></p><p> int i,j,k; </p>
32、<p><b> STU t; </b></p><p> for(i=0;i<n-1;i++)</p><p><b> {</b></p><p> for(k=i,j=i+1;j<n;j++) </p><p> if(stu[j].sum>s
33、tu[k].sum)</p><p><b> k=j; </b></p><p><b> if(k!=j)</b></p><p><b> {</b></p><p> t=stu[k]; </p><p> stu[
34、k]=stu[i]; </p><p><b> stu[i]=t;</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("名次\t學號\t\t姓名\t語文\t數(shù)學\t英語\t理綜\t總
35、分\n"); </p><p> for(i=0;i<n;i++)</p><p> printf("%d\t%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n",i+1,stu[i].number,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],st
36、u[i].score[3],stu[i].sum);</p><p><b> } </b></p><p> 查詢函數(shù)searchscore()</p><p> 根據(jù)學號查詢學生信息并輸出。算法描述如下:</p><p> void searchscore() </p><p>&l
37、t;b> {</b></p><p> char a[10]; </p><p> int i,j,flog=0; </p><p> system("cls"); </p><p> printf("請輸入需查詢的學生學號\n"); </p>&l
38、t;p> scanf("%s",a); </p><p> for(i=0;i<n;i++)</p><p> if(strcmp(a,stu[i].number)==0) </p><p><b> {</b></p><p><b> flog=1;<
39、/b></p><p> printf("名次\t學號\t\t姓名\t語文\t數(shù)學\t英語\t理綜\t總分\n");</p><p> printf("%d\t%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n",i+1,stu[i].number,stu[i].name,stu[i].score[0],stu[i
40、].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum);</p><p> printf("\n"); </p><p><b> break;</b></p><p> if(flog==0)</p><p> printf(
41、"未找到該學生信息!");</p><p><b> } </b></p><p><b> 4.2實例應用</b></p><p><b> 4.2.1問題描述</b></p><p> 已知某班級學生入學成績如下表,設計“學生成績管理系統(tǒng)”使
42、其具有以下功能:</p><p> ?。?) 能完成對學生成績的錄入 </p><p> ?。?) 能按班級統(tǒng)計學生的成績,求學生的總分及平均分,排序 </p><p> ?。?) 能按班級,學期輸出學生的成績單和不及格科目及學生名單 </p><p> (4) 能查詢單
43、個學生成績 </p><p> ?。?) 能修改單個學生信息 </p><p> 表1 某班學生高考入學成績表</p><p><b> 4.2.2程序設計</b></p><p> 程序主要包括以下幾個模塊:1、成績錄入功能2、成績輸出功能3、成績查詢功能4、添加模塊5、刪除模塊6、
44、修改模塊7、保存功能 8、退出系統(tǒng)</p><p><b> 主程序流程圖如下:</b></p><p><b> 圖1</b></p><p><b> 4.2.3源代碼</b></p><p> #include<stdio.h> </p>
45、<p> #include<string.h> </p><p> #include<process.h> </p><p> #include<conio.h> </p><p> #define N 30 </p><p> #define M 4</p><p
46、> typedef struct student </p><p><b> {</b></p><p> char number[10]; </p><p> char name[20]; </p><p> float score[M]; </p><p> flo
47、at sum; </p><p><b> }STU; </b></p><p> STU stu[N]; </p><p> int n; </p><p> void menu() </p><p><b> { </b></p>
48、<p> system("cls"); </p><p> printf("\n"); </p><p> printf("*********歡迎進入學生成績管理系統(tǒng)*************\n"); </p><p> printf("
49、 菜單 \n"); </p><p> printf("輸入成績-------------------------------------1\n"); </p><p> printf("查看成績及成績排序---------------------------2\n"); <
50、;/p><p> printf("查詢學生成績---------------------------------3\n"); </p><p> printf("修改成績-------------------------------------4\n"); </p><p> printf("添加成績----
51、---------------------------------5\n");</p><p> printf("刪除成績-------------------------------------6\n"); </p><p> printf("保存成績-------------------------------------7\n"
52、); </p><p> printf("退出系統(tǒng)-------------------------------------8\n"); </p><p> printf("**********************************************\n"); </p><p> printf(&
53、quot;請輸入您的選擇\n"); </p><p><b> }</b></p><p> /***************輸入各個同學的學生信息******************************/ </p><p> void inputscore() </p><p><b&g
54、t; {</b></p><p><b> int i,j;</b></p><p> system("cls");</p><p> printf("請輸入學生總數(shù):\n");</p><p> scanf("%d",&n);&l
55、t;/p><p> printf("提示:*輸入學號時請輸入位數(shù)為8位的數(shù)字*\n"); /*因二維表上下 需對正故有此要求*/</p><p> printf("請輸入學生的學號 姓名 語文 數(shù)學 英語 理綜:\n"); </p><p> for(i=0;i<n;i++) </p><
56、p> scanf("%s %s %f %f %f %f",stu[i].number,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]); </p><p> printf("成功輸入\n"); </p>
57、;<p><b> } </b></p><p> /*****************計算各個同學的總分*****************************/ </p><p> void sumgescore() </p><p><b> { </b></p><p&
58、gt; int i,j; </p><p> for(i=0;i<n;i++) </p><p><b> { </b></p><p> stu[i].sum=0;</p><p> for(j=0;j<M;j++) </p><p> stu[i].sum+=
59、stu[i].score[j];</p><p><b> }</b></p><p><b> }</b></p><p> /************查看學生成績及根據(jù)總分對學生進行排序*********************/ </p><p> void lookscore() &
60、lt;/p><p><b> { </b></p><p> int i,j,k; </p><p><b> STU t; </b></p><p> sumgescore();</p><p> system("cls"); &l
61、t;/p><p> for(i=0;i<n-1;i++)</p><p><b> {</b></p><p> for(k=i,j=i+1;j<n;j++) </p><p> if(stu[j].sum>stu[k].sum)</p><p><b>
62、k=j; </b></p><p><b> if(k!=j)</b></p><p><b> {</b></p><p> t=stu[k]; </p><p> stu[k]=stu[i]; </p><p><b
63、> stu[i]=t;</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("名次\t學號\t\t姓名\t語文\t數(shù)學\t英語\t理綜\t總分\n"); </p><p> for(i=
64、0;i<n;i++)</p><p> printf("%d\t%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n",i+1,stu[i].number,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum);</p><
65、p><b> } </b></p><p> /*****************通過輸入學號查找學生成績***************************/ </p><p> void searchscore() </p><p><b> {</b></p><p> c
66、har a[10]; </p><p> int i,j,flog=0; </p><p> system("cls"); </p><p> printf("請輸入需查詢的學生學號\n"); </p><p> scanf("%s",a); </p>
67、;<p> for(i=0;i<n;i++)</p><p> if(strcmp(a,stu[i].number)==0) </p><p><b> {</b></p><p><b> flog=1;</b></p><p> printf("名次
68、\t學號\t\t姓名\t語文\t數(shù)學\t英語\t理綜\t總分\n");</p><p> printf("%d\t%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n",i+1,stu[i].number,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],s
69、tu[i].sum);</p><p> printf("\n"); </p><p> break; /*找到該學生成績信息后跳出for循環(huán)*/</p><p><b> } </b></p><p> if(flog==0)</p><p&
70、gt; printf("未找到該學生信息!");</p><p><b> } </b></p><p> /***************修改學生成績*****************/</p><p> void modify() </p><p><b> { </
71、b></p><p> char a[10]; </p><p> int i,j,flog=0; </p><p> system("cls"); </p><p> printf("請輸入需要修改成績的學生學號\n"); </p><p> sca
72、nf("%s",a); </p><p> for(i=0;i<n;i++)</p><p> if(strcmp(a,stu[i].number)==0) </p><p><b> {</b></p><p><b> flog=1;</b></p
73、><p> printf("名次\t學號\t\t姓名\t語文\t數(shù)學\t英語\t理綜\t總分\n");</p><p> printf("%d\t%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n",i+1,stu[i].number,stu[i].name,stu[i].score[0],stu[i].score[1],s
74、tu[i].score[2],stu[i].score[3],stu[i].sum);</p><p> printf("\n");</p><p><b> break;</b></p><p><b> }</b></p><p> if(flog==1)</p
75、><p><b> {</b></p><p> printf("請重新輸入該學生的學號 姓名 語文 數(shù)學 英語 理綜:\n");</p><p> scanf("%s %s %f %f %f %f",stu[i].number,stu[i].name,&stu[i].score[0],&
76、;stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);</p><p> printf("修改成功\n"); </p><p><b> }</b></p><p><b> else</b></p><p>
77、; printf("未找到該學生信息\n");</p><p><b> } </b></p><p> /*****************添加學生成績********************/ </p><p> void add()</p><p><b> {</b
78、></p><p> int a,i,j; </p><p> system("cls"); </p><p> printf("請輸入新增加的學生人數(shù):\n"); </p><p> scanf("%d",&a); </p><p
79、><b> n=n+a;</b></p><p> printf("請輸入添加的學生的學號 姓名 語文 數(shù)學 英語 理綜:\n");</p><p> for(i=n-a;i<n;i++)</p><p> scanf("%s %s %f %f %f %f",stu[i].number
80、,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);</p><p> printf("添加成功\n"); </p><p><b> } </b></p><p> /**
81、*****************刪除學生成績*************************/ </p><p> void delscore() </p><p><b> { </b></p><p> int i,j,flog=0; </p><p> char m,a[10]; </p&g
82、t;<p> system("cls"); </p><p> printf("請輸入要刪除的學生學號\n"); </p><p> scanf("%s",a);</p><p> for(i=0;i<n;i++) </p><p> if(st
83、rcmp(a,stu[i].number)==0) </p><p><b> { </b></p><p><b> flog=1;</b></p><p> printf("名次\t學號\t\t姓名\t語文\t數(shù)學\t英語\t理綜\t總分\n");</p><p>
84、; printf("%d\t%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n",i+1,stu[i].number,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum);</p><p> printf("\n");<
85、;/p><p> break; </p><p><b> }</b></p><p> if(flog==0)</p><p> printf("未找到該學生信息\n"); </p><p><b> else</b></p>
86、<p> printf("是否刪除該學生成績(y/n)\n");</p><p> scanf("%s",&m);</p><p> if(m=='y') </p><p><b> {</b></p><p> for(i;i
87、<n-1;i++)</p><p> stu[i]=stu[i+1]; /*結構體整體賦值將后一位學生成績信息拷貝進入前一位學生信息的存儲位置*/ </p><p> n=n-1; /*刪除該學生信息后學生總數(shù)減一 */ </p><p> printf("刪除成績成功
88、\n"); </p><p><b> } </b></p><p><b> else</b></p><p> printf("刪除成績失敗\n"); </p><p><b> } </b></p><
89、;p> /******************保存學生成績************************/ </p><p> void savescore() </p><p><b> {</b></p><p> FILE *fp; </p><p> int i,flag=1; </
90、p><p><b> char m;</b></p><p> system("cls"); </p><p> puts("是否保存學生成績(y/n)");</p><p> scanf("%s",&m); </p><
91、;p> if(m=='y') </p><p><b> { </b></p><p> if((fp=fopen("score.dat","wb"))==NULL) </p><p><b> {</b></p><p>
92、; printf("文件打開失敗\n"); </p><p> return; </p><p><b> }</b></p><p> for(i=0;i<n;i++)</p><p> if(fwrite(&stu[i],sizeof(struct studen
93、t),1,fp)!=1) </p><p><b> { </b></p><p> printf("保存失敗\n");</p><p> flag=0; </p><p><b> } </b></p><p> if(flag==
94、1)</p><p> printf("保存成功!\n");</p><p> fclose(fp); </p><p><b> } </b></p><p><b> else</b></p><p><b> return;
95、</b></p><p><b> }</b></p><p> void main() </p><p><b> { </b></p><p> short int flag=0; </p><p><b> menu(); </
96、b></p><p><b> do </b></p><p><b> {</b></p><p> flag=1; </p><p> switch(getch()) </p><p><b> { </b></p
97、><p> case '1' : inputscore();break; /*輸入成績*/ </p><p> case '2' : lookscore();break; /*查看成績*/ </p><p> case '3' : searchscore();break; /
98、*查找成績*/ </p><p> case '4' : modify();break; /*修改成績*/ </p><p> case '5' : add();break; /*添加成績*/ </p><p> case '6' : delscor
99、e();break; /*刪除成績*/ </p><p> case '7' : savescore();break; /*保存成績*/ </p><p> case '8' :exit(0); /*退出程序*/ </p><p> default
100、 : printf("輸入有誤\n"); </p><p><b> } </b></p><p> printf("按任意鍵繼續(xù)\n"); </p><p> getch(); </p><p><b> menu(); </b&g
101、t;</p><p><b> }</b></p><p> while (flag==1); </p><p><b> } </b></p><p><b> 4.2.4程序運行</b></p><p><b> 運行開始(如圖
102、2)</b></p><p><b> 圖2</b></p><p> 選擇1輸入學生信息(如圖3)</p><p><b> 圖3</b></p><p> 選擇2按總分排序并查看總體情況(如圖4)</p><p><b> 圖4</b
103、></p><p> 選擇3查詢某同學的成績(如圖5)</p><p><b> 圖5</b></p><p> 選擇4修改學生成績(如圖6)</p><p><b> 圖6</b></p><p> 選擇5添加學生成績(如圖7)</p><
104、;p><b> 圖7</b></p><p> 選擇2查看添加后的成績情況(如圖8)</p><p><b> 圖8</b></p><p> 選擇6刪除某學生成績(如圖9)</p><p><b> 圖9</b></p><p> 選
105、擇8退出系統(tǒng)(如圖10)</p><p><b> 圖10</b></p><p><b> 五、總結</b></p><p> 本次課程設計實在學習并掌握了簡單數(shù)據(jù)結構與算法的基礎上對數(shù)據(jù)結構的應用,數(shù)據(jù)結構形式多樣,我們需要在一些簡單的結構的基礎上對數(shù)據(jù)結構進行修改以便解決實際生活中的不同問題。根據(jù)不同的實際問題
106、選擇不同的數(shù)據(jù)結構是解決實際問題的基礎?;仡櫰鸫舜握n程設計,我感慨頗多,的確,從拿到題目到完成整個編程,從理論到實踐,可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我們懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到
107、問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結構體……通過這次課程設計之后,一定把以前所學過的知識熟悉了,本次課程設計結束了,我們通過這次實踐學到了許多知識。學到了設計一個簡單的系統(tǒng)。要注意哪些方面。也使我們知道自己哪些方面做得還不夠。編寫程序是件</p><p> 要熟練掌握課本知識,并
108、且能在理解的基礎上加以創(chuàng)新;</p><p> 在做整個課程設計之前應該對問題進行系統(tǒng)的分析,確定總體思路;</p><p> 將總任務分解為幾個不同的板塊,逐個擊破;</p><p> 要有足夠的耐心和細心,堅持不懈。</p><p><b> 參考文獻</b></p><p> [1
109、]寧正元·賴賢偉· 算法與數(shù)據(jù)結構(第二版)· 清華大學出版社</p><p> [2]黃思先·劉必雄· 程序設計基礎教程(C語言版)· 科學出版社</p><p> [3]譚浩強· C程序設計題解與上機指導(第三版) . 北京:清華大學出版社, 2005</p><p><b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結構課程設計--數(shù)據(jù)結構課程設計----huffman編碼
- 數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構及其應用(算法與數(shù)據(jù)結構課程設計)
- 數(shù)據(jù)結構課程設計---數(shù)據(jù)結構相關算法的演示系統(tǒng)
- 數(shù)據(jù)結構課程設計--- 數(shù)據(jù)結構各章算法的演示系統(tǒng)
- 數(shù)據(jù)結構課程設計報告
- 數(shù)據(jù)結構迷宮課程設計
- 數(shù)據(jù)結構課程設計報告
- 數(shù)據(jù)結構課程設計報告
- 數(shù)據(jù)結構迷宮課程設計
評論
0/150
提交評論