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

下載本文檔

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

文檔簡介

1、課程名稱:c +面向對象程序設計課程設計題目:大學生學籍管理系統(tǒng)目錄:系統(tǒng)設計目標、意義、系統(tǒng)設計思路三、系統(tǒng)功能介紹四、輸入輸出的設計(1)界面的設計(2)數(shù)據(jù)輸出設計(3)系統(tǒng)運行結果五、詳細設計(1)系統(tǒng)功能結構圖(2)UML六、附錄七、系統(tǒng)設計、開發(fā)過程中遇到的問題八、心得體會學生學籍管理系統(tǒng)-、系統(tǒng)設計目標、意義(一)系統(tǒng)實現(xiàn)的目標1、課程設計的任務:制作一個小型的學生學籍管理系統(tǒng),要求制作一個菜單,實現(xiàn)數(shù)據(jù)的錄入, 數(shù)據(jù)的顯示,數(shù)據(jù)查找,數(shù)據(jù)的刪除,數(shù)據(jù)的保存,數(shù)據(jù)的統(tǒng)計,數(shù)據(jù)的修 改,系統(tǒng)的退出。系統(tǒng)的設計要求用到C+面向對象的程序設計,要求用到類來實現(xiàn),同時每一個功能用到一個函

2、數(shù)。2、(1)基本功能: 學生基本信息(編號,姓名,性別,籍貫,民族,生日,政治面貌,省份 證,數(shù)學成績,英語成績,計算機成績)成績統(tǒng)計(各科總成績,各科平均成績,各科的及格率)(2)擴展功能:學生數(shù)據(jù)的添加、修改、與刪除學生數(shù)據(jù)的讀取與存儲3 、系統(tǒng)特點: 系統(tǒng)要能夠對相應的數(shù)據(jù)進行很好的測試,系統(tǒng)的統(tǒng)計對每一科的總成績, 平均成績,及格律都進行了統(tǒng)計;系統(tǒng)數(shù)據(jù)的錄入 除可以手工錄入外,還可 以采用文件的錄入;系統(tǒng)統(tǒng)計學生的基本信息較全面,包括學號,姓名,民 族,政治面貌,身份證號,生日,性別,數(shù)學、英語、計算機的成績;程序 中查找運用了兩種查找方式即學號查找和姓名查找。(二)系統(tǒng)設計的意義

3、 通過設計此項程序,能夠對學生的學籍進行統(tǒng)一的管理,對學生的學籍進行錄入、修改、保存等功能進行處理,從而能夠較快地對信息進行處理,系統(tǒng)數(shù)據(jù) 的錄入 除可以手工錄入外,還可以采用文件的錄入;系統(tǒng)統(tǒng)計學生的基本信息較全面,程序中查找運用了兩種查找方式即學號查找和姓名查找,方便查詢。二、系統(tǒng)設計思路 第一步:分析題目,建立類并派生出它的子類,畫出類圖。 第二步:畫出流程,根據(jù)流程圖編寫程序清單 第三步:上機調試程序(使用單步調試,設置斷點、分塊調試的方法)。 第四步:及時整理資料,撰寫課程設計報告中有關這個題目的內容。三、系統(tǒng)功能介紹(一)程序對學生學籍的數(shù)據(jù)處理要求 能夠輸入并瀏覽學生的基本信息;

4、 能夠實現(xiàn)對學生信息的查詢和修改; 能夠對成績進行統(tǒng)計; 能夠對學生的信息進行保存;(二)系統(tǒng)功能: 資料維護:系統(tǒng)維護包括對各學生信息和成績的錄入操作。 資料維護:對數(shù)據(jù)表中的信息進行瀏覽。系統(tǒng)查詢:可以對不同科目的總成績、不及率、各科平均成績相關信息四、輸入輸出的設計1界面的設計、界面設計程序運行后會出現(xiàn)一個簡捷的窗口,便于用戶查詢數(shù)據(jù)。、功能設計通過主窗體調用其他窗體,具體實現(xiàn)可以參照系統(tǒng)分析相關內容。應 用系統(tǒng)主控界面包括學生信息錄入,查找等功能模塊。學生信息錄入功能 完成學生信息和成績的輸入。記錄查詢功能可以對數(shù)據(jù)各分類的記錄進行 查詢。2. 數(shù)據(jù)輸出設計主要運行界面:統(tǒng)計界面:查找

5、界面:顯示界面:錄入界面:保存界面:修改界面:刪除界面:3、系統(tǒng)運行的結果:(僅部分)五、詳細設計1、系統(tǒng)功能結構圖:成績,英語成績,計算機成績(2)類:school成員函數(shù):錄入函數(shù)Input():輸入編號到計算機的成績;統(tǒng)計函數(shù)count():統(tǒng)計各科的總成績,計算平均成績,統(tǒng)計各科的及格率;查詢函數(shù)found():按學號或姓名查找學生的記錄;修改函數(shù)mend():修改指定學號學生成績記錄;刪除函數(shù)del():刪除指定學號學生記錄;輸出函數(shù)show():輸出班級所有學生成績記錄;UML圖: int e=1;coutttt 按提示輸入 :endl;coutnumber;coutname;do

6、coutsex;if(strcmp(sex, 男)=0 | strcmp(sex, 女 )=0) coutplace; coutnation; coutbirth; coutparty; coutid; coutscore0; coutscore1;coutscore2;e=0;elsecoutttt 無此類型性別 ! 重新輸入 !numbernamesexplacenationbirthpartyidscore0score1score2;is.get(); void output()cout 學生基本信息如下 :endl;cout 編號 :number 姓名 :name 性別 :sex 籍貫

7、 :place 民族 :nation 生日 :birth 政治面貌 :partyendl 身份證號 :id 數(shù)學 :score0 英語 :score1 計算機 :score2 總分 :getg()endlendl;void output(ofstream & os) ossetw(6)number setw(15)namesetw(20)place setw(6)nationsetw(20)birthsetw(20)party setw(20)idsetw(6)score0setw(6)score1setw(6)score2next=NULL; key=0; school() delete h

8、ead; void input(); void mend(); void del();int fin d(stude nt *p,i nt n um,char *pn=);void found();void show();void count();void save();void begin();void clear();char mainmenu();int getkey() return key;void setkey(int k) key=k; private:student *head; int key;/錄入函數(shù)void school:input()student *p,*p2=NU

9、LL;p=head; int n;while(p-next) p=p-next;while(n) p2=new student; p2-input();p-next=p2; p2-next=NULL; p=p-next; school:setkey(1);coutn; /子查找函數(shù)int school:find(student *p1,int num,char *pn) student *p; p=head;while(p-next)(*p1)=p;if( (p-next)-getnumber()=num|!strcmp( (p-next)-getname(),pn ) ) return 1;

10、 p=p-next;return 0; /查找函數(shù)void school:found() student *p;int n um=-1, n=9; char n ame20=A;docoutn;while(n2);if(n=1) coutnum;if(n=2) coutname; if(!find(&p,num,name) ) couttt 找不到你要查找的內容 !next)-output();/刪除函數(shù)void school:del() student *p,*p2; int num;coutnum;if( !find(&p, num,) couttt 找不到你要刪除的內容 !next)-o

11、utput(); p2=p-next; p-next=p2-next;delete p2;school:setkey(1); void school:show() /顯示函數(shù) student *p; p=head;while(p-next) (p-next)-output();p=p-next;/修改函數(shù)void school:mend() student *p; int num=-1,n;char n ame20=A;do coutn;while(n2);if(n=1) coutnum;if(n=2)coutname;if( !find(&p,num,name) ) couttt 找不到你要

12、修改的內容 !next)-output(); (p-next)-input(); school:setkey(1);void school:save() / 保存函數(shù) student *p; p=head;ofstream os(student.txt,ios:out);if (school:getkey()=1) while(p-next) (p-next)-output(os); p=p-next; coutttt 文件已保存 ! num;is.seekg(t); if(numinput(is);p-next=p2; p2-next=NULL; p=p-next; void school:

13、clear()/ 清空函數(shù) student *p,*p2;p=head-next; while( p )p2=p; p=p-next;delete p2;void school:count()/ 統(tǒng)計函數(shù)student *p; p=head;int n=0;double g3=0,0,0; float j3=0,0,0; while(p-next) p=p-next;n+;for(int i=0;igetscore(i) );(p-getscore(i) )=60.0? ji+ : 0 ;coutttbbbb 數(shù)學總分 :g0 平均分 :g0/n 及格率 :j0/nendlttbbbb 英語總

14、分 :g1 平均分 :g1/n 及格率 :j1/nendlttbbbb 計算機總分 : g2 平均分 : g2/n 及格率 :j2/nendl;/主選菜單函數(shù)char school:mainmenu()char n6;coutnn歡迎進入學籍管理系統(tǒng)e ndle ndl* * * * * * * * * * * * * * * * * * *endl* * * * * * * * * * * * * * * * * * *endl* *1:錄入學生信息* *endl* *2:顯示學生信息* *endl* *3:查找學生信息* *endl* *4:刪除學生信息* *endl* *5:修改學生信息

15、* *endl* *6:統(tǒng)計學生成績* *endl* *7:保存學生信息* *endl* *0:退出系統(tǒng)* *endl* * * * * * * * * * * * * * * * * * *endl* * * * * * * * * * * * * * * * * * *endln; return n0;/主函數(shù) void main()school pp;int k=1; char n; pp.begin(); while(k=1) n=pp.mainmenu();switch(n) case 1:pp.input(); break;case 2:pp.show(); break;case

16、3:pp.found(); break;case 4:pp.del(); break;case 5:pp.mend(); break;case 6:pp.count(); break;case 7:pp.save(); break;case 0:if(pp.getkey()=1) coutk;if(k=1)pp.save();pp.clear();k=0;break; 七、系統(tǒng)設計、開發(fā)過程中遇到的問題及創(chuàng)新點本程序基本完成了題目要求的功能。但是由于顯示的限制,所羅列的學生成 績只給出了數(shù)學,英語,計算機的成績。程序可通過改進,增加科目數(shù)。程序在 顯示學生信息時輸入過于繁雜,不夠清晰明朗,若顯示成類似表格的形式就好 了。解決辦法將輸出函數(shù)的輸出格式改一下,難點是計算輸出點的控制。至于創(chuàng)新, 就是在課題的選擇上, 我更加偏向于選擇自己感興趣的課題, 更加 注意程序的實用性通過這次課程設計,我學會了很多的知識,我通過自學相關的書籍,瀏覽網(wǎng)站,接觸了大量的編程知識,在編程過程中逐漸提升自己的自學能力,

溫馨提示

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

評論

0/150

提交評論