


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課程名稱:c +面向對象程序設計課程設計題目:大學生學籍管理系統目錄:系統設計目標、意義、系統設計思路三、系統功能介紹四、輸入輸出的設計(1)界面的設計(2)數據輸出設計(3)系統運行結果五、詳細設計(1)系統功能結構圖(2)UML六、附錄七、系統設計、開發過程中遇到的問題八、心得體會學生學籍管理系統-、系統設計目標、意義(一)系統實現的目標1、課程設計的任務:制作一個小型的學生學籍管理系統,要求制作一個菜單,實現數據的錄入, 數據的顯示,數據查找,數據的刪除,數據的保存,數據的統計,數據的修 改,系統的退出。系統的設計要求用到C+面向對象的程序設計,要求用到類來實現,同時每一個功能用到一個函
2、數。2、(1)基本功能: 學生基本信息(編號,姓名,性別,籍貫,民族,生日,政治面貌,省份 證,數學成績,英語成績,計算機成績)成績統計(各科總成績,各科平均成績,各科的及格率)(2)擴展功能:學生數據的添加、修改、與刪除學生數據的讀取與存儲3 、系統特點: 系統要能夠對相應的數據進行很好的測試,系統的統計對每一科的總成績, 平均成績,及格律都進行了統計;系統數據的錄入 除可以手工錄入外,還可 以采用文件的錄入;系統統計學生的基本信息較全面,包括學號,姓名,民 族,政治面貌,身份證號,生日,性別,數學、英語、計算機的成績;程序 中查找運用了兩種查找方式即學號查找和姓名查找。(二)系統設計的意義
3、 通過設計此項程序,能夠對學生的學籍進行統一的管理,對學生的學籍進行錄入、修改、保存等功能進行處理,從而能夠較快地對信息進行處理,系統數據 的錄入 除可以手工錄入外,還可以采用文件的錄入;系統統計學生的基本信息較全面,程序中查找運用了兩種查找方式即學號查找和姓名查找,方便查詢。二、系統設計思路 第一步:分析題目,建立類并派生出它的子類,畫出類圖。 第二步:畫出流程,根據流程圖編寫程序清單 第三步:上機調試程序(使用單步調試,設置斷點、分塊調試的方法)。 第四步:及時整理資料,撰寫課程設計報告中有關這個題目的內容。三、系統功能介紹(一)程序對學生學籍的數據處理要求 能夠輸入并瀏覽學生的基本信息;
4、 能夠實現對學生信息的查詢和修改; 能夠對成績進行統計; 能夠對學生的信息進行保存;(二)系統功能: 資料維護:系統維護包括對各學生信息和成績的錄入操作。 資料維護:對數據表中的信息進行瀏覽。系統查詢:可以對不同科目的總成績、不及率、各科平均成績相關信息四、輸入輸出的設計1界面的設計、界面設計程序運行后會出現一個簡捷的窗口,便于用戶查詢數據。、功能設計通過主窗體調用其他窗體,具體實現可以參照系統分析相關內容。應 用系統主控界面包括學生信息錄入,查找等功能模塊。學生信息錄入功能 完成學生信息和成績的輸入。記錄查詢功能可以對數據各分類的記錄進行 查詢。2. 數據輸出設計主要運行界面:統計界面:查找
5、界面:顯示界面:錄入界面:保存界面:修改界面:刪除界面:3、系統運行的結果:(僅部分)五、詳細設計1、系統功能結構圖:成績,英語成績,計算機成績(2)類:school成員函數:錄入函數Input():輸入編號到計算機的成績;統計函數count():統計各科的總成績,計算平均成績,統計各科的及格率;查詢函數found():按學號或姓名查找學生的記錄;修改函數mend():修改指定學號學生成績記錄;刪除函數del():刪除指定學號學生記錄;輸出函數show():輸出班級所有學生成績記錄;UML圖: int e=1;cout<<"ttt 按提示輸入 :"<<
6、;endl;cout<<"tt 輸入編號 : "cin>>number;cout<<"tt 輸入姓名 : "cin>>name;docout<<"tt 輸入性別 : "cin>>sex;if(strcmp(sex," 男")=0 | strcmp(sex," 女 ")=0) cout<<"tt 輸入籍貫 : "cin>>place; cout<<"tt 輸入民
7、族 : "cin>>nation; cout<<"tt 輸入生日 : "cin>>birth; cout<<"tt 輸入政治面貌 : "cin>>party; cout<<"tt 輸入身份證號 : "cin>>id; cout<<"tt 輸入數學分數 : "cin>>score0; cout<<"tt 輸入英語分數 : "cin>>score1;cout&
8、lt;<"tt 輸入計算機分數 : "cin>>score2;e=0;elsecout<<"ttt 無此類型性別 ! 重新輸入 !"<<endl;e=1; while(e);return ;void input(ifstream & is) is>>number>>name>>sex>>place>>nation>>birth>>party>>id>>score0>>score1>
9、>score2;is.get(); void output()cout<<" 學生基本信息如下 :"<<endl;cout<<" 編號 :"<<number<<" 姓名 :"<<name<<" 性別 :"<<sex <<" 籍貫 :"<<place<<" 民族 :"<<nation<<" 生日 :"
10、;<<birth<<" 政治面貌 :"<<party<<endl<<" 身份證號 :"<<id<<" 數學 :"<<score0<<" 英語 :"<<score1<<" 計算機 :"<<score2<<" 總分 :"<<getg()<<endl<<endl;void output(ofs
11、tream & os) os<<setw(6)<<number <<setw(15)<<name<<setw(20)<<place <<setw(6)<<nation<<setw(20)<<birth<<setw(20)<<party <<setw(20)<<id<<setw(6)<<score0<<setw(6)<<score1<<setw(6)<<
12、;score2<<endl;/ 操縱符指定寬度class schoolpublic:school() head=new student; head->next=NULL; key=0; school() delete head; 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 ma
13、inmenu();int getkey() return key;void setkey(int k) key=k; private:student *head; int key;/錄入函數void school:input()student *p,*p2=NULL;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);cout<<"
14、;ttt 按 1 繼續 ,按 0 返回 : " cin>>n; /子查找函數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; p=p->next;return 0; /查找函數void school:found() student *p;int n um=-1,
15、 n=9; char n ame20="A"docout<<"tt1: 按編號查找 ,2:按姓名查找 : "cin>>n;while(n<1|n>2);if(n=1) cout<<"ttt 輸入編號 : "cin>>num;if(n=2) cout<<"ttt 輸入姓名 : "cin>>name; if(!find(&p,num,name) ) cout<<"tt 找不到你要查找的內容 !"&
16、lt;<endl;return;(p->next)->output();/刪除函數void school:del() student *p,*p2; int num;cout<<"ttt 輸入編號 : " cin>>num;if( !find(&p, num,"") cout<<"tt 找不到你要刪除的內容 !"<<endl; return;(p->next)->output(); p2=p->next; p->next=p2->n
17、ext;delete p2;school:setkey(1); void school:show() /顯示函數 student *p; p=head;while(p->next) (p->next)->output();p=p->next;/修改函數void school:mend() student *p; int num=-1,n;char n ame20="A"do cout<<"tt1: 按編號修改 ,2:按姓名修改 : " cin>>n;while(n<1|n>2);if(n=1)
18、cout<<"ttt 輸入編號 : "cin>>num;if(n=2)cout<<"ttt 輸入姓名 : "cin>>name;if( !find(&p,num,name) ) cout<<"tt 找不到你要修改的內容 !"<<endl; return;(p->next)->output(); (p->next)->input(); school:setkey(1);void school:save() / 保存函數 student
19、 *p; p=head;ofstream os("student.txt",ios:out);if (school:getkey()=1) while(p->next) (p->next)->output(os); p=p->next; cout<<"ttt 文件已保存 ! "<<endl; school:setkey(0);void school:begin()/ 初始化函數 student *p,*p2; p=head; clear(); long t;ifstream is("student
20、.txt",ios:in);if(!is) ofstream os("student.txt",ios:out); os.close();return ;int num=-1; while(1) num=-1; t=is.tellg(); is>>num;is.seekg(t); if(num<0) is.close(); return;p2=new student; p2->input(is);p->next=p2; p2->next=NULL; p=p->next; void school:clear()/ 清空函數
21、student *p,*p2;p=head->next; while( p )p2=p; p=p->next;delete p2;void school:count()/ 統計函數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;i<3;i+) gi=gi+( p->getscore(i) );(p->getscore(i) )>=60.0? ji+ : 0 ;cout<<"t
22、tbbbb 數學總分 :"<<g0<<" 平均分 :"<<g0/n<<" 及格率 :"<<j0/n<<endl<<"ttbbbb 英語總分 :"<<g1<<" 平均分 :"<<g1/n<<" 及格率 :"<<j1/n<<endl<<"ttbbbb 計算機總分 : "<<g2<<
23、" 平均分 : "<<g2/n<<" 及格率 :"<<j2/n<<endl;/主選菜單函數char school:mainmenu()char n6;cout<<"nn歡迎進入學籍管理系統"<<e ndl«e ndl<<"* * * * * * * * * * * * * * * * * * *"<<endl<<"* * * * * * * * * * * * * * * * * * *&
24、quot;<<endl<<"* *1:錄入學生信息* *"<<endl<<"* *2:顯示學生信息* *"<<endl<<"* *3:查找學生信息* *"<<endl<<"* *4:刪除學生信息* *"<<endl<<"* *5:修改學生信息* *"<<endl<<"* *6:統計學生成績* *"<<endl<<
25、;"* *7:保存學生信息* *"<<endl<<"* *0:退出系統* *"<<endl<<"* * * * * * * * * * * * * * * * * * *"<<endl<<"* * * * * * * * * * * * * * * * * * *"<<endl<<"請選擇 :"cin>>n; return n0;/主函數 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()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CIQA 48-2023低酸性罐藏和酸性罐藏食品商業無菌快速檢測實時光電法
- T/CIMA 0070-2023交流電能表用隧道磁阻電流傳感器
- T/CIMA 0047-2022綜合能源電力感知終端
- T/CIMA 0016-2020飲用水中銅綠假單胞菌檢測系統
- T/CIES 032-2023離網光伏路燈應用設計規范
- T/CHTS 10130-2024高韌超薄瀝青磨耗層技術指南
- T/CHINABICYCLE 19-2023可持續時尚企業指南自行車與電動自行車
- T/CHES 65-2022生態護坡預制混凝土裝配式護岸技術規程
- T/CFDCC 0203-2018實木定制家居產品
- T/CECS 10340-2023超高性能減水劑
- 醫保按病種分值付費(DIP)院內培訓
- 施工鋼結構制作安裝環境因素識別表
- 污水井巡查記錄表
- 2關于更換現場項目經理的函
- 部編版小學道德與法治四年級下冊期末復習簡答及分析題專練(含答案)
- 電子商務那些事學習通超星課后章節答案期末考試題庫2023年
- 環境及理化因素損傷-凍傷
- Unit7SeasonPartALetslearn(教學設計)閩教版英語四年級下冊
- 世界文化遺產武當山古建筑群的資料
- 醫院醫療設備采購項目HIS系統及硬件采購投標文件
- 【橡膠工藝】-橡膠產品生產工藝規程
評論
0/150
提交評論