C語(yǔ)言課程設(shè)計(jì)—學(xué)生選課系統(tǒng)_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)—學(xué)生選課系統(tǒng)_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)—學(xué)生選課系統(tǒng)_第3頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C 語(yǔ)言課程設(shè)計(jì)一學(xué)生選課系統(tǒng)武漢理工大學(xué)華夏學(xué)院課程設(shè)計(jì)報(bào)告書課程名稱: C 課程設(shè)計(jì)題 目 : 學(xué)生選課系統(tǒng)程序設(shè)計(jì) 系 名: 信息工 程系 專業(yè)班級(jí):姓 名:學(xué) 號(hào):指導(dǎo)教師 :成 績(jī):2021 年 3 月 4 日課程設(shè)計(jì)任務(wù)書學(xué)生姓名:專業(yè)班級(jí):指導(dǎo)教師:工作單位:設(shè)計(jì)題目 :學(xué)生選課系統(tǒng)程序設(shè)計(jì) 初始條件:學(xué)生選課系統(tǒng)能提供學(xué)生選課, 以及學(xué)生和 課 程信息管理等一系列功能。 要求完成的主要任務(wù): 包 括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求1、任務(wù)描述假定有 n 門課程,每門課程有課程編號(hào),課程名稱,課程性質(zhì),學(xué)時(shí), 授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等信息,學(xué)

2、生可按要求如總 學(xué)分不得少于 15自由選課。試設(shè)計(jì)一個(gè)選修課程系統(tǒng), 使之能提供以下 功 能:1系統(tǒng)以菜單方式工作2課程信息和學(xué)生選課信息錄入功能課程信息用文件保存 3課程信息瀏覽功能4查詢功能5按學(xué)分查詢6某門課程學(xué)生選修情況可選項(xiàng)2、本課程涉及的知識(shí)點(diǎn) 變量的定義、 輸入和輸出函數(shù)、 結(jié)構(gòu)體類型 的 定義、結(jié)構(gòu)體數(shù)組、循環(huán)語(yǔ)句、選擇語(yǔ)句,文 件的 操作等。設(shè)計(jì)報(bào)告撰寫格式要求: 一、課程設(shè)計(jì)說明書或報(bào)告書正文內(nèi)容 設(shè)計(jì)題目】例如:學(xué)生選課系統(tǒng)【開發(fā)環(huán)境】 硬件環(huán)境:微機(jī)系列,內(nèi)存在 1G 以上, 軟件環(huán)境: Microsoft Windows XP 【開發(fā)工具】 Microsoft Vis

3、ual C+ 6.0 【完成時(shí)間】 2021-2 -29 2021.3.4【需求分析】分析闡述用戶的需要以及要實(shí)現(xiàn)的 程 序應(yīng)具有什么樣的功能。【系統(tǒng)總體設(shè)計(jì)】在明確了所要解決的問題后, 很自然地就要 提 出自己解決問題的思路和方案。 讓讀者了解方 案的 總體設(shè)計(jì)和關(guān)鍵技術(shù)。要闡述自己的設(shè)計(jì)方案,說明為什么要選擇 或設(shè) 計(jì)這樣的方案。具體包括: 系統(tǒng)總的設(shè)計(jì)思路, 功能模塊圖; 使 用的設(shè)計(jì)軟硬件環(huán)境和開發(fā)技術(shù)和平臺(tái) 等。 【系統(tǒng)詳細(xì)設(shè)計(jì)】 在這局部中,應(yīng)該具有相關(guān)關(guān)鍵 實(shí)現(xiàn)技術(shù)如使用什么庫(kù)函數(shù), 使用什么循環(huán)結(jié)構(gòu)等 ?!?系 統(tǒng)調(diào)試和測(cè)試】 調(diào)試:介紹設(shè)計(jì)過程中遇到的問題 和解決方法。 測(cè)試

4、:介紹如何測(cè)試系統(tǒng), 測(cè)試中發(fā) 現(xiàn)的問題和 解決方案?!窘Y(jié)束語(yǔ)】 這局部篇幅不大, 對(duì)整個(gè)設(shè)計(jì)中做的工作、 獲得 的 成果、心得體會(huì)等做一個(gè)簡(jiǎn)單小結(jié)?!緟⒖嘉墨I(xiàn)】羅列在設(shè)計(jì)過程中查閱的文獻(xiàn)名稱 注意: 參考文獻(xiàn)羅列的格式為資料編號(hào) ?作者姓名 ?文獻(xiàn)或期刊名稱 ?出版社名稱,文獻(xiàn)的出版時(shí)間或期刊的期號(hào)例如:文獻(xiàn)1譚浩強(qiáng).,C程序設(shè)計(jì)第二版M,北京:清華大學(xué)出版社,2001年期刊2于振海.office XP網(wǎng)上數(shù) 據(jù)存取.計(jì)算機(jī)應(yīng)用文摘J,2003,24 ; 69 頁(yè)、課程設(shè)計(jì)說明書或報(bào)告書正文的書寫格式簡(jiǎn)介一、正文標(biāo)題層次正文題序?qū)哟问俏恼陆Y(jié)構(gòu)的 框架,一般采用社會(huì)通用的論文書寫形式。即章條序

5、碼統(tǒng)一用阿拉伯?dāng)?shù)字表示,題序?qū)?次可以分 為假設(shè)干級(jí), 各級(jí)號(hào)碼之間加小圓點(diǎn),末尾一級(jí)的后面不加小圓點(diǎn),層次分級(jí)一般 不超過四級(jí)為 宜,例如如下:第一級(jí)章123第二級(jí)1.12.13.1條1.2?2.2 ?3.2 ?第三級(jí)條1.1.2 ?2.1.2 ?3.1.2 ?1.2.2?2.2.2?3.2.2?二、 表格 每個(gè)表格應(yīng)有自己的表序與表題,表序與 表題間空一格。例如:表1.1 XXXX,且表題與表序應(yīng)寫 在表 格的上方正中處。三、插圖 插圖圖面要整齊、美觀,插圖應(yīng)與 正文呼應(yīng),不能脫節(jié)。每幅插圖應(yīng)有圖序與 圖題,圖 序編號(hào)要連續(xù),圖序與圖題間空一 格且要放在 插圖下方居中處。四、公式公式應(yīng)另起

6、一行寫在稿紙的中央 時(shí)間安排:周次星期星期星期星期四星期五第第1-4第3-4第1-4第第1-42周節(jié)節(jié)節(jié)1-2節(jié)節(jié)地現(xiàn)教現(xiàn)教現(xiàn)教現(xiàn)教現(xiàn)教占八、221221221221221課程設(shè)計(jì)考核及評(píng)分標(biāo)準(zhǔn)1. 系統(tǒng)完成任務(wù):50分2. 各種技術(shù)的綜合應(yīng)用:10分3. 答復(fù)提問情況:20分4. 設(shè)計(jì)報(bào)告:20分1 設(shè)計(jì)題目 1.2 開發(fā)環(huán)境 1.2.1 硬件環(huán)境 1.2.2 軟件環(huán)境 1.3 開發(fā)工具 1.4 完成時(shí)間 1.5 需求分析 1.6 系統(tǒng)總體設(shè)計(jì) 2.7 系統(tǒng)詳細(xì)設(shè)計(jì) 5.7.1 系統(tǒng)主菜單 57.1.1 系統(tǒng)主菜單界面 錯(cuò) 誤!未定 義書 簽。7.1.2 系統(tǒng)功能模塊圖 錯(cuò) 誤!未定 義書

7、簽。7.1.3 系統(tǒng)主菜單流程圖 錯(cuò)誤 !未定義書 簽7.1.4 系統(tǒng)主菜單代碼 錯(cuò) 誤!未定 義書 簽。7.2 錄入課程信息 1 17.2.1 錄入課程信息界面 錯(cuò)誤 !未定義書 簽7.2.2 錄入課程信息模塊圖 錯(cuò)誤 !未定義 書 簽。7.2.3 錄入課程信息流程圖 錯(cuò)誤 !未定義 書 簽。7.2.4 錄入課程信息代碼 錯(cuò)誤 !未定義書 簽7.3 課程管理 1. 57.3.1 課程管理界面 錯(cuò)誤 !未定義書簽。7.3.2 課程管理模塊圖 錯(cuò) 誤 ! 未 定 義書 簽。7.3.3 課程管理流程圖 錯(cuò) 誤 ! 未 定 義書 簽。7.3.4 課程管理代碼 錯(cuò)誤 !未定義書簽。7.4 學(xué)生信息管理

8、 . 7.4.1 學(xué)生信息管理界面 錯(cuò)誤 !未定義書 簽7.4.2 學(xué)生信息管理界面模塊圖 錯(cuò)誤 !未定義書簽7.4.3 學(xué)生信息管理流程圖 錯(cuò)誤 !未定義書簽7.5學(xué)生選課7.4.4學(xué)生信息管理代碼錯(cuò)誤!未定義書簽。2. 7學(xué)生選課界面 錯(cuò)誤!未定義書簽。學(xué)生選課模塊圖 錯(cuò)誤!未定 義書 簽。學(xué)生選課流程圖 錯(cuò)誤!未定義書簽。學(xué)生選課代碼 錯(cuò)誤!未定義書簽。8系統(tǒng)調(diào)試和測(cè)試 3.88.1 調(diào)試 3.8.4.38.2 測(cè)試 4.19結(jié)束語(yǔ).10參考文獻(xiàn)1 設(shè)計(jì)題目學(xué)生選課系統(tǒng)2 開發(fā)環(huán)境2.1 硬件環(huán)境微機(jī)系列,內(nèi)存在 1G 以上2.2 軟件環(huán)境Win7 系統(tǒng)3 開發(fā)工具M(jìn)icrosoft V

9、isual C+ 6.04 完成時(shí)間2021 年 2 月 29 日 2021 年 3 月 4 日5 需求分析用戶需求如下: 假定有 n 門課程, 每門課程有課程編號(hào), 課 程 名稱,課程性質(zhì),學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等信息,學(xué)生可按要求 如總學(xué)分不得少于 15 自由選課。試設(shè)計(jì)一 個(gè) 選修課程系統(tǒng)。故此,經(jīng)過分析后我覺得程序應(yīng)該具有以下 功厶匕能:1系統(tǒng)以菜單方式工作2課程信息和學(xué)生選課信息錄入功能3課程信息瀏覽功能4查詢功能5按學(xué)分查詢6 系統(tǒng)總體設(shè)計(jì)系統(tǒng)由哪幾個(gè)功能模塊構(gòu)成, 給出功能模塊 圖 C 中模塊化的工具是函數(shù)根據(jù)上面的需求分 析,可 以將這個(gè)系統(tǒng)的設(shè)計(jì)分為如

10、下六大模塊。選課模塊、按學(xué)分查找模塊、 按編號(hào)查找模塊、 查 看課程模塊、 查看選課情況模塊、 課程輸入模 塊、 完成選擇模塊。模塊圖如下列圖 1 所示。菜單項(xiàng)選擇課4信息管理錄入課程信息錄學(xué)生學(xué)退入信息生出完成選圖1系統(tǒng) 功能模塊圖 另外,程序用了兩個(gè)結(jié)構(gòu)體和五個(gè)全局 變量N1,N2,kk1,kk2,kk3。五個(gè)全局變量是用來控 制輸入數(shù)據(jù)的循環(huán)的。兩個(gè)結(jié)構(gòu)體分別是課程信息 結(jié)構(gòu)體:struct couse/課程信息結(jié)構(gòu)體 int num1;課程編號(hào) char name120; 課程名稱 char xinzhi30; 課程 性質(zhì)int ztime;/課程總學(xué)時(shí)int stime;/授課學(xué)時(shí)i

11、nt shiyan;/ 實(shí)驗(yàn)學(xué)時(shí) int score;/ 學(xué)分 long int date;/ 開學(xué)學(xué)期int nelepeo;/課程已選人數(shù)int Melepeo;/ 課程人數(shù)上限 struct couse * next; 和存儲(chǔ)學(xué)生信息的結(jié)構(gòu)體: struct student/ 學(xué)生 信息結(jié)構(gòu)體 int num2;char name220;int nelenum50;/ 已選課程編號(hào) int nelen;/ 已 選課程數(shù)量 struct student * next; void Ms() for(kk1=0;kk1<1100;kk1+)for(kk2=0;kk2<1200;kk

12、2+)for(kk3=0;kk3<1200;kk3+);7系統(tǒng)詳細(xì)設(shè)計(jì)M系統(tǒng)主菜單系統(tǒng)界面設(shè)計(jì)圖包括六個(gè)選項(xiàng),用戶可根據(jù)自己的需求選擇不同的選項(xiàng)。系統(tǒng)界面設(shè)計(jì)圖如圖2所示圖2系統(tǒng)界面設(shè)計(jì)圖 系統(tǒng)模塊圖分為六大模塊 分別是錄入課程 信息模塊,課程信息管理模塊,錄入學(xué)生信息模塊,學(xué)生信息管理模塊,學(xué)生選課模塊和退出系 統(tǒng)模塊。系統(tǒng)功能模塊圖如下列圖3所示圖菜單錄入課程信課程信息管能模塊錄入學(xué)生信系統(tǒng)功3圖學(xué)生信息管學(xué)生選課退出系統(tǒng)界面,需要假設(shè)所選數(shù)非圖3主菜單設(shè)計(jì)模塊圖當(dāng)用戶進(jìn)入主菜單后,會(huì)顯示有六個(gè)選項(xiàng)的用戶從1-6個(gè)選項(xiàng)中選擇一個(gè)選項(xiàng)來 進(jìn)行操作,調(diào)用完成.1 結(jié)康丿圖4系統(tǒng)總流程圖該

13、程序?qū)崿F(xiàn)代碼如下。int main() 主函數(shù)int i;start: printf("nttt歡送使用學(xué)生選課系統(tǒng)!n");printf("n");printf("t 主菜單:n");printf("t*n");*n");printf("t*1.錄入課程信息*n");printf("t*2.課程信息管理*n");printf("t*3.錄入學(xué)生信息*n");printf("t*4.學(xué)生信息管理*n");printf(&quo

14、t;t*5.學(xué)生選課*printf("t*6.退出系統(tǒng)*n");printf("t*n");printf("t* *n");printf("t*n");printf("n 請(qǐng)輸入菜單項(xiàng)選擇項(xiàng) (16):");scanf("%d",&i);if(i<1 | i>6)printf(" 輸入錯(cuò)誤 ,請(qǐng)重輸 :n"); goto start;switch(i)case 1:system("cls");inputc();got

15、o start;break;case 2:system("cls"); managementc(); goto start; break;case 3:system("cls"); inputs(); goto start; break;case 4:system("cls"); managements(); goto start; break;case 5: system("cls");elective。;goto start;break;case 6:system("cls");printf

16、(感謝使用本系統(tǒng)!nn再見!n");return 0;7.2錄入課程信息錄入課程信息有兩個(gè)選項(xiàng),錄入課程和返回主菜單。錄入課程信息界面設(shè)計(jì)如圖5所示。圖 5 錄入課程信息界當(dāng)用戶進(jìn)入錄入課程后, 會(huì)有兩個(gè)選項(xiàng), 錄 入課程和返回主菜單。 錄入課程信息流程圖如圖 6 所示。開始結(jié)束圖6錄入課程信息流程圖實(shí)現(xiàn)該功能代碼如下。void keyboardc()錄入課程子函數(shù)struct couse *p1,*p2;N仁0;p1=p2=(struct couse*)malloc(sizeof(struct couse);printf(" 課程編號(hào) 課程名稱 課程性質(zhì) 總學(xué) 時(shí) 授課學(xué)

17、時(shí)實(shí)驗(yàn)學(xué)時(shí)學(xué)分開課學(xué)期人數(shù)上限n");scanf("%d%s%s%d%d%d%d%d",&p1->nu m1,p1->name1,&p1->xinzhi,&p1->ztime,&p1-> stime,&p1->shiyan,&p1->score,&p1->date,&p1- > Melepeo);p1->nelepeo=0;head1=NULL;while(p1->num1!=0)N1=N1+1;if(N1=1)head1=p1;els

18、e p2->next=p1;p2=p1;p1=(struct couse * )malloc(sizeof(structcouse);scanf("%d%s%s%d%d%d%d%d",&p1->nu m1,p1->name1,&p1->xinzhi,&p1->ztime,&p1-> stime,&p1->shiyan,&p1->score,&p1->date,&p1- >Melepeo);p1->nelepeo=0;p2->next=NUL

19、L;void inputc()/ 錄入課程主函數(shù)int i;printf("ttt 錄入課程信息 n"); printf("n1. 錄入 課程 n"); printf("2. 返回主菜單 n"); printf(" 請(qǐng) 選擇 (12):n"); scanf("%d",&i);switch(i) case(1):keyboardc();break; case(2):break;7.3 課程管理課程管理有三個(gè)選項(xiàng), 新增課程, 刪除課程 和 返回主菜單。課程管理界面設(shè)計(jì)如圖 7 所示 圖 7

20、 課程管理界面課程管理可以選擇增添或刪除課程, 假設(shè)輸入 課 程格式錯(cuò)誤會(huì)顯示錯(cuò)誤, 用戶需要重新輸入程 管理 流程圖如圖 8 所示。丫保結(jié)束圖8課程管理流程圖實(shí)現(xiàn)該功能代碼如下。void delc(int num1) 課程管理子函數(shù)(刪除課程) struct couse *p1,*p2; if(head 1=NULL)printf("n沒有課程,無法刪除!n"); gotoend;p1=head1;while(num1!=p1->num1 && p1->next!=NULL)p2=p1; p1=p1->next;if(num1=p1-&g

21、t;num1)if(p1=head1) head1=p1->next; else p2->next=p1->next; printf(" 已刪除該編號(hào) 課程 !n"); N1=N1-1;else printf(" 無該編號(hào)的課程 !n"); end:;void managementc()/ 課程管理主函數(shù)struct couse * incouse;int i,num1;printf("ttt 課程信息管理 n");printf("1. 新增課程 n"); printf("2. 刪除課程

22、 n");printf("3. 返回主菜單 n"); printf(" 請(qǐng)選擇 (13):n"); scanf("%d",&i); switch(i)case(1):incouse=(struct cous*)malloc(sizeof(struct couse);printf(" 課程編號(hào) 課程名稱 課程 性 質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 實(shí)驗(yàn)學(xué)時(shí) 學(xué)分 開課學(xué) 期 人 數(shù)上限 n");scanf("%dn%sn%sn%dn%dn%dn%dn% dn%dn",&incouse

23、->num1,&incouse->name1, &incouse->xinzhi,&incouse->ztime,&incouse->s time,&incouse->score,&incouse->date,&incouse ->Melepeo); incouse->nelepeo=0; insertc(incouse); break;case(2):printf(" 請(qǐng)輸入 要?jiǎng)h除課程的編號(hào):n");scanf("%d",&num1)

24、;delc(num1); break;case(3):break;7.4 學(xué)生信息管理學(xué)生信息管理可選新增或刪除學(xué)生信息, 假設(shè) 都 不操作那么可選返回主菜單。 學(xué)生信息管理界面 設(shè)計(jì) 如圖9所示。圖9學(xué)生信息管理界面學(xué)生信息管理 有增加和刪除學(xué)生信息, 假設(shè)選 擇此項(xiàng),那么會(huì)提示 用戶輸出入相關(guān)信息, 假設(shè)輸入 格式錯(cuò)誤那么會(huì)有提示 錯(cuò)誤信息,當(dāng)操作完成后會(huì) 退回主菜單界面。 學(xué) 生信息管理界面流程圖如圖 10所示。開始新增學(xué)生丿息、輸入姓名輸入錯(cuò)保存信退出結(jié)束圖 10 學(xué)生信息管理界面流程圖 實(shí)現(xiàn)該功 能代碼如下。void inserts(struct student * incouse)

25、/ 學(xué)生信息 管 理子函數(shù) (填加學(xué)生信息 )struct student *p0,*p1,*p2; p1=head2;p0=incouse; if(head2=NULL)head2=p0; p0->next=NULL;elsewhile(p0->num2 > p1->num2) && (p1->next!=NULL)p2=p1; p1=p1->next;if(p0->num2 <= p1->num2) if(head2=p1) head2=p0; elsep2->next=p0; p0->next=p1;els

26、ep1->next=p0; p0->next=NULL;N2=N2+1;void dels(int num2)/ 學(xué)生信息管理子函數(shù) ( 刪除 學(xué) 生信息 )struct student *p1,*p2;if(head2=NULL)printf("n 沒有該學(xué) 生信息 ,無法刪除!n");goto end;p1=head2; while(num2!=p1->num2 && p1->next!=NULL) p2=p1; p1=p1->next; if(num2=p1->num2)if(p1=head2) head2=p1-&

27、gt;next; else p2->next=p1->next;printf(" 已刪除該學(xué)生信息 !n"); N2=N2-1; else printf(" 無該學(xué)號(hào)的學(xué)生 !n"); end:;void managements()/ 學(xué)生信息管理主函數(shù) struct student * incouse;int i,num2;printf("ttt 學(xué)生信息管理 n"); printf("1. 新增學(xué)生信息 n");printf("2. 刪除學(xué)生信息 n"); printf(&quo

28、t;3. 返回主菜 單 n"); printf(" 請(qǐng)選擇 (13):n"); scanf("%d",&i);switch(i)case(1):incouse=(struct student*)malloc(sizeof(struct student);incouse->nelen=0;incouse->nelenum0=0; printf(" 學(xué) 生學(xué)號(hào) t 學(xué)生姓名 n");scanf("%d%s",&incouse->num2,incouse->name2);

29、inserts(incouse);break;case(2):printf(" 請(qǐng) 輸 入 要 刪 除 學(xué) 生 的 學(xué)號(hào):n");scanf("%d",&num2);dels(num2);break;case(3):break;7.5學(xué)生選課學(xué)生選課可以查詢已選和可選課程,此外還 有返回主菜單項(xiàng)選擇項(xiàng)學(xué)生選課界面設(shè)計(jì)如圖 11所示。圖11學(xué)生選課界面進(jìn)入選課選項(xiàng)那么會(huì)提示用戶輸入學(xué)號(hào)然后再進(jìn)行選課。假設(shè)不選那么可以退回主菜單。學(xué)生選課流程圖如圖12所示、T杳誨inj /查詢7ti 成1輸入學(xué)號(hào)7>7返回主菜單學(xué)生選課輸n入輸n實(shí)現(xiàn)該功能代查

30、詢可選課 程 然后程序 會(huì)根 void結(jié)束圖 12 學(xué)生選課流程圖 碼如下。選課程序如下。 用戶要選課時(shí), 后會(huì)提示輸入所要選的課程的編號(hào), 據(jù)所選的課程編號(hào)將所選課程信息儲(chǔ)存 elect(struct student * s)/ 選課 struct couse * p; int num1,i;printf(" 請(qǐng)輸入要選課的編號(hào) :n"); scanf("%d",&num1); for(i=0;s->nelenumi!=0;i+); s->nelenumi=num1;(s->nelen)+;p=head1;while(p-&g

31、t;num1!=num1) p=p->next; (p->nelepeo)+;void cheak()/ 學(xué)生選課子函數(shù) (查詢可選課程 ) char e;struct couse * c;struct student * s;int num2,i,j=0,t=0;printf(" 請(qǐng)輸入你的學(xué)號(hào) :");scanf("%d",&num2);s=head2;while(s->num2!=num2 && s->next!=NULL) s=s->next;if(s->num2!=num2)print

32、f(" 不存在你的信息 ,請(qǐng)進(jìn)入主菜單 錄入你的信息 !n");goto end;c=head1;printf(" 你的可選課程編號(hào) :n"); while(c!=NULL)for(t=0,i=0;s->nelenumi!=0;i+)if(c->num1=s->nelenumi) t=1;if(t=0 && (c->nelepeo!=c->Melepeo) printf("%dn",c->num1);j+;c=c->next;if(j=0)printf(" 你已選完所

33、有課程,無法再多 選!n");goto end;printf(" 選課 (y/n)?:n");getchar(); e=getchar();i=0;while(e='y')elect(s);printf(" 繼續(xù)選課 (y/n)?:n");getchar(); e=getchar();end:;號(hào),那么失退課程序如下。首先輸入要退掉課程的編 假設(shè)該課程存在,那么顯示退課成功, 假設(shè)不存在, 敗。void back(struct student * p)/ 退課struct couse * p1;int num1,i,j;prin

34、tf(" 請(qǐng)輸入你要退掉的課程編號(hào) :n");scanf("%d",&num1);p1=head1; while(p1->num1!=num1) p1=p1->next;for(i=0;p->nelenumi!=num1;i+); for(j=i;p->nelenumj!=0;j+) p->nelenumj=p->nelenumj+1;p->nelenum-j=0;(p1->nelepeo)-;printf(" 退課成功 !n"); 查詢已選課程代碼如下。 首先輸入學(xué)號(hào), 假設(shè)

35、系 統(tǒng)中無記錄, 那么會(huì)提示不存在該信息, 請(qǐng)用戶 錄 入該信息,然后用 goto 語(yǔ)句跳轉(zhuǎn)到主菜單界 面。 假設(shè)有記錄,那么繼續(xù)輸入課程編號(hào),假設(shè)未選此 課,那么 會(huì)提示你還沒有選這個(gè)課程。 void hcheak()/ 學(xué)生 選課子函數(shù) ( 查詢已選課程 ) char c; struct couse * p0; struct student * p;int num2,i,f=0;printf(" 請(qǐng)輸入學(xué)號(hào) :n"); scanf("%d",&num2); p=head2;while(p->num2!=num2 && p

36、!=NULL) p=p->next;if(p=NULL) printf(" 不存在你的信息 ,請(qǐng)回主菜單錄 入 信息 :n");goto end;printf(" 已選課程編號(hào) :n");if(p->nelenum0=0)printf(" 你還沒選課 !n");goto end;for(i=0;p->nelenumi!=0;i+)printf("%dn",p->nelenumi); p0=head1;while(p0->num1!=p->nelenumi)p0=p0->ne

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論