




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C+諄生成績管理系統(tǒng)源代碼作者:日期:12#include<iostream.h>.#include<fstream.h>#include<stdlib.h>#include<string.h>#include<stdio.h>class Person public:char name8;;class student:public Person 構(gòu)建學(xué)生類public:friend void Manage(student stud);friend void Input(student stud口);friend void Statis
2、tic(student stud);friend 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 m
3、ath;float average;int 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<
4、<endl;for(int i=0;i<=count;i+)myFile<<studi.class_0<<" "<<studi.num<<" "<<<<" "<<studi.c_program<< "<<studi.english<<" "<<studi.math<<" "<<studi.averag
5、e<<endl; 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(O);myFile>>count;for(int i=0;i<=count;i+) myFile>>
6、studi.class_0>>studi.num>>>>studi.c_program>>studi.english>>stu di.math >>studi.average;myFile.close();return count ;void Input(student stud) /輸入學(xué)生成績system("cls"); /* 運(yùn)行前清屏 */int i=0;int flag;char sign;cout<<endl<<">>>
7、>>>>> 請輸入學(xué)生成績<<<<<<<<n"<<endl;while(sign!='n'&&sign!='N') /* 判斷*/cout<<"班級:"/*交互輸入*/cin>>studi.class_0;loop:cout<<"學(xué)號:"; cin>>studi.num; int c=0;while(c<i)C+;if(studi.num=studi-c.
8、num)cout<<"你輸入的學(xué)號已經(jīng)存在!請重新輸入!"<<endl;goto loop;cout<<"姓名:";cin>>;doflag=0;cout<<"C+ 成績:";cin>>studi.c_program;if(studi.c_program>100 |studi.c_program<1)cout<<"請輸入1-100之間的數(shù)字!n"elseflag=1;while(flag=0);dof
9、lag=0;cout<<"英語成績:";cin>>studi.english;if(studi.english>100 |studi.english<1)cout<<"請輸入1-100之間的數(shù)字!n"elseflag=1;while(flag=0);doflag=0;cout<<"數(shù)學(xué)成績:"cin>>studi.math;if(studi.math>100 |studi.math<1)cout<<"請輸入1-100之間的數(shù)字!n
10、"elseflag=1;while(flag=0);studi.average=(studi.c_program+studi.english+studi.math)/3;cout<<"平均分:"<<studi.average<<endl;cout<<"繼續(xù)錄入學(xué)生成績?(y/n)"cin>>sign; /* 輸入判斷 */i+;Write(stud,i);)void Statistic(student stud) /統(tǒng)計(jì)學(xué)生數(shù)據(jù)(system("cls"); /*
11、運(yùn)行前清屏 */ int n=Read(stud);cout<<endl<<">>>>>>>> 顯示學(xué)生成績 <<<<<<<<n"<<endl;cout<<"班級"<<"t"<<"學(xué)號"<<"t"<<"姓名"<<"t"<<"平均分&q
12、uot;<<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) / 查找學(xué)生成績int p;cout<<"請選擇1.按學(xué)號查找2.按姓名查找
13、"<<endl;cin>>p;if(p=1)system("cls"); /* 運(yùn)行前清屏 */ int n=Read(stud);int s;int i=0;cout<<endl<<">>>>>>>> 查找學(xué)生成績 <<<<<<<<n"<<endl; cout<<"請輸入查找學(xué)生的學(xué)號 :"<<endl;cin>>s;while(st
14、udi.num-s)!=0&&i<n) i+; /* 查找判斷 */ if(i=n) cout<<"沒有該學(xué)生的信息!"<<endl; /*輸入失敗信息*/) else cout<<""<<endl;cout<<"班級:"<<studi.class_0<<endl;/* 輸出該學(xué)生信息 */ cout<<"學(xué)號:"<<studi.num<<endl;cout<<&
15、quot;姓名:"<<<<endl; cout<<"C+:"<<studi.c_program<<endl; cout<<"英語:"<<studi.english<<endl; cout<<"數(shù)學(xué):"<<studi.math<<endl;cout<<"平均分:"<<studi.average<<endl;) ) if(p
16、=2) system("cls"); /* 運(yùn)行前清屏 */int m=Read(stud);char t;int i=0;cout<<endl<<">>>>>>>>查找學(xué)生成績<<<<<<<<n"<<endl;cout<<"請輸入查找學(xué)生的姓名:"<<endl;cin>>t;while(strcmp(-t,)=0&&am
17、p;i<m) i+; /* 查找判斷 */cout<<""<<endl;cout<<"班級:"<<studi.class_0<<endl;/* 輸出該學(xué)生信息 */cout<<"學(xué)號:"<<studi.num<<endl;cout<<"姓名:"<<<<endl;cout<<"C+:"<<studi.c_program
18、<<endl;cout<<"英語:"<<studi.english<<endl;cout<<"數(shù)學(xué):"<<studi.math<<endl;cout<<"平均分:"<<studi.average<<endl;void Modify(student stud) /修改學(xué)生成績system("cls"); /* 運(yùn)行前清屏 */ int n=Read(stud); int s,a; float q;
19、int i=0;cout<<endl<<">>>>>>>>修改學(xué)生成績<<<<<<<<n"<<endl;cout<<"輸入修改成績學(xué)生的學(xué)號:"<<endl;cin>>s;while(studi.num-s)!=0&&i<n) i+; /*查找判斷 */if(i=n) cout<<"沒有該學(xué)生的成績!"<<endl;/*輸入
20、失敗信息*/else cout<<"該學(xué)生白信息n"<<endl; /*格式頭*/cout<<"班級"<<"t"<<"學(xué)號 "<<"t"<<"姓名"<<"t"<<"c+"<<"t"<<" 英語"<<"t"<<"數(shù)學(xué)
21、"<<"t"<<"平均分"<<endl;cout<<""<<endl;cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.c_program<<"t"<<studi.english<<&quo
22、t;t"<<studi.math<<"t"<<studi.average<<endl;cout<<""<<endl;cout<<"請輸入要修改的課程號"<<endl;cout<<"1.c 語言 2.英語 3.數(shù)學(xué)"<<endl;cin>>a;cout<<"重新輸入分?jǐn)?shù)"<<endl;cin>>q;if(a=1) stud
23、i.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<<"該學(xué)生白信息n"<<endl; /*格式頭*/cout<<"班級"<<"t"<<"學(xué)號 "<<"t"<<"姓名"<<"t&quo
24、t;<<"c+"<<"t"<<" 英語 "<<"t"<<"數(shù)學(xué)"<<"t"<<"平均分"<<endl;cout<<""<<endl;cout<<studi.class_0<<"t"<<studi.num<<"t"<<st
25、<<"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'&&c!='N')
26、Write(stud,n);void Insert(student stud) /-增加學(xué)生成績system("cls"); /* 運(yùn)行前清屏 */int n=Read(stud);char s;cout<<endl<<"* 插入學(xué)生成績 *n"<<endl;while(s!='n'&&s!='N')cout<<"班級:"<<endl; /* 交互輸入 */cin>>studn.class_0;cout<<
27、;"學(xué)號:";cin>>studn.num;cout<<"姓名:";cin>>;cout<<"C+ 成績:";cin>>studn.c_program;cout<<"英語成績:"cin>>studn.english;cout<<"數(shù)學(xué)成績:"cin>>studn.math;studn.average=(studn.c_program+studn.english+ stu
28、dn.math)/3;cout<<"平均分"<<studn.average;n+;cout<<"插入成功! "<<endl;/*返回成功信息*/cout<<"是否繼續(xù)輸入(y/n)"<<endl;cin>>s; Write(stud,n); void Manage(student stud口) 按平均分對學(xué)生成績記錄項(xiàng)進(jìn)行降序排序system("cls"); /* 運(yùn)行前清屏 */int i,j,k; float s; char t
29、20;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=studj+1.num;studj+1.num=studj.num;studj.n
30、um=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.math;s=studj+1.average;studj+1.average=studj.aver
31、age;studj.average=s;)cout<<""<<endl; /* 格式頭 */cout<<"班級"<<"t"<<"學(xué)號"<<"t"<<"姓名"<<"t"<<"C+”<<"t"<<" 英語"<<"t"<<"數(shù)學(xué)&
32、quot;<<"t"<<"平均分"<<"t"<<"名次"<<endl;for(i=0;i<n;i+) /* 循環(huán)輸入 */(studi.order=i+1;cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.c_program<
33、;<'t"<<studi.english<<"t"<<studi.math<<"t"<<studi.average<<"t"<<studi.order<<endl;)Write(stud,n);)void Output(student stud) / 顯示全部學(xué)生成績(system("cls"); /* 運(yùn)行前清屏 */int n=Read(stud);cout<<"I*顯示
34、班級學(xué)生成績*n"<<endl;if(!stud)cout<<"沒有記錄"else cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.c_program<<"t "<<studi.english<<"t " <<studi.math&
35、lt;<"t"<<studi.average<<endl;(cout<<"cout<<"班級"<<"t"<<"學(xué)號"<<"t"<<"t"<<"數(shù)學(xué)"<<"t"<<"平均分"<<endl;for(int i=0;i<n;i+) /* 循環(huán)輸入 */(&qu
36、ot;<<endl; /*格式頭 */"<<"姓名"<<"t"<<"c+"<<"t"<<"英語)cout<<""<<endl;)int menu() /* 菜單函數(shù) */(char c;dosystem("cls"); /* 運(yùn)行前清屏 */cout<<"*n"<<endl;cout<<"歡迎使用學(xué)生成績管理系統(tǒng) n"<<endl;cout<<" $"<<endl;cout<<" *【1】輸入學(xué)生成績"<<endl;cout<<"*顯示學(xué)生成績*"<<end
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024基于大數(shù)據(jù)的智能漏洞掃描程序開發(fā)技術(shù)規(guī)范
- 價(jià)值鏈分析與優(yōu)化計(jì)劃
- 非營利組織的募捐計(jì)劃與活動
- 優(yōu)化采購流程的工作計(jì)劃
- 跨界融合-AI技術(shù)在各行業(yè)的創(chuàng)新應(yīng)用與挑戰(zhàn)
- 跨界合作下的項(xiàng)目管理與協(xié)同經(jīng)驗(yàn)分享
- 跨界融合下的設(shè)計(jì)思維與創(chuàng)新探索
- 高效辦公環(huán)境下的體育競賽組織與管理技巧
- 質(zhì)量管理在產(chǎn)品生命周期中的角色
- 足球訓(xùn)練基地布局與設(shè)施規(guī)劃
- 煙霧報(bào)警器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 一寸光陰一寸金課件
- 金屬非金屬地下礦山安全生產(chǎn)技術(shù)課件
- 高中課程表模板1
- 兒童抑郁量表CDI
- 財(cái)務(wù)會計(jì)ppt課件(完整版)
- 水是生命之源幻燈
- 采場頂板(幫壁)分級管理制度
- 瀝青路面車轍病害及抗車轍劑解決方案
- 金屬風(fēng)管支架重量計(jì)算表
- 從業(yè)務(wù)骨干到管理者(課堂PPT)
評論
0/150
提交評論