




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課題2:高校學籍管理系統 (一)、課程設計題目:高校學籍管理系統(二)、目的與要求: 1、目的: (1)要求學生達到熟練掌握C+語言的基本知識和技能; (2)基本掌握面向對象程序設計的基本思路和方法; (3)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。 2、基本要求: (1)要求利用面向對象的方法以及C+的編程思想來完成系統的設計;(2)要求在設計的過程中,建立清晰的類層次; (3)在系統的設計中,至少要用到面向對象的一種機制。3、創新要求: 在基本要求達到后,可進行創新設計,如根據查找結果進行修改的功能。 4、寫出設計說明書 (三)、設計方法和基本原理: 1、問題描述(功能
2、要求): (1)能夠從屏幕上讀取一個學生的信息并將信息存入到數據文件中。(2)能夠將指定的信息從文件中刪除。(3)能夠按編號、姓名對學生的信息進行檢索并將檢索結果顯示在屏幕上。(4)可以統計全部學生的總成績,及其在班上的排名。(5)能夠統計各科的平均成績及及格率。(6)要求有錯誤提示功能,例如性別只能輸入男女,輸入錯誤提示重新輸入。(7)如果檢索不到相應的信息應提示用戶。(8)擴展要求:能先行設置本學期的科目 每個學生信息應該包括:姓名、學號、成績成績信息應該包括:科目數量、各科目名稱、各科目成績2、問題的解決方案: 根據系統功能要求,可以將問題解決分為以下步驟: (1)寫出需求分析(做什么)
3、;(2)分析系統中的各個實體之間的關系及其屬性和行為; (3)根據問題描述,設計系統的類層次; (4)完成類層次中各個類的描述(包括屬性和方法); (5)完成類中各個成員函數的定義; (6)用戶界面的設計; (7)分析系統功能模塊(系統流程圖);(8)代碼編寫,功能調試;(9)完成系統總結報告以及系統使用說明書。#include<iostream>#include <fstream>using namespace std;int di=0;int num=0;class xinxipublic:int number;char name20;char sex6;char
4、p10010;float fenshu10;float shuliang;float average;float sum;float aver;float jigelv;int i;virtual void Show()/顯示cout<<"學生學號:"<<number<<"n"<<"學生姓名:"<<name<<"n"<<"學生性別:"<<sex<<"n"<<
5、"學生科目數量 :"<<shuliang<<endl;for(int i=0;i<shuliang;i+)cout<<pi<<"的成績為:"<<fenshui<<endl;cout<<"總成績為:"<<sum<<endl;cout<<"平均成績為:"<<average<<endl;void Book(int n)cout<<"學生學號:"
6、; cin>>number;cout<<"學生姓名:" cin>>name;cout<<"學生性別:" cin>>sex;while(1)if(strcmp(sex,"男")=0|strcmp(sex,"女")=0)break;elsecout<<"輸入有誤,請重新輸入:"<<endl;cin>>sex;/*cout<<"請輸入本學期科目數量:" /通過數量確定課程ci
7、n>>shuliang; for(i=0;i<shuliang;i+)cout<<"請輸入科目"<<i+1<<"的名稱"<<endl;cin>>pi;cout<<"請輸入科目"<<i+1<<"的成績"<<endl;cin>>fenshui;*/while(1) /通過課程確定數量char a;int b;for(i=0,b=0;i+)cout<<"請輸入科目
8、"<<i+1<<"的名稱"<<endl;cin>>pi;cout<<"請輸入科目"<<i+1<<"的成績"<<endl;cin>>fenshui;b+;cout<<"是否繼續輸入?(Y/N)"<<endl;cin>>a;if(a='Y'|a='y')continue;elseshuliang=b;break;break;/*virt
9、ual void Save(fstream &f)/保存到文件f中f<<number<<" "<<name<<" "<<sex<<" "<<fenshu<<" "<<shuliang<<" "<<average<<" "<<sum<<endl;virtual void Load(fstream &
10、;f)/從文件f中導出數據f>>number>>name>>sex>>fenshu>>shuliang>>average>>sum;*/;xinxi d100;xinxi v100;/輸入學生信息void BookIn()while(1)cout<<"*"<<endl;cout<<"*"<<endl;cout<<"請輸入學生信息:"<<endl;ddi.Book(num+);di+
11、;for(int j=0;j<di;j+) /計算總成績和平均成績float s=0;for(int i=0;i<dj.shuliang;i+)s=s+dj.fenshui;dj.sum=s; dj.average=dj.sum/dj.shuliang;cout<<"是否繼續輸入:Y繼續、其他退出"<<endl;char x;cin>>x;if(x!='y' && x!='Y')break;/刪除學生信息void BookOut()int i;while(1)int c;cout
12、<<"*"<<endl;cout<<"*"<<endl;cout<<"請輸入您要刪除的學生學號:"<<endl;cin>>c;for(i=0;i<di;i+)if(c=di.number)di=d-di;cout<<"刪除成功!"<<endl;elsecout<<"輸入錯誤!"<<endl;system("PAUSE");cout<&
13、lt;"是否繼續刪除:Y繼續、其他退出"<<endl;char x;cin>>x;if(x!='y' && x!='Y')break;/學生信息查詢void Inquiry()while(1)cout<<"*"<<endl;cout<<"*"<<endl;cout<<"1、按學號查詢"<<endl;cout<<"2、按姓名查詢"<<
14、;endl;cout<<"請輸入您的選擇: ?"<<endl;int c;int test;cin>>c;if(c=1)cout<<"請選擇要查詢學號:"int a;cin>>a;for(int i=0;i<di;i+)if(a=di.number)test=1;break;elsetest=0;if(test=0)cout<<"沒有這個學生!"<<endl;system("PAUSE");else if(test=1)di.
15、Show();else if(c=2)char c10;cout<<"請選擇要查詢的姓名:"cin>>c;for(int i=0;i<di;i+)if(strcmp(c,)=0)test=1;break;elsetest=0;if(test=0)cout<<"沒有這個學生!"<<endl;system("PAUSE");else if(test=1)di.Show();else cout<<"輸入錯誤!"<<endl;sys
16、tem("PAUSE");cout<<"是否繼續查詢:Y繼續、其他退出"<<endl;char x;cin>>x;if(x!='y' && x!='Y')break;/顯示學籍信息void Display()for(int i=0;i<di;i+)di.Show();cout<<"n"<<endl;void Paixu()int i,k;int tempsum;char tempname10;for(i=0;i<di
17、;i+)strcpy(,);vi.sum=di.sum;for(i=0;i<di-1;i+) for(k=i+1;k<di;k+)if(vi.sum<vk.sum) strcpy(tempname,);strcpy(,);strcpy(,tempname);tempsum=vi.sum;vi.sum=vk.sum;vk.sum=tempsum;for(i=0;i<di;i+)cout<<"第"<<i+1<<"名:"
18、;<<<<" "<<"總成績:"<<vi.sum<<"分"<<endl;system("PAUSE");void Danke()for(int j=0;j<dj.shuliang;j+)float sum=0;for(int i=0;i<di;i+)sum=sum+di.fenshuj;vj.aver=sum/di;cout<<dj.pj<<"的平均分為:"<<v
19、j.aver<<endl;system("PAUSE");for(int m=0;m<dm.shuliang;m+)float k=0;for(int i=0;i<di;i+)if(di.fenshum>=60)k+;vm.jigelv=k/di;cout<<dm.pm<<"的及格率為:"<<vm.jigelv<<endl;system("PAUSE");/*void FileLoad() /信息讀取函數int i;fstream file;file.ope
20、n("mydata.dat", ios:in);/打開保存數據的文件if(!file)return;/文件不存在則直接返回file>>di;/讀入for(i=0;i<di;i+)di.Load(file);file.close();/文件關閉void FileSave()/信息保存函數int i;fstream file;file.open("mydata.dat", ios:out);/打開保存數據的文件file<<di<<endl;/記錄for(i=0;i<di;i+)/保存di.Save(file);file.close();/文件關閉cout<<"保存成功!"<<endl;*/主函數void main()while(1)cout<<"*高校學籍管理系統*"<<endl;cout<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年江蘇省淮安市高中學業水平合格性考試考前模擬歷史試題(含答案)
- 2024籃球裁判員考試的前沿知識及試題答案
- 2024年籃球裁判員考題匯集
- 農作物種子繁育員考試必看技巧與建議試題及答案
- 深入了解2024年體育經紀人試題及答案
- 專家解析農作物種子繁育員試題答案的趨勢
- 2024年體育經紀人考試必考試題及答案
- 模具設計師考試回顧試題及答案解析
- 2024農業植保員學習資源試題及答案
- 2024年3月北京市考公務員考試結構化面試真題試題試卷答案解析
- 建筑垃圾清運投標技術方案
- 高中地理氣候的分布規律試題及答案
- (新版)知識產權知識競賽考試題庫(含答案)
- 民宿合作協議
- (2025)全國交管12123學法減分測試題庫及答案(帶圖版)
- 籃球裁判員手冊
- 2025年開封文化藝術職業學院單招職業技能測試題庫及參考答案
- 教師課題研究中的常見問題與解決策略
- 【滬教】期中模擬卷02【U1~U4】
- DB34-4239-2022 醫院保潔服務規范
- 2025年北師大版數學六年級下冊教學計劃(含進度表)
評論
0/150
提交評論