




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、#include<iostream.h>#include<fstream.h>#include<stdlib.h>#include<string.h>#include<stdio.h>class Person public:char name8;class student:public Person /構建學生類public:friend void Manage(student stud) ;friend void Input(student stud) ;friend void Statistic(student stud);fri
2、end void Lookup(student stud) ;friend void Modify(student stud) ;friend void Output(student stud) ;friend void Insert(student stud) ;friend void Write(student stud,int n); friend int Read(student stud);private:int num;char name8;char class_020;float c_program;float english;float math;float average;i
3、nt order;stud100;class Manage:public student;void Write(student stud,int n) /向文件中寫入數(shù)據(jù)fstream myFile;myFile.open("score.txt",ios:out|ios:binary);if(!myFile)cout<<"score.txt can't open!"<<endl;abort();int count=n;myFile<<count<<endl<<endl;for(int i
4、=0;i<=count;i+)myFile<<studi.class_0<<" "<<studi.num<<" "<<<<" "<<studi.c_program<<" "<<studi.english<<" "<<studi.math<<" "<<studi.average<<end
5、l; myFile.close();int Read(student stud) /從文件中讀數(shù)據(jù) fstream myFile; myFile.open("score.txt",ios:in|ios:binary); if(!myFile)cout<<"score.txt can't open!"<<endl;abort(); int count; myFile.seekg(0); myFile>>count; for(int i=0;i<=count;i+) myFile>>studi.c
6、lass_0>>studi.num>>>>studi.c_program>>studi.english>>studi.math >>studi.average; myFile.close(); return count ;void Input(student stud) /-輸入學生成績system("cls"); /*運行前清屏*/int i=0;int flag;char sign;cout<<endl<<">>>>>
7、;>>> 請輸入學生成績 <<<<<<<<n"<<endl;while(sign!='n'&&sign!='N') /*判斷*/ cout<<"班級:" /*交互輸入*/ cin>>studi.class_0; loop:cout<<"學號:" cin>>studi.num;int c=0;while(c<i)c+;if(studi.num=studi-c.num)c
8、out<<"你輸入的學號已經(jīng)存在!請重新輸入!"<<endl;goto loop;cout<<":" cin>>; do flag=0; cout<<"C+成績:" cin>>studi.c_program; if(studi.c_program>100 |studi.c_program<1) cout<<"請輸入1-100之間的數(shù)字!n" else flag=1;while(flag=0); dof
9、lag=0; cout<<"英語成績:" cin>>studi.english; if(studi.english>100 |studi.english<1) cout<<"請輸入1-100之間的數(shù)字!n" else flag=1;while(flag=0); doflag=0;cout<<"數(shù)學成績:" cin>>studi.math; if(studi.math>100 |studi.math<1) cout<<"請輸入1-1
10、00之間的數(shù)字!n" else flag=1;while(flag=0); studi.average=(studi.c_program+studi.english+studi.math)/3; cout<<"平均分:"<<studi.average<<endl; cout<<"繼續(xù)錄入學生成績?(y/n)" cin>>sign; /*輸入判斷*/ i+; Write(stud,i);void Statistic(student stud) /-統(tǒng)計學生數(shù)據(jù) system("
11、cls"); /*運行前清屏*/ int n=Read(stud);cout<<endl<<">>>>>>>> 顯示學生成績 <<<<<<<<n"<<endl; cout<<"班級"<<"t "<<"學號"<<"t "<<" "<<"t "<
12、;<" 平均分"<<endl;for(int i=0;i<n;i+)cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t "<<studi.average<<endl; system("pause"); void Lookup(student stud) /-查找學生成績 int p; cout<<&quo
13、t;請選擇1.按學號查找 2.按查找"<<endl;cin>>p;if(p=1) system("cls"); /*運行前清屏*/ int n=Read(stud);int s; int i=0;cout<<endl<<">>>>>>>> 查找學生成績 <<<<<<<<n"<<endl;cout<<"請輸入查找學生的學號:"<<endl; cin&
14、gt;>s; while(studi.num-s)!=0&&i<n) i+; /*查找判斷*/ if(i=n) cout<<"沒有該學生的信息!"<<endl; /*輸入失敗信息*/ elsecout<<"-"<<endl; cout<<"班級:"<<studi.class_0<<endl; /*輸出該學生信息*/ cout<<"學號:"<<studi.num<<end
15、l; cout<<":"<<<<endl; cout<<"C+:"<<studi.c_program<<endl; cout<<"英語:"<<studi.english<<endl; cout<<"數(shù)學:"<<studi.math<<endl; cout<<"平均分:"<<studi.average<&l
16、t;endl;if(p=2)system("cls"); /*運行前清屏*/ int m=Read(stud);char t; int i=0;cout<<endl<<">>>>>>>> 查找學生成績 <<<<<<<<n"<<endl;cout<<"請輸入查找學生的:"<<endl; cin>>t; while(strcmp(-t,studi.nam
17、e)=0&&i<m) i+; /*查找判斷*/ cout<<"-"<<endl; cout<<"班級:"<<studi.class_0<<endl; /*輸出該學生信息*/ cout<<"學號:"<<studi.num<<endl; cout<<":"<<<<endl; cout<<"C+:"<<st
18、udi.c_program<<endl; cout<<"英語:"<<studi.english<<endl; cout<<"數(shù)學:"<<studi.math<<endl; cout<<"平均分:"<<studi.average<<endl;void Modify(student stud) /-修改學生成績 system("cls"); /*運行前清屏*/ int n=Read(stud);int
19、 s,a; float q;int i=0;cout<<endl<<">>>>>>>> 修改學生成績 <<<<<<<<n"<<endl;cout<<"輸入修改成績學生的學號:"<<endl; cin>>s; while(studi.num-s)!=0&&i<n) i+; /*查找判斷*/ if(i=n) cout<<"沒有該學生的成績!"
20、;<<endl; /*輸入失敗信息*/ elsecout<<"-該學生的信息-n"<<endl; /*格式頭*/ cout<<"班級"<<"t"<<"學號 "<<"t"<<""<<"t"<<"c+"<<"t"<<"英語"<<"t&qu
21、ot;<<"數(shù)學"<<"t"<<"平均分"<<endl;cout<<"-"<<endl; cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.c_program<<"t"<<stud
22、i.english<<"t"<<studi.math<<"t"<<studi.average<<endl;cout<<"-"<<endl;cout<<"請輸入要修改的課程號"<<endl;cout<<"1.c語言 2.英語 3.數(shù)學"<<endl;cin>>a;cout<<"重新輸入分數(shù)"<<endl;cin&
23、gt;>q;if(a=1) studi.c_program=q;if(a=2)studi.english=q;if(a=3)studi.math=q; studi.average=(studi.c_program+studi.english+studi.math)/3; cout<<"-該學生的信息-n"<<endl; /*格式頭*/ cout<<"班級"<<"t"<<"學號 "<<"t"<<"&
24、quot;<<"t"<<"c+"<<"t"<<"英語"<<"t"<<"數(shù)學"<<"t"<<"平均分"<<endl;cout<<"-"<<endl; cout<<studi.class_0<<"t"<<studi.num<<
25、;"t"<<<<"t"<<studi.c_program<<"t"<<studi.english<<"t"<<studi.math<<"t"<<studi.average<<endl; char c; cout<<"是否保存數(shù)據(jù)?(y/n)"<<endl; cin>>c; if(c!='n
26、9;&&c!='N') Write(stud,n);void Insert(student stud) /-增加學生成績 system("cls"); /*運行前清屏*/int n=Read(stud);char s;cout<<endl<<"* 插入學生成績*n"<<endl;while(s!='n'&&s!='N')cout<<"班級:"<<endl; /*交互輸入*/ cin>>
27、studn.class_0; cout<<"學號:" cin>>studn.num; cout<<":" cin>>; cout<<"C+成績:" cin>>studn.c_program; cout<<"英語成績:" cin>>studn.english; cout<<"數(shù)學成績:" cin>>studn.math; studn.average=(stud
28、n.c_program+studn.english+ studn.math)/3; cout<<"平均分"<<studn.average;n+; cout<<"插入成功!"<<endl; /*返回成功信息*/cout<<"是否繼續(xù)輸入(y/n)"<<endl;cin>>s;Write(stud,n); void Manage(student stud) /-按平均分對學生成績記錄項進行降序排序 system("cls"); /*運行
29、前清屏*/ int i,j,k; float s; char t20;cout<<endl<<"* 排列管理成績 *n"<<endl;int n=Read(stud);for(i=0;i<n-1;i+) /*冒泡法排序*/ for(j=0;j<n-1-i;j+) if(studj.average<studj+1.average) strcpy(t,studj+1.class_0); strcpy(studj+1.class_0,studj.class_0); strcpy(studj.class_0,t); k=stud
30、j+1.num; studj+1.num=studj.num; studj.num=k; strcpy(t,studj+1.name); strcpy(studj+1.name,); strcpy(,t); s=studj+1.c_program; studj+1.c_program=studj.c_program; studj.c_program=s; s=studj+1.english; studj+1.english=studj.english; studj.english=s; s=studj+1.math; studj+1.math=studj
31、.math; s=studj+1.average; studj+1.average=studj.average; studj.average=s; cout<<"-"<<endl; /*格式頭*/ cout<<"班級"<<"t "<<"學號"<<"t "<<""<<"t"<<"C+"<<"t"<
32、;<"英語"<<"t"<<"數(shù)學"<<"t"<<"平均分"<<"t"<<"名次"<<endl; for(i=0;i<n;i+) /*循環(huán)輸入*/ studi.order=i+1;cout<<studi.class_0<<"t"<<studi.num<<"t"<<s
33、<<"t"<<studi.c_program<<"t"<<studi.english<<"t"<<studi.math<<"t"<<studi.average<<"t "<<studi.order<<endl; Write(stud,n);void Output(student stud) /-顯示全部學生成績 system("cls&q
34、uot;); /*運行前清屏*/int n=Read(stud);cout<<"* 顯示班級學生成績 *n"<<endl;if(!stud)cout<<"沒有記錄" elsecout<<"-"<<endl; /*格式頭*/ cout<<"班級"<<"t "<<"學號"<<"t "<<""<<"t&
35、quot;<<"c+"<<"t"<<"英語"<<"t"<<"數(shù)學"<<"t"<<"平均分"<<endl;for(int i=0;i<n;i+) /*循環(huán)輸入*/ cout<<studi.class_0<<"t"<<studi.num<<"t"<<studi.
36、name<<"t"<<studi.c_program<<"t "<<studi.english<<"t " <<studi.math<<"t"<<studi.average<<endl; cout<<"-"<<endl; int menu() /*菜單函數(shù)*/ char c; do system("cls"); /*運行前清屏*/ cout<<"*n"<<endl; cout<<" -歡送使用學生成績管理系統(tǒng)-n"<<endl; cout<<" $"<<endl; cout<<" * 【1】輸入學生成績 * "<<endl; cout<<" * 【2】顯示學生成績 * "<<endl; cout<<" * 【3】查找學生成績 * "<<end
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新型辦公室與區(qū)塊鏈技術的融合
- 2024年機械工程師資格證書考試傳動機構試題及答案
- 2025年中國底電壓反光杯燈數(shù)據(jù)監(jiān)測研究報告
- 商務禮儀師考試參考書目試題及答案
- 2024年質量工程師考試指導原則試題及答案
- 商務禮儀師職責與職責劃分試題及答案
- 2025年中國小車拉緊器鐵鉤市場調查研究報告
- 常見失誤質量工程師試題及答案
- 17記金華的雙龍洞(教學設計)-2023-2024學年語文四年級下冊統(tǒng)編版
- 2025年中國室內花盆數(shù)據(jù)監(jiān)測報告
- 環(huán)境監(jiān)測儀器安裝施工方案(更新版)
- 無人機故障應急預案
- 工程設備安裝及調試、運行方案
- 農(nóng)行運營主管競聘報告
- (招標投標)地形圖測繪技術標書OK
- 人保查勘服務流程
- 機械加工工藝過程培訓課件
- 少數(shù)民族怒族民俗文化科普介紹教學課件
- 浙江省鋼結構DBJ33/T12752022
- 人工智能引論智慧樹知到課后章節(jié)答案2023年下浙江大學
- 50205-2020-鋼結構工程施工質量驗收標準
評論
0/150
提交評論