版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 課程設(shè)計說明書(論文)</p><p> 題 目 學(xué)生選修課系統(tǒng)設(shè)計 </p><p> 課 程 名 稱 C語言課程設(shè)計 </p><p> 院(系、部、中心) 電力工程學(xué)院 </p><p> 專 業(yè) 建筑電氣與智能化
2、 </p><p> 班 級 建筑電氣與智能化111</p><p> 設(shè)計起止時間: 2011年12月20日至 2011年12月30日</p><p><b> 目錄</b></p><p> 系統(tǒng)大綱-----------------------------------------
3、--------------------------------------------1</p><p> 模塊設(shè)計-------------------------------------------------------------------------------------2</p><p> 主函數(shù)、頭文件及結(jié)構(gòu)聲明---------------------------
4、--------------------------------2</p><p> 打開、關(guān)閉程序畫面模塊--------------------------------------------------------------4</p><p> 管理員功能模塊------------------------------------------------------------
5、--------------7</p><p> 學(xué)生功能模塊----------------------------------------------------------------------------10</p><p> 瀏覽模塊-----------------------------------------------------------------------
6、-----------12</p><p> 查詢模塊----------------------------------------------------------------------------------14</p><p> 插入鏈表模塊-------------------------------------------------------------------
7、---------17</p><p> 添加模塊----------------------------------------------------------------------------------19</p><p> 刪除模塊-----------------------------------------------------------------------
8、-----------20</p><p> 選修課程模塊----------------------------------------------------------------------------22</p><p> 讀取文件模塊-----------------------------------------------------------------------
9、-----25</p><p> 保存文件模塊----------------------------------------------------------------------------26</p><p> 密碼修改模塊----------------------------------------------------------------------------2
10、8</p><p> 完整程序-------------------------------------------------------------------------------------30</p><p> 源文件-------------------------------------------------------------------------------
11、------30</p><p> 運行效果----------------------------------------------------------------------------------45</p><p> 結(jié)果分析--------------------------------------------------------------------------
12、-----------54</p><p> 總結(jié)--------------------------------------------------------------------------------------------54</p><p> 參考資料-------------------------------------------------------------
13、------------------------54</p><p><b> 一:系統(tǒng)大綱</b></p><p><b> 二:模塊設(shè)計</b></p><p> (一) 主函數(shù),頭文件及結(jié)構(gòu)體聲明</p><p> 主函數(shù)設(shè)計地比較簡潔,只是提供一個主菜單,switch語句將整個程序分
14、為兩個大的功能模塊</p><p><b> [流程圖]</b></p><p><b> [程序]</b></p><p> //由于程序畫面較大,請您右擊程序框,打開屬性欄,將程序框調(diào)整至---寬:114---高:37---給您帶來不便,敬請諒解。</p><p> //程序目前還存在一
15、些問題,課程信息修改無法進行。</p><p> //由于時間關(guān)系,一些在程序前面注釋過的信息在后面將不給予注釋,敬請諒解</p><p> #include<stdio.h> //標(biāo)準(zhǔn)輸入輸出函數(shù)</p><p> #include<string.h> //字符串操作函數(shù)&
16、lt;/p><p> #include<stdlib.h> //標(biāo)準(zhǔn)庫函數(shù)</p><p> #include<malloc.h> //開辟空間函數(shù)</p><p> #include<windows.h> //延時函數(shù)頭文件</p&g
17、t;<p> typedef struct subject //課程結(jié)構(gòu)體</p><p><b> {</b></p><p> int num; //課程編號</p><p> char name[20]; //課程名稱</p>
18、<p> char kind[10]; //課程性質(zhì) (選修或必修)</p><p> char teacher[7]; //授課教師</p><p> char place[20]; //授課地點</p><p> char times[20];
19、//授課時間</p><p> int stime; //總學(xué)時</p><p> int ttime; //授課學(xué)時</p><p> int score; //學(xué)分</p><p> int s_num;
20、 //允許選修人數(shù)</p><p> int l_num; //剩余人數(shù)</p><p> struct subject *next; //指向下一個結(jié)構(gòu)體</p><p><b> }SUB;</b></p><p> SUB *head=NULL;</p
21、><p> char password[8]="111111"; //密碼</p><p> void main()</p><p><b> {</b></p><p> int n,w=1;</p><p><b> menu();</b>&
22、lt;/p><p><b> s_o_m();</b></p><p><b> do</b></p><p><b> {</b></p><p> system("cls");</p><p> printf("\
23、n\n\n\n");</p><p> printf("\n\n\t\t∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮主菜單∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮\n\n");</p><p> printf("\t\t\t\t\t\t1.以管理員身份登錄\n");</p><p> printf(&quo
24、t;\n");</p><p> printf("\t\t\t\t\t\t2.以學(xué)生身份登錄\n");</p><p> printf("\n");</p><p> printf("\t\t\t\t\t\t3.退出");</p><p> printf("
25、;\n\n\t\t∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮∮\n");</p><p> printf("\n\t\t\t請選擇您要執(zhí)行的操作(1-3):[ ]\b\b");</p><p> scanf("%d",&n);</p><p><b&
26、gt; switch(n)</b></p><p><b> {</b></p><p> case 1:Mangers() ;break;</p><p> case 2:Students();break;</p><p> case 3:w=0;break;</p><p&g
27、t; default:printf("輸入錯誤!請重新輸入。");printf("\n\t\t\t");system("pause");break;</p><p><b> }</b></p><p><b> }</b></p><p> while(
28、w==1);</p><p> withdraw();</p><p><b> }</b></p><p> (二)打開、關(guān)閉程序畫面模塊</p><p> 打開程序時運用延時函數(shù),配合printf函數(shù),制作出一個動畫,隨之出現(xiàn)一個歡迎界面。關(guān)閉程序時出現(xiàn)“再見”畫面</p><p>&
29、lt;b> [程序]</b></p><p> void menu() //開機畫面</p><p><b> {</b></p><p> printf("由于程序畫面較大,請您右擊程序框,打開屬性欄,將程序框調(diào)整至\n寬:114\t高:37\n給您帶來不便,敬請諒解。\n
30、");</p><p> Sleep(300); //延時函數(shù)</p><p> printf(" :K#ELj;. ,ifDK#, \n");</p><p> Sleep(300);</p>
31、<p> printf(" f#######ELLDK###### L \n");</p><p> Sleep(300);</p><p> printf(" .##########
32、##########i \n");</p><p> Sleep(300);</p><p> printf(" j####################E 南 \n");</p><
33、;p> Sleep(300);</p><p> printf(" W#####################; 京 \n");</p><p> Sleep(300);</p><p> printf("
34、 ;######################L 工 \n");</p><p> Sleep(300);</p><p> printf(" E#######################. 程
35、 \n");</p><p> Sleep(300);</p><p> printf(" ,########################f 學(xué) \n");</p><p> Sleep(300);</p><
36、;p> printf(" .iLW#########################Gt: 院 \n");</p><p> Sleep(500);</p><p> printf(" .;fE##################
37、##############WGi. 學(xué) \n");</p><p> Sleep(300);</p><p> printf(" :tGW######################################WEf, 生 \n");</p><p&g
38、t; Sleep(300);</p><p> printf(" f########################E 選 \n");</p><p> Sleep(300);</p><p> printf("
39、 t########################D 修 \n");</p><p> Sleep(300);</p><p> printf(" :, .W#######################i:; 課 \
40、n");</p><p> Sleep(300);</p><p> printf(" G#KDLt,. ,W#####################G:ifGE#W, 管 \n");</p><p> Sleep(300);</p><p>
41、 printf(" D#####WDLt,i####################D,ijGK#####W, 理 \n");</p><p> Sleep(300);</p><p> printf(" L############E;,j##############
42、##########K: 系 \n");</p><p> Sleep(300);</p><p> printf(" jW########Ei.G########################f. 統(tǒng) \n");</p><p> Slee
43、p(300);</p><p> printf(" :K#####Wi j#########################j \n");</p><p> Sleep(300);</p><p> printf("
44、 .E#####GfK#########################i \n");</p><p> Sleep(300);</p><p> printf(" .K###############################t \n&quo
45、t;);</p><p> Sleep(300);</p><p> printf(" .,;tjG##############################Kfji,: \n");</p><p> Sleep(300);</p><p> pr
46、intf(" .ifDW###########################################ELt: \n");</p><p> Sleep(300);</p><p> printf(" .;fK#######################################
47、#############WGt. \n");</p><p> Sleep(300);</p><p> printf(" ;D############################################################Kj \n");</p><p> Sleep
48、(300);</p><p> printf(" :G################################################################E; \n");</p><p> Sleep(300);</p><p> printf(" j################
49、####################################################D. \n");</p><p> Sleep(300);</p><p> printf(" D######################################################################W, \n"
50、;);</p><p> Sleep(300);</p><p> printf(" .E#########################################################################,\n");</p><p> Sleep(300);</p><p> pri
51、ntf(":D###########################################################################\n");</p><p> Sleep(300);</p><p> printf("#####################################################
52、########################\n");</p><p> system("pause"); //按任意鍵繼續(xù)</p><p> system("cls"); //清屏</p><p><b> }</b></p>
53、;<p> void s_o_m() //開機畫面</p><p> { printf("\n\n\n\n");</p><p> printf("\n\n\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n");</p
54、><p> printf("\n\n\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n\n");</p><p> printf("\t\t\t\t\t\t歡迎使用學(xué)生選修課管理系統(tǒng)。\n");</p><p> printf("\n\n");</p
55、><p> printf("\t\t\t\t\t\t祝您使用愉快。\n");</p><p> printf("\n\n\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n\n");</p><p> printf("\n\n\t\t※※※※※※※※※※※※※※※※※
56、※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n");</p><p> printf("\n\t\t\t");</p><p> system("pause"); </p><p><b> }</b></p><p> void withdraw
57、() //結(jié)束畫面</p><p> { system("cls");</p><p> printf("\n\n\n\n");</p><p> printf("\n\n\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
58、※※\n\n");</p><p> printf("\n\n\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n\n");</p><p> printf("\t\t\t\t\t\t\t感謝您的使用。\n");</p><p> printf("\n\
59、n\n");</p><p> printf("\t\t\t\t\t\t\t再見。\n");</p><p> printf("\n\n\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n");</p><p> printf("\n\n\t\t★★
60、★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n\n");</p><p> printf("\n\t\t\t");</p><p> system("pause"); </p><p><b> }</b></p><p>
61、 (三) 管理員功能模塊</p><p> 進入管理員菜單需要密碼,初始密碼為“111111”,進入管理員菜單后可修改密碼。管理員的功能一共有五個功能:瀏覽、查詢、添加、刪除、課程. 修改密碼。還有一個“修改課程信息”功能暫時無法運行運用字符串處理函數(shù)處理密碼的問題,用一個switch語句實現(xiàn)函數(shù)的調(diào)用.</p><p><b> [流程圖]</b></p
62、><p><b> [程序]</b></p><p> void Mangers() //管理員函數(shù)</p><p><b> {</b></p><p> int n,w=1,flag=0,i=3;</p><p&
63、gt; char s[8],a[]={"manager"};</p><p><b> do</b></p><p><b> {</b></p><p> printf("\n\n\t\t\t請輸入密碼:");</p><p> scanf(&qu
64、ot;%s",s);</p><p> if(!strcmp(s,password)) //進行密碼匹配驗證</p><p><b> {</b></p><p><b> flag=1;</b></p><p><b> break;</
65、b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf("\n\n\t\t\t輸入錯誤!你還有%d次機會,請重新輸入:\n",i-1);<
66、;/p><p><b> i--;</b></p><p><b> } </b></p><p><b> }</b></p><p> while(i>0);</p><p><b> if(!flag)</b>&l
67、t;/p><p><b> {</b></p><p> printf("\t\t\t你已連續(xù)輸錯三次!"); //輸入密碼超過了3次??!</p><p> exit(0); //自動退出</p><p><b>
68、 }</b></p><p><b> do</b></p><p><b> {</b></p><p> system("cls");</p><p> printf("\n\n\n\n");</p><p>
69、 printf("\n\n☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆管理員菜單☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆\n\n");</p><p> printf("\t\t\t\t\t\t1---瀏覽課程信息\n");</p><p> printf("\t\t\t\t\t\t2---查詢課程信息\n
70、");</p><p> printf("\t\t\t\t\t\t3---添加課程信息\n");</p><p> //printf("\t\t\t\t\t\t4---修改課程信息\n");</p><p> //printf("\t\t\t\t\t\t5---刪除課程信息\n");<
71、/p><p> //printf("\t\t\t\t\t\t6---修改密碼\n");</p><p> //printf("\t\t\t\t\t\t7---返回主菜單");</p><p> printf("\t\t\t\t\t\t4---刪除課程信息\n");</p><p>
72、 printf("\t\t\t\t\t\t5---修改密碼\n");</p><p> printf("\t\t\t\t\t\t6---返回主菜單");</p><p> printf("\n\n☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆\n");
73、</p><p> printf("\n\t\t\t請選擇您要執(zhí)行的操作(1-5):[ ]\b\b");</p><p> scanf("%d",&n);</p><p><b> switch(n)</b></p><p><b> {</b>
74、;</p><p> case 1:prin(a);break;</p><p> case 2:search();break;</p><p> case 3:insert();savefile();break;</p><p> // case 4:mod();break;</p><p> // cas
75、e 5:del();savefile();break;</p><p> // case 6:pass();break;</p><p> // case 7:w=0;break;</p><p> case 4:del();savefile();break;</p><p> case 5:pass();break;</p&g
76、t;<p> case 6:w=0;break;</p><p> default:printf("輸入錯誤!請重新輸入。");printf("\n");system("pause");break;</p><p><b> } </b></p><p> }wh
77、ile(w==1);</p><p><b> }</b></p><p> (四) 學(xué)生功能菜單</p><p> 學(xué)生功能菜單包括五個功能:瀏覽課程,查詢課程, 添加選修課程,瀏覽我所選修的課程,刪除錯選的課程,也是用到switch語句來調(diào)用函數(shù)。每個學(xué)生選修課程和瀏覽我選修的課程時都要輸入學(xué)號,每個學(xué)生的信息單獨存放在一個文件里。&
78、lt;/p><p><b> [流程圖]</b></p><p><b> [程序]</b></p><p> void Students() //學(xué)生函數(shù)</p><p><b> {</b></p
79、><p> int n,w=1;</p><p> char a[]={"manager"},b[5];</p><p><b> do</b></p><p><b> {</b></p><p> system("cls");
80、</p><p> printf("\n\n\n\n");</p><p> printf("\n\n☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆學(xué)生菜單☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆\n\n");</p><p> printf("\t\t\t\t\t\t1---瀏覽所
81、有課程\n");</p><p> printf("\t\t\t\t\t\t2---查詢課程信息\n");</p><p> printf("\t\t\t\t\t\t3---選擇選修課程\n");</p><p> printf("\t\t\t\t\t\t4---瀏覽我選修的課程\n");&
82、lt;/p><p> printf("\t\t\t\t\t\t5---刪除錯選課程\n");</p><p> printf("\t\t\t\t\t\t6---返回主菜單");</p><p> printf("\n\n☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆☆○☆
83、☆○☆☆○☆☆○☆☆○☆\n");</p><p> printf("\n請選擇您要執(zhí)行的操作(1-6):[ ]\b\b");</p><p> scanf("%d",&n);</p><p><b> switch(n)</b></p><p><b
84、> {</b></p><p> case 1:prin(a);break;</p><p> case 2:search();break;</p><p> case 3:choose();break;</p><p> case 4:printf("請輸入您的學(xué)號:\n");scanf(&q
85、uot;%s",b);prin(b);break;</p><p> case 5:del();savefile1();break;</p><p> case 6:w=0;break;</p><p> default:printf("輸入錯誤!請重新輸入。");printf("\n\t\t\t");syst
86、em("pause");break;</p><p><b> } </b></p><p><b> }</b></p><p> while(w==1);</p><p><b> }</b></p><p><b&
87、gt; (五) 瀏覽模塊</b></p><p> 瀏覽模塊主要用管理員中的”瀏覽課程”和學(xué)生功能中的”瀏覽所有所有課程”,將所有的課程信息輸出,即將txt文件里面的內(nèi)容全部輸出</p><p><b> [流程圖]</b></p><p><b> [程序]</b></p><p&
88、gt; void prin(char a[]) //瀏覽所有課程</p><p><b> {</b></p><p><b> SUB *ptr;</b></p><p> char s[]={".txt"};</p><p> strcat(a,s);</
89、p><p> head=NULL;</p><p> readfile(a);</p><p> if(head==NULL)</p><p><b> {</b></p><p> printf("\n\n\t*********沒有課程信息!************\n"
90、;);</p><p><b> return;</b></p><p><b> }</b></p><p> printf("課程編號 課程名稱 課程性質(zhì) 授課教師 授課地點 授課時間 總學(xué)時 授課學(xué)時 學(xué)分 允許選修人數(shù) 剩余人數(shù)\n");</p><
91、p> for(ptr=head;ptr;ptr=ptr->next)</p><p><b> {</b></p><p> printf("%5d%12s%9s%9s%9s%11s%9d%9d%10d%10d%12d\n",ptr->num,ptr->name,ptr->kind,ptr->teacher
92、,ptr->place,ptr->times,ptr->stime,ptr->ttime,ptr->score,ptr->s_num,ptr->l_num);</p><p><b> }</b></p><p> printf("\n\t\t\t");</p><p> sy
93、stem("pause");</p><p><b> }</b></p><p><b> (六) 查詢模塊</b></p><p> 查詢模塊主要用于管理員功能中的”查詢課程”和學(xué)生功能模塊中的”查詢所有課程”,查詢模塊共分為三個查詢方法:按課程名稱查找,按課程性質(zhì)查找和按學(xué)分查找.switc
94、h語句中,每一個case語句就是一中查詢方法</p><p><b> [流程圖]</b></p><p><b> [程序]</b></p><p> void search() //課程信息查詢</p><p><b> {<
95、/b></p><p> int a,num;</p><p><b> int t=1;</b></p><p> char type[10],min[10];</p><p><b> SUB *ptr;</b></p><p> L1:system(&q
96、uot;cls");</p><p> printf("\n\n\n\n");</p><p> printf("\n\n\t\t***********************請選擇查詢方式**************************\n");</p><p> printf("\n\t\t\
97、t\t\t1---按課程名稱查找\n");</p><p> printf("\n\t\t\t\t\t2---按課程性質(zhì)查找\n");</p><p> printf("\n\t\t\t\t\t3---按學(xué)分查找\n");</p><p> printf("\n\t\t\t\t\t4---退出查找\n
98、");</p><p> printf("\n\n\t\t****************************************************************************\n");</p><p> printf("\n\n\t\t\t請選擇您要執(zhí)行的操作(1-4):[ ]\b\b");</
99、p><p> scanf("%d",&a);</p><p><b> switch(a)</b></p><p><b> {</b></p><p> case 1:printf("請輸入要查找的課程的名稱:"); //按名
100、稱查找</p><p> printf("\t\t\t");</p><p> scanf("%s",min);</p><p> printf("課程編號 課程名稱 課程性質(zhì) 授課教師 授課地點 授課時間 總學(xué)時 授課學(xué)時 學(xué)分 允許選修人數(shù) 剩余人數(shù)\n");</p>
101、;<p> for(ptr=head;ptr;ptr=ptr->next)</p><p> if(strcmp(min,ptr->name)==0)</p><p><b> {</b></p><p> printf("%5d%12s%9s%9s%9s%11s%9d%9d%10d%10d%12d\
102、n",ptr->num,ptr->name,ptr->kind,ptr->teacher,ptr->place,ptr->times,ptr->stime,ptr->ttime,ptr->score,ptr->s_num,ptr->l_num);</p><p><b> t=0;</b></p>&
103、lt;p><b> }</b></p><p><b> if(t) </b></p><p> printf("\t\n未找到!\n");</p><p><b> t=1;</b></p><p> printf("\t\t\t
104、");</p><p> system("pause");</p><p><b> goto L1;</b></p><p> case 2:printf("請輸入要查找的課程的性質(zhì):"); //按性質(zhì)查找</p><p> scanf(&q
105、uot;%s",type);</p><p> printf("課程編號 課程名稱 課程性質(zhì) 授課教師 授課地點 授課時間 總學(xué)時 授課學(xué)時 學(xué)分 允許選修人數(shù) 剩余人數(shù)\n");</p><p> for(ptr=head;ptr;ptr=ptr->next)</p><p> if(strcmp(ty
106、pe,ptr->kind)==0)</p><p><b> {</b></p><p> printf("%5d%12s%9s%9s%9s%11s%9d%9d%10d%10d%12d\n",ptr->num,ptr->name,ptr->kind,ptr->teacher,ptr->place,ptr-&g
107、t;times,ptr->stime,ptr->ttime,ptr->score,ptr->s_num,ptr->l_num);</p><p><b> t=0;</b></p><p><b> }</b></p><p><b> if(t) </b><
108、/p><p> printf("\t\n未找到!\n");</p><p><b> t=1;</b></p><p> printf("\t\t\t");</p><p> system("pause");</p><p><
109、b> goto L1;</b></p><p> case 3:printf("輸入要查找的課程的學(xué)分:"); //按學(xué)分查找</p><p> scanf("%d",&num);</p><p> printf("課程編號 課程名稱 課程性質(zhì) 授課教
110、師 授課地點 授課時間 總學(xué)時 授課學(xué)時 學(xué)分 允許選修人數(shù) 剩余人數(shù)\n");</p><p> for(ptr=head;ptr;ptr=ptr->next)</p><p> if(ptr->score==num)</p><p><b> {</b></p><p>
111、printf("%5d%12s%9s%9s%9s%11s%9d%9d%10d%10d%12d\n",ptr->num,ptr->name,ptr->kind,ptr->teacher,ptr->place,ptr->times,ptr->stime,ptr->ttime,ptr->score,ptr->s_num,ptr->l_num);</p&
112、gt;<p><b> t=0;</b></p><p><b> }</b></p><p><b> if(t) </b></p><p> printf("\n\t\t\t\t未找到!\n");</p><p><b>
113、 t=1;</b></p><p> printf("\t\t\t");</p><p> system("pause");</p><p><b> goto L1;</b></p><p> case 4:break;</p><p&g
114、t;<b> }</b></p><p><b> }</b></p><p> (七) 插入鏈表模塊</p><p> 插入鏈表操作主要用于添加課程,在整個課程信息中加入一些新課程,它在添加模塊中被調(diào)用</p><p><b> [流程圖]</b></p>
115、;<p><b> [程序]</b></p><p> void *myInsert(SUB* subj) //鏈表插入操作 </p><p><b> {</b></p><p> SUB *ptr,*ptr2; //找到該插入的位置,進行操作</p>&l
116、t;p><b> ptr=subj;</b></p><p> if(head==NULL)</p><p><b> {</b></p><p><b> head=ptr;</b></p><p> head->next=NULL;</p>
117、<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> for(ptr2=head;ptr2;ptr2=ptr2->next)</p><p> if(ptr2->ne
118、xt==NULL)</p><p><b> {</b></p><p> ptr2->next=subj;</p><p> subj->next=NULL;</p><p><b> break;</b></p><p><b> }<
119、;/b></p><p><b> }</b></p><p> return head;</p><p><b> }</b></p><p><b> (八) 添加模塊</b></p><p> 添加模塊主要用于增加課程信息,采用鏈表
120、的操作</p><p><b> [流程圖]</b></p><p><b> [程序]</b></p><p> void *insert()//插入課程信息 </p><p><b> {</b></p><p> SUB *ptr,*su
121、bj;</p><p> int size=sizeof(SUB);</p><p> char ch,ch1;</p><p> while(ch!='0')</p><p><b> {</b></p><p> subj=(SUB *)malloc(size);&l
122、t;/p><p><b> ptr=subj;</b></p><p> printf("輸入要插入的課程信息:\n");</p><p> printf("\n\t\t\t\t\t請輸入課程編號:");scanf("%d",&subj->num); </p&
123、gt;<p> printf("\n\t\t\t\t\t請輸入課程名稱:");scanf("%s",&subj->name); </p><p> printf("\n\t\t\t\t\t請輸入課程性質(zhì):");scanf("%s",&subj->kind);</p><
124、;p> printf("\n\t\t\t\t\t請輸入授課教師:");scanf("%s",&subj->teacher);</p><p> printf("\n\t\t\t\t\t請輸入授課地點:");scanf("%s",&subj->place);</p><p>
125、 printf("\n\t\t\t\t\t請輸入授課時間:");scanf("%s",&subj->times);</p><p> printf("\n\t\t\t\t\t請輸入總學(xué)時:");scanf("%d",&subj->stime);</p><p> printf(
126、"\n\t\t\t\t\t請輸入授課學(xué)時:");scanf("%d",&subj->ttime);</p><p> printf("\n\t\t\t\t\t請輸入學(xué)分:");scanf("%d",&subj->score);</p><p> printf("\n\t
127、\t\t\t\t請輸入允許選修人數(shù):");scanf("%d",&subj->s_num);</p><p> subj->l_num=subj->s_num;</p><p> myInsert(subj);</p><p> printf("\nt\t\t添加完畢,新信息存入文件中\(zhòng)n&qu
128、ot;);</p><p> printf("\nt\t\t繼續(xù)插入請按回車\n");</p><p> printf("\nt\t\t結(jié)束添加課程按 0: [ ]\b\b");</p><p> ch1=getchar(); //將回車鍵賦給CH1,否則subj->s_n
129、um輸完后輸入的回車鍵會賦給CH,因此用CH1填補。</p><p> ch=getchar();</p><p><b> }</b></p><p> return head;</p><p><b> } </b></p><p><b> (九)
130、刪除模塊</b></p><p> 刪除模塊主要用于管理員刪除課程信息學(xué)生刪除自己的選課,全部采用刪除鏈表中的某一個節(jié)點的操作</p><p><b> [流程圖]</b></p><p><b> [程序]</b></p><p> void *del() //刪除課程<
131、;/p><p><b> {</b></p><p> SUB *p1,*p2;</p><p> char ch,ch1;</p><p><b> int num;</b></p><p> while(ch!='0')</p><
132、;p><b> {</b></p><p> printf("輸入想要刪除的課程編號:[ ]\b\b\b\b\b");</p><p> scanf("%d",&num);</p><p> if(head->num==num) //找到需要
133、刪除的課程并釋放其存儲空間</p><p><b> {</b></p><p> head->l_num=(head->l_num)+1;</p><p><b> p2=head;</b></p><p> head=head->next;</p><
134、;p><b> free(p2);</b></p><p><b> }</b></p><p> if(head==NULL)</p><p> return NULL;</p><p><b> p1=head;</b></p><p&g
135、t; p2=head->next;</p><p> while(p2) //找到需要刪除的課程并釋放其存儲空間</p><p><b> {</b></p><p> if(p2->num==num)</p><p><b> {</
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計報告---學(xué)生選修課系統(tǒng)設(shè)計
- 課程設(shè)計報告---學(xué)生選修課程系統(tǒng)設(shè)計
- 課程設(shè)計報告---學(xué)生選修課系統(tǒng)設(shè)計.doc
- 課程設(shè)計---學(xué)生選修課程系統(tǒng)設(shè)計
- 課程設(shè)計-----學(xué)生選修課程系統(tǒng)設(shè)計
- c++課程設(shè)計報告--學(xué)生選修課程系統(tǒng)設(shè)計
- 課程設(shè)計報告·----學(xué)生選修課系統(tǒng)設(shè)計.doc
- c語言課程設(shè)計報告—學(xué)生選修課程系統(tǒng)設(shè)計
- 課程設(shè)計---學(xué)生選修課管理系統(tǒng)
- c語言課程設(shè)計報告--學(xué)生選修課程系統(tǒng)
- c語言學(xué)生選修課程系統(tǒng)設(shè)計--學(xué)生選修課程系統(tǒng)設(shè)計
- 課程設(shè)計報告&#183;----學(xué)生選修課系統(tǒng)設(shè)計
- c語言課程設(shè)計--學(xué)生選修課系統(tǒng)設(shè)計
- c語言課程設(shè)計--學(xué)生選修課系統(tǒng)
- c語言課程設(shè)計報告--學(xué)生選修課程管理系統(tǒng)
- c語言課程設(shè)計-學(xué)生選修課系統(tǒng)設(shè)計
- c語言課程設(shè)計學(xué)生選修課系統(tǒng)
- 學(xué)生選修課程系統(tǒng)設(shè)計
- 學(xué)生選修課程系統(tǒng)設(shè)計
- 課程設(shè)計報告--選修課程管理
評論
0/150
提交評論