版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> 題 目: 學(xué)生成績管理系統(tǒng) </p><p> 姓 名: </p><p> 學(xué) 院: 理學(xué)與信息科學(xué)學(xué)院
2、 </p><p> 專 業(yè): 通信工程 </p><p> 班 級: 1班 </p><p> 學(xué) 號: </p><p> 指導(dǎo)教師:
3、 </p><p><b> 2013年9月4日</b></p><p><b> 目 錄</b></p><p> 一 設(shè)計目的…………………………………………………………….3</p><p> 二 課程設(shè)計的內(nèi)容.
4、.......................................3</p><p> 三 課程設(shè)計的要求與數(shù)據(jù)..................................3</p><p> 四 課程設(shè)計應(yīng)完成的工作..................................4</p><p> 五 總體設(shè)計(包含幾大
5、功能模塊)...........................4</p><p> 六 詳細設(shè)計(各功能模塊的具體實現(xiàn)算法——流程圖)………….5</p><p> 七 調(diào)試分析(包含各模塊的測試用例,及測試結(jié)果)…………….6</p><p> 八 總結(jié)………………………………………………………………...16</p><p
6、> 九 參考資料…………………………………………………………….17</p><p><b> 一 設(shè)計目的</b></p><p> 進一步加深、鞏固所學(xué)專業(yè)課程(《C語言程序設(shè)計》)的基本理論知識,理論聯(lián)系實際,進一步培養(yǎng)自己綜合分析問題和解決問題的能力。掌握運用C語言獨立地編寫、調(diào)試應(yīng)用程序和進行其它相關(guān)設(shè)計的技能。</p>&l
7、t;p> 二 課程設(shè)計的內(nèi)容</p><p> 對學(xué)生信息(包括學(xué)號、語文、數(shù)學(xué)、英語、平均分)進行管理,包括學(xué)生成績的信息輸入、輸出、查詢、刪除、排序、統(tǒng)計、退出.將學(xué)生的成績信息進行記錄,信息內(nèi)容包含:(1)學(xué)生的學(xué)號(2)學(xué)生的姓名(3)學(xué)生的成績。假設(shè),現(xiàn)收集到了一個班學(xué)生的所有成績信息,要求用C語言編寫一個簡單的成績管理系統(tǒng),可進行錄入、查詢、修改和瀏覽等功能。學(xué)習(xí)相關(guān)開發(fā)工具和應(yīng)用軟件,熟
8、悉系統(tǒng)建設(shè)過程。</p><p> 三 課程設(shè)計的要求與數(shù)據(jù)</p><p> 1、用C語言實現(xiàn)系統(tǒng);</p><p> 2、對學(xué)生信息(包括學(xué)號、姓名、語文、數(shù)學(xué)、英語、平均分)進行管理,包括學(xué)生成績的信息輸入、輸出、查詢、刪除、排序、統(tǒng)計、退出.</p><p> 3、學(xué)生信息包括:其內(nèi)容較多,為了簡化討論,要求設(shè)計的管理系統(tǒng)能
9、夠完成以下功能:</p><p> 1)輸入記錄模塊。輸入記錄模塊主要完成將數(shù)據(jù)存入單鏈表中的工作。在此成績管理系統(tǒng)中,記錄可以從以二進制形式存儲的數(shù)據(jù)文件中讀入,也可從鍵盤逐個輸入學(xué)生記錄。學(xué)生記錄由學(xué)生的基本信息和成績信息字段構(gòu)成。當(dāng)從數(shù)據(jù)文件中讀入記錄時,它就是在以記錄為單位存儲的數(shù)據(jù)文件中,將記錄逐條復(fù)制到單鏈表中。</p><p> 2)查詢記錄模塊。查詢記錄模塊主要完成在單
10、鏈表中查找滿足相關(guān)條件的學(xué)生記錄。在此成績管理系統(tǒng)中,用戶可以按照學(xué)生的學(xué)號或姓名在單鏈表中進行查找。若找打該學(xué)生的記錄,則返回指向該學(xué)生的指針。否則,返回一個值為NULL的空指針,并打印出未找到該學(xué)生記錄的提示信息。</p><p> 3)更新記錄模塊。更新記錄模塊主要完成對學(xué)生記錄的維護。在此成績管理系統(tǒng)中,它 實現(xiàn)了對學(xué)生記錄的修改、刪除、插入和排序操作。一般而言,系統(tǒng)進行論文這些操作之后,需要將修改的數(shù)
11、據(jù)存入源數(shù)據(jù)文件。</p><p> 4)統(tǒng)計記錄模塊。統(tǒng)計記錄模塊主要完成對各門功課最高分和不及格人數(shù)的統(tǒng)計。</p><p> 5)輸出記錄模塊。輸出記錄模塊主要完成兩個任務(wù)。第一,它實現(xiàn)對學(xué)生記錄的存盤操作,即將單鏈表中的各節(jié)點中存儲的學(xué)生記錄信息寫入數(shù)據(jù)文件中。第二,它實現(xiàn)將單鏈表中存儲的學(xué)生記錄信息以表格的形式在屏幕上打印出來。</p><p> 四
12、 課程設(shè)計應(yīng)完成的工作</p><p><b> (1)編寫算法;</b></p><p> (2)算法測試,并有具體的測試結(jié)果和結(jié)果分析;</p><p> (3)撰寫課程設(shè)計報告。內(nèi)容包括:</p><p><b> 封面扉頁</b></p><p><b
13、> 設(shè)計任務(wù)書</b></p><p><b> 目錄</b></p><p> 總體設(shè)計方案(包括流程圖)</p><p> 使用說明及運行實例(包括界面)</p><p><b> 成員設(shè)計內(nèi)容簡介</b></p><p> 項目源程序代碼(
14、注意注釋的使用)</p><p><b> 指導(dǎo)教師評語</b></p><p> 五 總體設(shè)計(包含幾大功能模塊)</p><p><b> 1、成績錄入功能</b></p><p><b> 2、成績查詢功能</b></p><p><
15、;b> 3、成績更新功能</b></p><p><b> 4、統(tǒng)計功能</b></p><p><b> 5、輸出功能 </b></p><p><b> 6、退出系統(tǒng)</b></p><p> 六 詳細設(shè)計(各功能模塊的具體實現(xiàn)算法——流程圖
16、)</p><p> 6.1各函數(shù)的功能和實現(xiàn)</p><p> 1、輸入初始的學(xué)生信息:輸入信息包括學(xué)生的姓名、學(xué)號以及學(xué)生的成績等相關(guān)信息;可用函數(shù)void input(STUDENT *data, int *len)來實現(xiàn)此操作。 </p><p> 2、成績輸出模塊:輸出學(xué)生的信息以及成績void output(STUDENT *data, int
17、len):通過學(xué)生的姓名來查看學(xué)生的相關(guān)成績,同時也可以分別通過caverage() 、maverage() 、eaverage() 和comaverage() 來輸出成績的平均分數(shù)、最高和最低分數(shù)。</p><p> 3、成績查詢模塊:可用void find(STUDENT *data, int len) 來實現(xiàn)。找到就輸出此學(xué)生全部信息。</p>
18、<p> 4、刪除模塊:用函數(shù)void delete_item(STUDENT *data, int *len)來實現(xiàn)</p><p> 5、排序模塊:用函數(shù)void sort(STUDENT *data, int len)來實現(xiàn)</p><p> 6、統(tǒng)計功能能:用函數(shù)void stat(STUDENT *data, int len) 來實現(xiàn)</p>&
19、lt;p> 7、退出系統(tǒng):可用一個函數(shù)exit()來實現(xiàn),首先將信息保存到文件中,釋放動態(tài)創(chuàng)建的內(nèi)存空間,再退出此程序。</p><p> 如圖七 調(diào)試分析(包含各模塊的測試用例,及測試結(jié)果)</p><p><b> 7.1源程序</b></p><p> #include <stdio.h></p>
20、<p> #include<string.h></p><p> #include <stdlib.h></p><p> #include <malloc.h></p><p> #define LEN sizeof(Student)</p><p> typedef struct
21、student</p><p><b> {</b></p><p><b> int num;</b></p><p> char name[20];</p><p> int score[4];</p><p><b> int sum;</b&
22、gt;</p><p> struct student *next;</p><p><b> }Student;</b></p><p><b> int n;</b></p><p> Student *cin(void); </p><p> Student
23、*sort_1(Student *head,int); </p><p> void sort_2(Student *head);</p><p> void print(Student *head);</p><p> Student *sort_all(Student *head);</p><p> void find(Stud
24、ent *head);</p><p> Student *add_new(Student *head);</p><p> Student *cin()</p><p><b> {</b></p><p> int flag; </p><p> Student *head,*p1,
25、*p2;</p><p><b> n=0;</b></p><p> head=(Student *)malloc(LEN);</p><p><b> p2=head;</b></p><p> printf("\n請輸入第%d名學(xué)生的學(xué)號,學(xué)號為0表示結(jié)束輸入:",
26、n+1); </p><p> scanf("%d",&flag);</p><p> while(getchar()!='\n');</p><p> for(;flag;)</p><p><b> {</b></p><p><b&g
27、t; n++;</b></p><p> p1=(Student *)malloc(LEN);</p><p> p1->num=flag;</p><p> printf("請輸入第%d名學(xué)生的姓名:",n);</p><p> scanf("%s",p1->name
28、); </p><p> printf("請輸入第%d名學(xué)生的高數(shù)成績:",n);</p><p> scanf("%d",&p1->score[0]);</p><p> printf("請輸入第%d名學(xué)生的英語成績:",n);</p><p> scanf(
29、"%d",&p1->score[1]);</p><p> printf("請輸入第%d名學(xué)生的計算機成績:",n);</p><p> scanf("%d",&p1->score[2]);</p><p> printf("請輸入第%d名學(xué)生的物理成績:&quo
30、t;,n);</p><p> scanf("%d",&p1->score[3]);</p><p> p1->sum=p1->score[0]+p1->score[1]+p1->score[2]+p1->score[3];</p><p> p2->next=p1;</p>
31、<p><b> p2=p1;</b></p><p> printf("\n請輸入第%d名學(xué)生的學(xué)號,沒有此學(xué)生則輸入0表示結(jié)束:",n+1); </p><p> scanf("%d",&flag);</p><p><b> }</b></p&g
32、t;<p> p2->next=NULL;</p><p> printf("\n\n");</p><p> return head;</p><p><b> }</b></p><p> Student *sort_all(Student *head)</p&
33、gt;<p><b> {</b></p><p> int choose;</p><p><b> for(;;) </b></p><p><b> {</b></p><p> printf("\n\t\t# # # # # 學(xué)生成績統(tǒng)
34、計排序 # # # #\n");</p><p> printf("\t\t#\t1.按學(xué)生學(xué)號排序\t #\n");</p><p> printf("\t\t#\t2.按學(xué)生總分排序\t #\n");</p><p> printf("\t\t#\t3.按學(xué)生高數(shù)成績排序\t #\n")
35、;</p><p> printf("\t\t#\t4.按學(xué)生英語成績排序\t #\n");</p><p> printf("\t\t#\t5.按學(xué)生計算機成績排序\t #\n");</p><p> printf("\t\t#\t6.按學(xué)生物理成績排序\t #\n");</p>&l
36、t;p> printf("\t\t#\t7.單科高分及均分\t #\n");</p><p> printf("\t\t#\t8.顯示當(dāng)前學(xué)生成績\t #\n");</p><p> printf("\t\t#\t0.返回上一級菜單\t #\n");</p><p> printf("
37、;\t\t# # # # # # ^-^ # # # #\n\n"); </p><p> printf("請輸入你要執(zhí)行的操作:");</p><p> scanf("%d",&choose);</p><p> while(getchar()!='\n');</p>&
38、lt;p> switch(choose)</p><p><b> {</b></p><p><b> case 1:</b></p><p><b> case 2:</b></p><p><b> case 3:</b></p
39、><p><b> case 4:</b></p><p><b> case 5:</b></p><p> case 6:head=sort_1(head,choose);break;</p><p> case 7:print(head);sort_2(head);break;</p
40、><p> case 8:print(head);break;</p><p> case 0:return head;</p><p> default: printf("\n\n您的輸入有誤!請重新輸入:\n\n");break;</p><p><b> }</b></p>&
41、lt;p><b> }</b></p><p><b> }</b></p><p> Student *sort_1(Student *head,int choose)</p><p><b> {</b></p><p> Student *p1,*p2=h
42、ead->next,*pm,*px;</p><p> Student mid;</p><p> if (!p2) return head;</p><p> for(p1=p2;p1->next!=NULL;p1=p1->next)</p><p><b> {</b></p>
43、<p><b> pm=p1;</b></p><p> for(p2=p1->next;p2!=NULL;p2=p2->next)</p><p> switch(choose)</p><p><b> {</b></p><p> case 1:if (pm-
44、>num>p2->num) pm=p2;break;</p><p> case 2:if (pm->sum<p2->sum) pm=p2;break;</p><p> case 3:if (pm->score[0]<p2->score[0]) pm=p2;break;</p><p> case 4:i
45、f (pm->score[1]<p2->score[1]) pm=p2;break;</p><p> case 5:if (pm->score[2]<p2->score[2]) pm=p2;break;</p><p> case 6:if (pm->score[3]<p2->score[3]) pm=p2;break;</
46、p><p><b> }</b></p><p> if (pm!=p1)</p><p><b> {</b></p><p><b> mid=*pm;</b></p><p><b> *pm=*p1;</b></
47、p><p><b> *p1=mid;</b></p><p> px=pm->next;</p><p> pm->next=p1->next;</p><p> p1->next=px;</p><p><b> }</b></p>
48、;<p><b> }</b></p><p> printf("\n排序后的成績表為:\n");</p><p> print(head); </p><p> return head;</p><p><b> }</b></p><
49、;p> void sort_2(Student *head)</p><p><b> {</b></p><p> Student *p=head->next;</p><p> int max_1,max_2,max_3,max_4,min_1,min_2,min_3,min_4;</p><p>
50、; int max_sum,min_sum;</p><p> int sum_1=0,sum_2=0,sum_3=0,sum_4=0;</p><p> float aver_1,aver_2,aver_3,aver_4,aver_sum;</p><p> if (!p) return;</p><p> max_1=min_1
51、=p->score[0];max_2=min_2=p->score[1];</p><p> max_3=min_3=p->score[2];max_2=min_2=p->score[3];</p><p> max_sum=min_sum=p->sum;</p><p> for(;p;p=p->next)</p&g
52、t;<p><b> {</b></p><p> if (max_1<p->score[0]) max_1=p->score[0];</p><p> else if (min_1>p->score[0]) min_1=p->score[0];</p><p> if (max_2&l
53、t;p->score[1]) max_2=p->score[1];</p><p> else if (min_2>p->score[1]) min_2=p->score[1];</p><p> if (max_3<p->score[2]) max_3=p->score[2];</p><p> else if
54、 (min_3>p->score[2]) min_3=p->score[2];</p><p> if (max_4<p->score[3]) max_4=p->score[3];</p><p> else if (min_4>p->score[3]) min_4=p->score[3];</p><p>
55、 if (max_sum<p->sum) max_sum=p->sum;</p><p> else if (min_sum>p->sum) min_sum=p->sum; </p><p> sum_1+=p->score[0];sum_2+=p->score[1];sum_3+=p->score[2];sum_4+=p->
56、;score[3];</p><p><b> }</b></p><p> aver_1=1.0*sum_1/n;aver_2=1.0*sum_2/n;aver_3=1.0*sum_3/n;aver_4=1.0*sum_4/n;</p><p> aver_sum=aver_1+aver_2+aver_3+aver_4;</p&g
57、t;<p> printf("總共%d名學(xué)生,具體數(shù)據(jù)為:\n",n); </p><p> printf("高數(shù)最高分為%d,最低分為%d,平均分為%.2f\n",max_1,min_1,aver_1);</p><p> printf("英語最高分為%d,最低分為%d,平均分為%.2f\n",max_2,m
58、in_2,aver_2);</p><p> printf("計算機最高分為%d,最低分為%d,平均分為%.2f\n",max_3,min_3,aver_3); </p><p> printf("物理最高分為%d,最低分為%d,平均分為%.2f\n",max_4,min_4,aver_4);</p><p> prin
59、tf("總分最高分為%d,最低分位%d,平均分為%.2f\n",</p><p> max_sum,min_sum,aver_sum);</p><p><b> } </b></p><p> void find(Student *head)</p><p><b> {</
60、b></p><p> Student *p;</p><p> int choose,fnum;</p><p> char tem[20];</p><p> if (n==0) {printf("\n當(dāng)前系統(tǒng)沒有任何學(xué)生數(shù)據(jù),您就別費勁了!\n ");return;}</p><p&
61、gt;<b> for(;;)</b></p><p><b> {</b></p><p> printf("\n請輸入您要查詢學(xué)生的方式:\n\n");</p><p> printf("1、按學(xué)號查詢;2、按姓名查詢;0、我不查詢了。\n\n");</p>
62、<p> printf("請選擇:");</p><p> scanf("%d",&choose);</p><p> while(getchar()!='\n');</p><p> if (choose==1) </p><p><b> {&
63、lt;/b></p><p> printf("\n請輸入您要查詢的學(xué)生的學(xué)號,輸入0退出學(xué)號查詢:");</p><p> scanf("%d",&fnum);</p><p> for(;fnum;)</p><p><b> {</b></p>
64、;<p> for(p=head->next;p!=NULL&&p->num!=fnum;p=p->next);</p><p><b> if (!p) </b></p><p><b> {</b></p><p> printf("\n\n沒有找到您要
65、查詢的學(xué)號,請重新輸入,輸入0表示結(jié)束:");</p><p> scanf("%d",&fnum);</p><p><b> }</b></p><p> else if (p->num==fnum)</p><p><b> {</b><
66、;/p><p> printf("\n學(xué)號為%d學(xué)生的數(shù)據(jù)為:\n",p->num);</p><p> printf("學(xué)號\t姓名\t高數(shù)成績 英語成績 計算機成績 \</p><p> 物理成績 總分\n");</p><p> printf("%d\t%s\t %d %d %
67、d %d \</p><p> %d\n",p->num,</p><p> p->name,p->score[0],p->score[1],p->score[2],p->score[3],</p><p><b> p->sum);</b></p><p>
68、printf("\n\n請輸入您還要查詢的學(xué)生的學(xué)號,輸入0表示不按學(xué)\</p><p><b> 號查詢了:");</b></p><p> scanf("%d",&fnum);</p><p><b> }</b></p><p><b
69、> }</b></p><p><b> } </b></p><p> else if (choose==2)</p><p><b> {</b></p><p> printf("\n請輸入您要查詢的學(xué)生的姓名,輸入0退出姓名查詢:");<
70、/p><p> scanf("%s",tem); </p><p> for(;strcmp(tem,"0");)</p><p><b> {</b></p><p> for(p=head->next;p!=NULL&&strcmp(p->nam
71、e,tem);p=p->next);</p><p><b> if (!p)</b></p><p><b> {</b></p><p> printf("\n\n沒有找到您要查詢的姓名,請重新輸入,輸入0表\</p><p><b> 示結(jié)束:");
72、</b></p><p> scanf("%s",tem);</p><p><b> }</b></p><p> else if (!strcmp(p->name,tem))</p><p><b> {</b></p><p&g
73、t; printf("\n姓名為%s學(xué)生的數(shù)據(jù)為:\n",p->name);</p><p> printf("學(xué)號\t姓名\t高數(shù)成績 英語成績 計算機成績 \</p><p> 物理成績 總分\n");</p><p> printf("%d\t%s\t %d %d %d \</p>
74、<p><b> %d %d\n",</b></p><p> p->num,p->name,p->score[0],p->score[1],p->score[2],</p><p> p->score[3],p->sum);</p><p> printf("\n
75、\n請輸入您還要查詢的學(xué)生的姓名,輸入0表\</p><p> 示不按姓名查詢了:");</p><p> scanf("%s",tem);</p><p><b> }</b></p><p><b> }</b></p><p>&l
76、t;b> } </b></p><p> else if (choose==0) {printf("\n您選擇了不查詢!\n");break;}</p><p> else {printf("\n您以其他方式選擇了不查詢!\n");break;}</p><p><b> }</b&g
77、t;</p><p><b> }</b></p><p> Student *add_new(Student *head)</p><p><b> {</b></p><p> Student *p;</p><p> int flag; </p>
78、<p> printf("\n\n請輸入您要新加入學(xué)生的學(xué)號,學(xué)號為0表示結(jié)束輸入:"); </p><p> scanf("%d",&flag);</p><p> while(getchar()!='\n');</p><p> for(;flag;)</p>&l
79、t;p><b> {</b></p><p> p=(Student *)malloc(LEN);</p><p> p->num=flag;</p><p> printf("請輸入新加入學(xué)生的姓名:",n);</p><p> scanf("%s",p-&
80、gt;name); </p><p> printf("請輸入新加入學(xué)生的高數(shù)成績:",n);</p><p> scanf("%d",&p->score[0]);</p><p> printf("請輸入新加入學(xué)生的英語成績:",n);</p><p> sc
81、anf("%d",&p->score[1]);</p><p> printf("請輸入新加入學(xué)生的計算機成績:",n);</p><p> scanf("%d",&p->score[2]);</p><p> printf("請輸入第%d名學(xué)生的物理成績:&qu
82、ot;,n);</p><p> scanf("%d",&p->score[3]);</p><p> p->sum=p->score[0]+p->score[1]+p->score[2]+p->score[3];</p><p> p->next=head->next;</p&
83、gt;<p> head->next=p;</p><p><b> n++;</b></p><p> printf("\n請輸入還要加入學(xué)生的學(xué)號,沒有此學(xué)生則輸入0表示結(jié)束:"); </p><p> scanf("%d",&flag);</p>&
84、lt;p><b> }</b></p><p> head=sort_1(head,1);</p><p> printf("加入后的成績表為:\n");</p><p> print(head); </p><p> return head;</p><p>
85、<b> }</b></p><p> void print(Student *head)</p><p><b> {</b></p><p> Student *p=head->next;</p><p> if (!p) {printf("\n\n此系統(tǒng)目前沒有任何學(xué)
86、生數(shù)據(jù)!\n\n\n");return;}</p><p> printf("此系統(tǒng)目前共計學(xué)生%d名:\n",n); </p><p> printf("**************************學(xué)生成績總匯************************\</p><p> *****\n");&
87、lt;/p><p> printf("學(xué)號\t姓名\t高數(shù)成績 英語成績 計算機成績 物理成績 總分\n");</p><p> for(;p;p=p->next)</p><p> printf("%d\t%s\t %d %d %d %d %d\n",</p><p> p->num,
88、p->name,</p><p> p->score[0],p->score[1],p->score[2],p->score[3],</p><p> p->sum=p->score[0]+p->score[1]+p->score[2]+p->score[3]); </p><p> printf(&
89、quot;************************ ^-^ *************************\</p><p><b> *\n\n");</b></p><p><b> }</b></p><p> int main()</p><p><b>
90、; {</b></p><p> Student *head;</p><p> int choose,i;</p><p> head=(Student *)malloc(LEN);</p><p> head->next=NULL; </p><p><b> for(;;)
91、</b></p><p><b> {</b></p><p> printf("\n\t\t* * * * * 學(xué)生成績管理系統(tǒng) * * * *\n");</p><p> printf("\t\t*\t1.學(xué)生數(shù)據(jù)鍵盤錄入\t *\n");</p><p>
92、 printf("\t\t*\t2.學(xué)生數(shù)據(jù)統(tǒng)計排序\t *\n");</p><p> printf("\t\t*\t3.查詢學(xué)生數(shù)據(jù)\t\t *\n");</p><p> printf("\t\t*\t4.插入學(xué)生數(shù)據(jù)\t\t *\n");</p><p> printf("\t\t*
93、\t5.顯示當(dāng)前成績表\t *\n");</p><p> printf("\t\t*\t0.退出成績管理系統(tǒng)\t *\n");</p><p> printf("\t\t* * * * * * * * ^-^ * * * * * * * \n\n"); </p><p> printf("\n請輸
94、入你要執(zhí)行的操作:");</p><p> scanf("%d",&choose);</p><p> while(getchar()!='\n');</p><p> switch(choose)</p><p><b> {</b></p>
95、<p> case 1:printf("\n\t\t\t\t****注意****"); </p><p> printf("\n\n 此選項將會建立新的學(xué)生數(shù)據(jù)系統(tǒng) ,原來的數(shù)據(jù)將\</p><p> 不再存在,你確信要刪除原來的數(shù)據(jù)并建立新的數(shù)據(jù)系統(tǒng)么?\n\n");</p><p> printf(&qu
96、ot;1、建立新的數(shù)據(jù)系統(tǒng);0、放棄建立新的數(shù)據(jù)系統(tǒng)。\n\n");</p><p> printf("請選擇:");</p><p> scanf("%d",&i);</p><p> if (i==1) {head=cin();print(head);break;}</p><p
97、> else if (i==0) </p><p><b> {</b></p><p> printf("\n您選擇了放棄建立新的數(shù)據(jù)系統(tǒng)!\n");</p><p><b> break;</b></p><p><b> }</b>&l
98、t;/p><p><b> else {</b></p><p> printf("\您做出了別的選擇,當(dāng)作放棄建立!\n");</p><p><b> break;</b></p><p><b> } </b></p><p&g
99、t; case 2:head=sort_all(head);break;</p><p> case 3:find(head);break;</p><p> case 4:head=add_new(head);</p><p> case 5:print(head);break;</p><p> case 0:system(&q
100、uot;pause");return 0;</p><p> default: printf("\n\n您的輸入有誤!請重新輸入:\n\n");break; </p><p><b> }</b></p><p><b> }</b></p><p><b&
101、gt; }</b></p><p> 7.2.2主要程序運行結(jié)果</p><p> ?。?)運行開始,如圖。</p><p> ?。?)輸入數(shù)字1,然后按Enter鍵,如圖。</p><p> ?。?)輸入數(shù)字1,然后按下Enter鍵,就可以輸入考生數(shù)據(jù),如圖。</p><p> ?。?)輸入數(shù)字鍵2,
102、然后按下Enter鍵,即可得到學(xué)生成績的排序,如圖。</p><p> ?。?)輸入數(shù)字鍵0,按下Enter鍵,最后按任意鍵即可退出系統(tǒng)了,如圖。</p><p><b> 八 總結(jié)</b></p><p> 由于本課題中的許多知識點都沒有學(xué)過都要靠自己到課外的資料中去查找。在用的時候難免出現(xiàn)這樣那樣的錯誤。如開始設(shè)計出來的菜單不是預(yù)想的
103、那樣,而是總個窗中出現(xiàn)混亂。解決的這個問題的辦法是調(diào)整。一個系統(tǒng)的菜單和提示信息非常重要。如果沒有這些用戶根本不知道怎么用你設(shè)計的這個系統(tǒng)。在設(shè)計的調(diào)試過程中也無法順利的完成調(diào)試工作。有了一個清晰簡單的菜單和一些提示信息這后,調(diào)試過程完成的非常順利。</p><p> 回顧起此次課程設(shè)計,我感慨頗多,的確,從拿到題目到完成整個編程,從理論到實踐,在整整兩個禮拜的日子里,可以學(xué)到很多很多的東西,同時不僅可以鞏固了
104、以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我們懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固
105、,比如說結(jié)構(gòu)體……通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識熟悉了,本次課程設(shè)計結(jié)束了,我們通過這次實踐學(xué)到了許多知識。學(xué)到了設(shè)計一個簡單的系統(tǒng)。要注意哪些方面。也使我們知道自己哪些方面做得還不夠。這不僅是程序設(shè)計,更是鍛煉我們處理問題的能力,同時也使我們了解到團隊合作的可貴.編寫程序是件細心活,稍不留神就會出錯,這就必須要求我們對待事情要認真!在編寫程序的過程中,錯誤不斷出現(xiàn),不同的類型(如少寫了一個符號,寫</p>
106、<p> 但我們總結(jié)出了一點點的經(jīng)驗如下:</p><p> 1、要對系統(tǒng)的功能和要求做出詳細的分析,并合理分解任務(wù)。</p><p> 2、把分解出來的子任務(wù),做給一個相對獨立的模塊。</p><p> 3、在設(shè)計一個模塊之前,要簡單構(gòu)想一下總界面的顯視情況。</p><p> 4、針對構(gòu)想出來的界面進行程序的編寫。&l
107、t;/p><p><b> 九 參考資料</b></p><p> [1]譚浩強. C程序設(shè)計(第三版) . 北京:清華大學(xué)出版社, 2005 </p><p> [2]譚浩強. C程序設(shè)計題解與上機指導(dǎo)(第三版) . 北京:清華大學(xué)出版社, 2005</p><p> [3]李春葆,張植民,肖忠付.C語言設(shè)計
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計學(xué)生成績管理系統(tǒng) (2)
- c語言課程設(shè)計----學(xué)生成績管理系統(tǒng) (2)
- c語言課程設(shè)計--學(xué)生成績管理系統(tǒng) (2)
- c語言課程設(shè)計--學(xué)生成績管理系統(tǒng) (2)
- c語言課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計----學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計-學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)--c語言課程設(shè)計
- c語言課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計———學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計學(xué)生成績管理系統(tǒng)
評論
0/150
提交評論