學生選課系統(tǒng)設計報告_第1頁
學生選課系統(tǒng)設計報告_第2頁
學生選課系統(tǒng)設計報告_第3頁
學生選課系統(tǒng)設計報告_第4頁
學生選課系統(tǒng)設計報告_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

*******************實踐教學*******************蘭州理工大學計算機與通信學院2017年春季學期C程序設計課程設計題目:學生選課系統(tǒng)專業(yè)班級:應用物理姓名:楊維峰學號:0指導教師:李聰成績:學生選課系統(tǒng)摘 要學生選課系統(tǒng)是教育單位不可缺少的重要系統(tǒng)組成部分,他對于學校的決策者、管理者管理、查看課程來說都有至關重要,所以學生選課系統(tǒng)應該能夠為廣大學、師生提供充足的信息和快捷的課程選擇過程,有助于學生選好每一門課程,此系統(tǒng)選課方便、快捷,用簡單的界面來展示學生的選課信息,可以提高對學生信息管理的效率。關鍵詞:方便,快捷,選課信息,選擇,管理目 錄題目要求設計一個關于學生選課方便簡捷的程序,從而達到學生能夠快速的選到課程。需求分析數(shù)據(jù)結構可用結構體,包括課程和選修兩個結構體,其中課程結構體成員包括課程編號,課程名稱,課程性質,總學時,授課學時,實驗或上機學時,學分,開課學期。選修結構體成員包括學號,課程編號,該結構體的建立主要是為了查詢某門課程學生選修情況。功能簡介此系統(tǒng)是一個學生選課管理系統(tǒng)。它包含功能有:學生選課信息的錄入,學生選課信息的刪除,學生選課信息的查找,學生選課信息的顯示等功能。菜單模式:此模塊主要實現(xiàn)對本系統(tǒng)所有功能的顯示。錄入模塊:此模塊主要實現(xiàn)對學生選課信息的錄入,主要包括學生學號、學生姓名、所選課程、課程學分、授課老師。刪除模式:此模塊主要實現(xiàn)對學生選課信息的刪除。顯示模塊:此模塊主要實現(xiàn)對學生選課信息的顯示。查找模塊:此模塊主要是通過學生學號查找該學生的選課信息。清屏模塊:此模塊主要是對主界面輸入的信息進行清屏。退出程序:此模塊主要用于退出系統(tǒng)。3總體設計學生選課系統(tǒng)錄菜清刪查顯保退入單屏除找示存出功功功功功功功功能能能能能能能能4詳細設計系統(tǒng)主要函數(shù)說明函數(shù)名稱 函數(shù)功能主函數(shù) 顯示主菜單模塊input 函數(shù) 輸入學生選課基本信息del函數(shù) 學生選課信息的刪除過程find 函數(shù) 查找學生選課基本信息display 函數(shù) 顯示學生已選課程信息主函數(shù)主函數(shù)顯示主菜單模塊通過調用 menu函數(shù)顯示主菜單,調用main函數(shù)提示使用的用戶該執(zhí)行的操作,實現(xiàn)基本的人機對話;然后通過讀取用戶的輸入,調用 switch函數(shù)對用戶的輸入進行進一步的處理,并使用while函數(shù)實現(xiàn)用戶的選擇性的重復輸入;顯示學生選課管理信息模塊通過調用 display 函數(shù)實現(xiàn)顯示已創(chuàng)建的所有學生選課管理信息的功能;查找學生選課管理信息模塊通過調用 find 函數(shù)實現(xiàn)按學生學號查找學生的選課信息的功能;開始123456input函數(shù)此函數(shù)為輸入學生選課情況的基本信息。 通過運用文件和指針輸入實現(xiàn)所有調用mian主函數(shù)學生選課信息的存儲,從而實現(xiàn)程序的第一步操作。運用if語句判斷文件是否存在;若不存在,則建立一個名為”work”的文件,將所有信息保存文件中。輸入選擇的值在文件中fopen()以ab+的方法打開二進制文件,使函數(shù)返回指向一個文件指針work;以fread(&wor[m],LEN,1,fp) 從fp所指向的文件中讀取 1個字節(jié)數(shù)為 LEN大小的數(shù)據(jù)塊存放到&wor[m]所指定的存儲空間;以選擇的值=1個字節(jié)數(shù)為LEN大fwrite(&wor[i],LEN,1,fp)從fp所指向的存儲空間中取出小的數(shù)據(jù)塊寫入&wor[m]所指定的存儲空間。運用字符串ch[2]實現(xiàn)判斷”是否”的字符Y/N的輸入2]實現(xiàn)判斷”是否”的字符Y/N的輸入調調調調退清用否用用用出屏inpudel開始finddispiay是程函數(shù)t函函函函序此函數(shù)為學生選課信息的刪除數(shù)過程。刪除學生選數(shù)課管理信息模塊通過調用數(shù) 數(shù) 定義學生指針del函數(shù)實現(xiàn)通過查找學生學號找到想要刪除的課程,從而刪除用戶想要刪除的課程的功能;調用input函數(shù)是否顯示該學生的詳細信息運用文件的知識實現(xiàn)文件的打開。運用for循環(huán)來確定刪除的個數(shù),然后通過if語句依次根據(jù)學生學號對學生選課信息進行刪除。再次運用for循環(huán)使刪除學生信息后將記錄的總個數(shù)減1,將后一個記錄移到前一個記錄的位置。最后使用clear()功能,再次運用fopen()打開文件,用fwrite()將更改后的記錄重新寫入指定的磁盤文件中,并保存。否 開始是函數(shù)定義學生指針為了實現(xiàn)用戶使用學生選課信息管理系統(tǒng)查找學生信息的功能,查找模塊調用find函數(shù)以實現(xiàn)這一功能。該程序里運用文件和指針,通過fread循環(huán)遍歷文件中輸入的數(shù)據(jù),查找與用戶輸入的學生編號相同的學生選課信息,如果找到該學生,則顯示該學生的選課信息。調用del函數(shù)顯示“找不到刪除的節(jié)成功刪除開始是否以創(chuàng)建該學生點!”否信息是定義學生指針系統(tǒng)測試主界面輸入要查找的學生學號該部分只有主菜單。若選擇記1錄,總則數(shù)進減一入學生選課信息輸入界面;若選擇2,則進入學生選課信息刪除界面;若選擇3,則進入學生選課信息顯示界面;若進入4,則進入學生選課信息查找界面;若選擇5,則直接退出系統(tǒng);若選擇6,則選擇直接清屏.顯示“有找到要查找的輸入界面節(jié)點!”根據(jù)提示按,任當意選鍵返擇回1時,系統(tǒng)會先提示是否輸入信息,當輸入“Y”或“y”,則進出正式的學生信息輸入階段,會依次提示輸入學生學號、學生姓名、已選課程、學分、任課老師,并且這些內容會保存到文件名為“work”的文件中。然后系統(tǒng)會進入清屏環(huán)節(jié),在下一頁系統(tǒng)提示是否繼續(xù)輸入,輸入“ n”,則結束輸入。結束找到記錄顯示界面根據(jù)系統(tǒng)提示輸入3,則會顯示已保存的學生選課信息.刪除界面Y(y)是否顯示該學生的詳細信息顯示學生信息根據(jù)系統(tǒng)提示輸入2,然后系統(tǒng)會提示輸入所要刪除的人數(shù),輸入人數(shù)后,系統(tǒng)會根據(jù)你輸入的人數(shù)來進行循環(huán)刪除,單次刪除過程為:先提示請輸入需要刪除的學號,找到記錄后,提示是否刪除,輸入“Y”或”y”,顯示成功刪除.為了使系統(tǒng)更加完整的體現(xiàn)該功能,再次輸入3顯示已保存的信息,前后對比,可清晰的體現(xiàn)刪除功能總結經過連續(xù)二周的時間,終于學生選課管理系統(tǒng)程序設計完成了。 雖然在這之前,我們已經對 c語言這門課程學習了一個學期,對其有了一定的了解,但是也僅僅只是停留在了解的范圍, 對里面的好多東西還是很陌生, 更多的在運用起來的時候還是感到很棘手, 畢竟,以前從來沒接觸過這些,所以學起來會覺得有些費勁。由于之前學習C語言可能沒花多少時間,對里面有些知識一竅不通,所以要用C語言的知識來設計一個學生選課管理系統(tǒng), 對我來講是有一定難度的。不過還好,我們班的同學都很好,他們孜孜不倦的教我,這使我相當?shù)母袆?。對于這次的課程設計我的完成過程主要是這樣子的。 首先我分析了相關的題目內容,并參考了書上的學生管理系統(tǒng)和網(wǎng)上的一些相關資料然后才開始正式進行設計。一開始不知從何下手但后來又分析了一下題目。 知道了學生選課管理系統(tǒng)主要就是有一些操作來完成, 這些操作包括:輸入學生選課信息、刪除學生選課信息、顯示學生選課信息、查找學生選課信息等等。同時通過這幾天的程序及報告編寫, 我也發(fā)現(xiàn)了自己的很多不足,自己知識的很多漏洞,看到了自己的實踐經驗還是比較缺乏, 理論聯(lián)系實際的能力還是比較脆弱。尤其是編寫大型的程序所要擁有的知識和技能比較缺乏。程序編好了,還要經過調試和修改,這步也很關鍵,好的程序是經過了無數(shù)次的修改和調試才產生的。在同學的幫助下我的程序基本上能夠滿足要求, 但還有一些地方需要改進,在今后我應該在多看書的同時還要加強實踐的練習。 才能進一步提高自己的編程能力。參考文獻何欽銘.顏暉.C語言程序設計(第3版).北京:高等教育出版社,顏暉.張泳.C語言程序設計實驗與習題指導(第3版).北京:高等教育出版社,譚浩強.C語言程序設計.清華大學出版社,譚浩強.C程序設計題解與上機指導.清華大學出版社,C語言函數(shù)手冊.機械工業(yè)出版社,1999C語言的實際應用.安徽科學技術出版社,2000致謝在這次c語言課程設計中,首先得感謝李老師給予我們指導與幫助,在她的指導幫助下,才使得我們能夠順利的完成課程設計,更重要的是在這次課程設計中,極大的提高我的c語言設計能力,也讓我深刻的了解到自己在這方面的諸多不足,使得我能更清楚的了解自己的水平,加強了我對這門學科的認識。同時也感謝和我一起完成這課設的王云龍同學,我們在互相交流幫助中也相互學習到許多小的應用技巧,解決了一些列問題。還要感謝那些給予我們幫助的同學,也給了我很大的幫助。附錄:源程序#include<>#include<>#include<>#include<>#defineSIZE300#defineLENsizeof(WOR)typedefstruct{intnum;charname[20];charkeming[20];floatxuefen;charteacher[20];}WOR;WORwor[SIZE],WOR1[SIZE];intflag;voidmenu()um);um==wor[m].num){printf(" 該記錄已經存在 ,按任意鍵繼續(xù) !");getch();fclose(fp);return;}printf(" 學生姓名:");scanf("%s",wor[m].name);keming);xuefen);teacher);if(fwrite(&wor[m],LEN,1,fp)!=1)ame);m++;}clear();um)break;}if(i==m){printf(" 沒有找到要刪除的節(jié)點 \n");getch();return;}printf(" 找到記錄,是否刪除 (y/n)");scanf("%s",ch);scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)um)break;}if(i==m){printf(" 沒有找到要查找的節(jié)點 \n");getch();flag=1;return;}printf(" 找到記錄");printf(" 是否顯示該學生的詳細信息: (Y/N)");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0){ printf(" 學號 姓名 已選課程 學分任課老師\n");printf("%-9d\t%s\t\t%s\t%\t\t%s\n",wor[i].num,wor[i].name,wor[i].keming,wor[i].xuefen,wor[i].teacher);}fclose(fp);}voiddisplay()um,wor[i].name,wor[i].keming,wor[i].xuefen,wor[i].teacher);}getch();printf(" 按任意鍵繼續(xù)! \n");getch();clear();/// 清屏}intmain(){inti,d;menu();while(1){printf("\n 輸入選項:");scanf("%d",&d);switch(d){case1:input();break;/// 輸入信息case2:{intm;printf(" 請輸入要刪除的人數(shù) :\n");scanf("%d",&m);for(i=0;i<m;i++)del();getch();printf(" 按任意鍵繼續(xù): ");getch();clear();/// 清屏}break;/// 刪除信息case3:display(

溫馨提示

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

評論

0/150

提交評論